Project manager often rely on detailed task lists to monitor progress. The thought is that having lots of fine grained tasks provides visibility.
Good agile projects track just a few user stories (instead of many tasks) at a time and apply strict criteria, specified in advance, to determine when a deliverable is truly complete, e.g. done.
This post, and the follow up, help your team define done criteria at various levels, from story to release, in a way that will engender fast feedback and increase effectiveness to define done criteria in a way that encourages early feedback and ensures that when we stop, we are truly done.
- Code has been checked in
- The agile lifecycle management tool and task board have been updated
- Testing has been performed and the code passed
- Code has peer reviewed and approved (e.g. code is clean)
- Automated testing is in place for the code
- Help system has been updated to reflect changes to the story
-
- Do we stop work on the user stories planned for Sprint 12?
-
- Do we continue some work on our planned stories and spend some time fixing bugs?
- Or do we just defer the bug fixing to Sprint 13?
In summary remember not to confuse stopping work with being done, don’t defer to later what you can do now, and also remember that you don’t need to do everything you originally specified (e.g. less can be more especially at the feature level).
In part two, we will look at definitions of done for the sprint level and across sprints.