* Done is such a fuzzy word. What exactly is "done"?
As far as I can tell, all of these are definitions for the word done:
- Feature Complete. All features have been implemented. No testing or bugfixing is included in this one.
- Feature Complete With Tests. All features have been implemented, and automated tests are written and checked in. (The tests may or may not pass!)
- Feature Complete With Passing Tests. All features have been implemented and automated tests both exist and are running successfully. No system-level testing (aka QA) has been attempted.
- Demo-able. All features have been implemented, automated tests are passing, and system-level tests are complete. There are bugs, but they can be worked around. The product can be used in demonstration successfully.
- Release-able. All features have been implemented, automated tests are passing, and system-level tests are complete. Major and many minor bugs have been fixed; the few remaining bugs are low-priority. The product can be shipped to a customer with a high probability of success.
- Perfect. All features have been implemented, automated tests are passing, system-level tests are complete, and all known bugs have been fixed. In practice, this one doesn't happen.
Now, it's not a big deal to have different definitions of done. The big deal is to make sure that everyone agrees on that definition.
No comments:
Post a Comment