When you’re starting out with a new team, or just wanting to review your existing process it’s always worth making sure all the team understand what “done” actually means.
Is a work item done when the code is complete on the developers local machine or is it when it’s been tested and deployed to your QA environment? For some of you, done might mean when fully shipped to live.
My team define done as
- Feature from product backlog coded in entirety
- Code reviewed by another member of the team
- Functionality tested in QA (or System Test as we call it)
- Functionality tested as part of regression testing in QA
Then, and only then will it move into the done swimming lane of our sprint board and be included in the build for the next release to production. How about yours?