Monday, November 23, 2009

#27 The Part Done, Done Criteria

Symptom: Unplanned work appears consistently on the sprint backlog and unexpected work appears towards the end of the project usually attributable to testing or UAT work.

Probable Cause: The testing activities may be out of synch with the other activities in the sprint, and may well have been excluded from the done criteria.

Suggested Resolution: Sometimes it can be very tempting to fix the done criteria to be something other than potentially shippable or ready for production, such as done in test or potentially shippable to UAT for example. This may be down to availability or some other factors beyond the team's control and so seems reasonable when the team start thinking of how to define their done criteria.

However the outstanding work of UAT testing, defect fixing and regression testing in our example where UAT is outside of the done criteria, will still have to be done at some point before the project is completed and the features delivered. And even though a team may say that they are done when compared to their done criteria, they may well be the people tasked to perform this work that is still outstanding.

Excluding some of the work in this way has the down stream effects of unplanned work or specialist stories such as "UAT testing defects" appearing consistently on the sprint backlog as the outstanding work begins to be realised by the team. In addition, the velocity may seem to drop where previously a good velocity was attained but didn't take into account the UAT work in our example. This may also impact the release plan as the average velocity is skewed.

To remedy a situation such as this, try to modify the done criteria to be production ready or potentially shippable and to encompass all activities involved in delivering a working feature to the client. This may mean that additional team members may need to be added to the team and additional work items added to the user stories on the sprint backlog, but this is the work that would have to be done anyway to deliver the project.

What you are looking for here is a feature to be completed and shippable to a client within a sprint with a true velocity and no excluded or hidden work. Also all of the activities during a sprint should revolve around a common user story or feature context that is vibrant and fresh.

For more agile coaching options, check out agile coaching