agile42

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, consistency, and transparency.

On
2 July 2015
In
Scrum & XP, agile

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.

 

 

Subscribe to new blog posts

Did you find this article valuable? To be promptly noticed of new blog posts by agile42 you can subscribe to our notification system via email.

Discussion No comments yet. Be first to comment!

No comments yet.

(required)

(required)


(required)


(required)
Refresh captcha

 

Latest entries

Scrumtisch October 2017

Scrumtisch Berlin October 2017

 

Scrumtisch Berlin: August 22nd, 2017

August 2017 meeting of the Berlin Scrum User Group, facilitated by agile42 coaches Noel Viehmeyer and ...

 

Certified Agile Leadership comes to Vancouver

First part of the Scrum Alliance Certified Agile Leadership (CAL) program will be available in Vancouver ...

 

Survival Tricks for Remote Developers

Video and slides of the talk presented by Alessio Bragadini at PyCon 8 conference in Florence, ...

 

Sponsoring Agile Africa

agile42 sponsors Agile Africa 2017 in Johannesburg, 21-22 August