Can a project ever be 100% done?
How do we define OneHundredPercentDone such that it would be a complete definition? Can a project ever be 100% done?
For instance, a project being developed with AgileDevelopment is 100% done with respect to current requirements when it meets the TaskCompleteDefinition. If new requirements come on board, that is a new program which either replaces the current project or is completed after the current project.
Likewise with tasks. Once a task starts, if its definition changes it becomes a new task; completed after (or instead of, abandoning the current work) the current task.
Questions about definition:
Should this definition include:
- Alpha & Beta releases
- Fully tested by QA
- Fully documented, both in print, and online
- Supporting website
- UnitTests for everything
- Optimally factored - no refactoring needed unless new features are added
- Completely secure from worms, backdoors, buffer overflows, broken encryption, and malevolent users
All of these considerations need to be fitted into the TaskCompleteDefinition before a project's status can be determined.
Discussion:
In the real world, I'd settle for software that was released when 95% done. That's still way ahead of the curve.
Maybe a more realistic, usable definition would be, "It's 100% done when there are no more things to be done that are worth the cost of doing them"?
CategoryScheduling, CategoryRequirements