The common definition of the Definition of Done in agile software development is (mostly from the Scrum Alliance and other official Scrum sites):
- A simple list of activities (coding, comments, unit testing, integration, release notes, design documents, etc.) that add verifiable and demonstrable value to the product.
- Very simple definition of done can be encapsulated as follows: Code Complete, Test Complete, Approved by Product Owner.
- Done means coded to standards, reviewed, implemented with unit Test-Driven Development (TDD), tested with 100 percent test automation, integrated and documented.
And many more.
These Measures have Little meaning to the Decision Makers
The Agile Definition of Done is a coders view of the project. When those paying for the work ask are you Done? Or better yet when will you be Done? and the coders answer we've run all our Unit Tests we've deployed to Pre-Prod or even we've deployed to Prod, that has very little meaning for the business.
What is of meaning of Done to the business is simple...
- Does the code produce the Planned Capabilities that were paid for?
- Do those capabilities meet the Measures of Effectiveness needed to accomplish the mission of the system in operational units of success closely related to the achievements of the mission or operational objectives evaluated in the operational environment, under a specific set of conditions?
- These are stated in units meaningful to the buyer, focused on capabilities independent of any technical implementation, Are connected to the mission success.
- Do those capabilities meet the Measures of Performance that characterize physical or functional attributes relating to the system operation, measured or estimated under specific conditions?
- These are attributes to assure the system has the capability and capacity to perform.
- They are an assessment that assures it will meet the design requirements to satisfy the Measures of Effectiveness.
- Are the Key Performance Parameters known that represent the capabilities and characteristics so significant that failure to meet them can be a cause of reevaluation, reassessing, or termination of the project?
- Do these Key Performance Parameters have a threshold or objective value?
- Do they characterize the major drivers of performance?
- Are they considered Critical to Customer?
- Are the Technical Performance Measures stated in units that can determine how well the systems or system element is satisfying or expected to satisfy a technical requirement or goal?
- The Technical Performance Measures assess design progress, define compliance to performance requirements, identify risk, are limited to the critical thresholds, and include projects performance.
Here's how these are related
These are the Definitions of Done.
Long ago, I had the unfortunate experience of being assigned the role of Maintenance Officer for our aircraft. I was not trained nor had experience running the maintenance shop. When the commanding officer came and asked Mr. Alleman when will this aircraft be ready for a mission? My answer was a detailed explanation of all the work that was being performed to get ready? That wasn't my question son was his response. When will we fly? You're confusing Effort with Results. He turned on his heel and walked away. I never forget that traumatic experience.
Never confuse effort with results
The Definition of Done MUST be in actionable units of measure meaningful to the decision makers.