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

Niels Verdonk, new Certified Scrum Trainer in the Netherlands

Niels Verdonk has qualified as a Scrum Alliance Certified Scrum Trainer

Image of andreat

Andrea Tomasini

I am an Agile Coach and Trainer and I am helping customers all around the world to become more Agile. I am more and more keen on adopting adaptive emergent approaches to improve people's quality of life. Through an holistic and pragmatic approach - I consider Lean and Agile very powerful frameworks - it is possible to improve results, performance and also personal satisfaction.

Sponsoring Manage Agile 2017

agile42 is a sponsor of Manage Agile 2017 conference in Berlin for managers in agile companies

Image of marion

Marion Eickmann

I am one of the founders of agile42. Even though I am not an engineer I consider myself almost a "Techi" as I have been working in the field of software development for 10 years now.

Joanne Perold keynote at Regional Scrum Gathering 2017

Coach Joanne Perold presenting at SGZA17, the Regional Scrum Gathering South Africa 2017

Image of peterhundermark

Peter Hundermark

Peter has worked with iterative and incremental software development processes since 1999, focusing on Scrum and Agile practices since 2006. In 2007 he started Scrum Sense in South Africa. He has introduced Scrum into scores of development teams locally and in Brazil. He leads certified Scrum training classes in South Africa and elsewhere. He is a Certified Scrum Coach and Certified Scrum Trainer.

Scrumtisch January 2018

The Berlin Scrum User Group meets on January 24th at SAP in Rosenthaler Str.

Image of aballer

Alexandra Baller

agile42 Team Assistant

Coaching structures in Tampere

Martin von Weissenberg delivered a presentation about Coaching Cards and the agile42 Coaching Structure at Tampere Goes Agile 2017

Image of mvonweis

Martin von Weissenberg

Martin helps people understand agile and lean thinking and coaches teams and organizations in the use of agile methods and practices. He is a Scrum Alliance Certified Enterprise Coach (CEC) and is working on a PhD on how to manage and organize for agility.