The Definition of Done


In our experience, the "definition of done" has been a contentious and political focal point for many embedded projects. 

Let me back step first, to describe the context of when and why the "definition of done" is used. 

In scrum textbook form, the "definition of done" is used within a backlog story or task to define the measurable gating criteria of when a task is complete.
 
If the story or task does not address the "definition of done", it cannot be marked as complete and its effect on the expected project burndown will cause it to stall. 

The entity that performs the task of qualifying the completeness is typically a qualified resource, other than the developer that produced the IP, like a test team. 

What often happens, to save face and to look good to stake holders, is to redefine the "definition of done" where tasks are marked as completed at the end of the sprint cycle so that the burndown chart can show the expected positive progress to stake holders. 

Hence the term: "technical debt" is created and applies to the incomplete work that needs to be done by the development and test teams to verify that the story/task work is complete.  This will require extra time spent having to reorient teams, sometime in the future, to address specific use cases of logic and potential rework and dependency rework. 

Our recommendation is to prevent this type of activity of pushing out story work qualification because it can increase project risk.  

Do the qualification work now, instead of later.  Even though your immediate perceptual burndown may suffer, the overall projects health will not.

Introducing the IP-src custom training module: "Effective Product Development Processes".  Our module  focuses on
optimziing key attributes of development processes that will have a significant impact on your project burndown.

We expose process contention areas and offer insights on how these attributes can be managed to optimize a process.

The training module addresses these questions and more:

What is the key component of any development process?
If there is anything I could do now to improve my process, what would it be?
What is the cost associate with running an effective development process?