July 2, 2015

Definition of Done : Why it matters?

The Definition of Done is crucial to highly functioning Agile Teams in order to help them develop practices and behaviors that drive quality, consi...

Acceptance Criteria -vs- Definition of Done.jpg

One of the first things we recommend new Agile teams establish is what’s called the “Definition of Done”.  The DoD is crucial to highly functioning Agile Teams in helping them develop practices and behavior that drive quality, consistency and transparency.

Why it matters

A useful product has two key aspects. Features in this product are not only useful to users but are also usable, in other words, features actually work. The product owner and stakeholders help the delivery team understand the “right thing” to be developed and the delivery team uses their development expertise to build it the “right way”. Both these dimensions are crucial for any product development.



Right-Thing, Right-Way:These are features that are desired by your end-users and they work the way they are supposed to. These features are conceptually coherent with the product, and also built the right way, such that they are stable and do not cause technical instability in the product.


Right-Thing, Wrong-Way: These are features that are desired by the users and they use these features. However, since these are not built the “right way” they do not function the way these are supposed to. When features are not tested they fail to perform their utility. When features are implemented without cognisance to end-user context and behavior, or when the team developing the features lacks *competence* and discipline, we create products that are buggy. These issues hamper the ability for end-users to get their job done and leads to waste and higher costs. As one executive, so aptly pondered out loud “Why is it that we never have time to do it right! but have time to do it again?”.


Wrong-Thing, Right-Way: These are the features that your end-users do not know exist. They may have been built the “right way” but then these features are not discovered and not used. These are ghost features that are silently increasing product engineering complexity. In Extreme Programming, the prioritization principle of YAGNI (You ain’t gonna need it) is intended to counter unfettered stakeholder desires and implement only features that are needed, now!. Deferring commitment for features is a good strategy since we all know, unlike tomatoes we don’t sell software by the pound.



Wrong-Thing, Wrong-Way: Wrong features built the wrong way are cancerous cells that eat up developmental capacity since these cause issues with well functioning parts of the product. This causes erosion of development capacity for the team as the team gets sucked into bug fixes only to discover that issue stems from an area of the product that no one uses. These features erode team morale. Lack of team discipline has lead to accumulation of technical debt and feature creep creating an untenable situation. Such legacy areas in a product are universally feared.


The Definition of Done (DoD) expresses the “right way”, a checklist that asserts quality of the product and the workmanship of the delivery team. Acceptance criteria accompanying a User Story, or a feature requirement represent the “right thing”. Getting both these aspects of product development right are important for sustainable and continual product growth. It requires collaboration, trust and feedback with and amongst the delivery team(s), product owner and stakeholders.

 

 

Image of dhavalpanchal

Dhaval Panchal

Dhaval Panchal is a Certified Enterprise Coach (CEC), Certified Scrum Trainer (CST) and Innovation Games Facilitator. Dhaval brings results oriented, people centric perspective while training and coaching. He is often described as creative simplifier who is able to navigate through variety of challenging contexts. Dhaval is a frequent presenter at international conferences.
Image of rdolman

Richard Dolman

Agile pragmatist, evangelist, coach, trainer, practitioner, explorer and learner…
blog comments powered by Disqus
Image of dhavalpanchal

Dhaval Panchal

Dhaval Panchal is a Certified Enterprise Coach (CEC), Certified Scrum Trainer (CST) and Innovation Games Facilitator. Dhaval brings results oriented, people centric perspective while training and coaching. He is often described as creative simplifier who is able to navigate through variety of challenging contexts. Dhaval is a frequent presenter at international conferences.
Image of rdolman

Richard Dolman

Agile pragmatist, evangelist, coach, trainer, practitioner, explorer and learner…

Latest Posts

Manage flow, not people!

Flow is King. Agility is a side-effect.

Image of mikefreislich

Mike Freislich

Double Down on Scrum Fundamentals: Help Remote Teams Thrive

Teams have moved to remote work: the great news for Scrum teams is that you already have the building blocks in place allowing you to succeed

Image of daniellynn

Daniel Lynn

Agile Coach
Image of davesharrock

Dave Sharrock

Agile coach passionate about getting things done; helping teams exceed expectations, delivering organizational excellence, and all while having fun doing what they do.
Image of barbara.schultz

Barbara Schultz

Complexity, Chaos, and COVID-19

Applying Cynefin & Complexity Thinking to navigate the COVID-19 crisis: a panel webinar recorded on April 2, 2020

Image of davesharrock

Dave Sharrock

Agile coach passionate about getting things done; helping teams exceed expectations, delivering organizational excellence, and all while having fun doing what they do.

Like a breath of fresh air...

Boost your Easter weekend with Carrington-Brown's Rap for agile42

Image of marion

Marion Eickmann

I am one of the founders and the executive director at agile42. I have supported strategic product development and leadership development for longer than 15 years. Since 2007 I have been realizing local and global agile projects with agile42's international team successfully. You like to talk about: ORGANIC agility, complexity, resilience, organizational culture & Agile? Just send an email :-)