- For a business owner, Done means that the product is running and serving Customers
- For a project manager, Done means that the code is implemented, tested in all testing cycles and delivered
- For a development manager, Done means the code is implemented according to standard, commented, unit tested and deployed in testing environment
- For a developer, Done often means that the tricky algorithms work, code compiles and was checked into Source Control. The HARD part is over and the code CAN run.
- Coded/implemented
- Peer reviewed (pair programming counts as peer review)
- Code is run against current version in source control
- Code is commented in source control and checked in
- Code is commented on Public/Friend methods
- Story/use case manual test plan updated
- Unit tests written and passing
- Build and package changes are communicated to build master
- Task list hours are updated and task is closed out
- All to-do items in code are completed
Oh, Sorry Sir, you didn't ask for a rare rib eye? My apologies, let me fix it for you! (The staff in a good stake house doesn't usually point out that the meat is properly cut, is very well seasoned and the last piece missing is a bit more heat. The stake is simply not done well).
But the Team also needs to clearly communicate the level of Done, as different stakeholders have different expectations. Only when the communication is clear, factual and correct the mutual trust can foster.