When is a Sprint Backlog Item Done?
It is important that the Team agrees a consistent definition of when a task can be considered
"Done". This is more important than exactly what is considered done which tends to vary from
team to team. The fundamental aims are to have a clear and honest view of the achievements so
far and what is left to do. Maintain trust with your customer by not "hiding" undone work.
Here is a suggested definition of when Sprint tasks may be considered done and contribute to the burn down velocity:
-
Code adheres to standards
-
Set of meaningful Unit tests that pass
-
Has been refactored
-
Checked into source control
-
Successfully built with integrated source
-
QA acceptance tests passed
The iterative nature of an Agile process should ideally be supported by good engineering
practices and tools with a high level of automation to ensure that the Sprint tasks are of
sufficient quality when they are declared done. When this is not true, the manual overhead
to ensure "done" increases substantially and often cannot be ascertained.
The "Current Status" field of the Sprint Backlog item tracks its status through to the
"Done" state guided by a simple workflow. When a task is complete, the Sprint Backlog
item's "Current Status" field should be set to "Done" and this will cause the "Work Remaining"
field to be automatically set to "0". The Sprint Backlog item must pass through the
"In Progress" state before it can move to "Done". See an example of a Sprint Backlog item being
marked as complete below.