The Definition of Done

Posted: June 11, 2010 in Agile
Tags: ,

There have been some interesting discussions within the agile team that I work. Retrospectives have suggested that we are currently guilty of operating more Wagile rather than Agile. In some circumstances, there is a return to the handing over of work items for the next team to use. The sprints are still completing, but are we working as a team?

Having attended the CSM course, it reiterated the need for collective agreement, specifically agreeing what tasks are needed to complete before a story is ‘Done’. This brings me to the subject of this blog post; ‘The Definition of Done’. More specifically, I want to talk about when tasks within a story are done.

As we know one of the main principle’s of agile is that at the end of each sprint you have a ‘potentially’ shippable work package. So what constitutes ‘Shippable’ and what can you really achieve during your 1 to 4 week sprint?

In terms of shippable, I do not believe that all activities need to be completed by the end of each sprint. If you have a feature that is broken down into manageable stories, this feature may be delivered over the course of three sprints; therefore all tasks that are required to ensure the feature is ‘done’ should also be split over the course of the three sprints. If we work on the assumption of a main release every 3-4 months in line with the project roadmap, to determine when a story really is ‘done’ we need to identify what activities need to be performed before we reach production readiness.

The main considerations for any story or feature are likely to be:

1. Performance testing considerations
2. Resiliency/Failover considerations
3. Entitlements
4. Integration or End to End workflows with legacy systems
5. Logging and Monitoring to ensure support teams have the tools available to manage a production system

These are technical considerations, and forward looking to production readiness for our stories, as a team we may include more sprint specific considerations:

1. Have the stories been Automated / added to our Regression pack
2. Continuous Integration builds are stable
3. Design documents have been signed off and application mirrors design?
4. All Acceptance tests have validated their criteria
5. A successful Product Owner walkthrough has been conducted
6. No defects have been left unaddressed

The options are unlimited. The important thing to remember about agreeing the ‘definition of done’ is that it is no different from other aspects of the agile process.

1. The team must come to a collective agreement
2. The team is making a commitment as part of the sprint, so these checkpoints must be achievable and relevant to the objective.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s