There is a discussion on the Agile Usability Forum about "done." Several interesting things:
- Done is being discussed around what the team perceives as done for the day
- A post Done is *not* about some feature being delivered in glorious perfection. Few are. Done is a tool for helping teams make decisions and be able to move forward.
Both of these are interesting in that they describe a world view of vague and incremental definitions of work completion criteria. Of course in the absence of Measures of Effectiveness and Measures of Perfomance, we're going to get these vague and "soft"definitions.
That's not a problem if the customer understands that their (the customer's money) is being spent "evolving" what done looks like.
This is a fundamental open issue for the agile development community. The immutable variables of any project, from writing software, to flying to the moon, to doing landscaping in our backyard, is there are only three coupled variables that drive everything
- Time - when do you need this completed?
- Money - how much money to you want to spend? How much money do you have to spend? How much money are you willing to spend?
- Technical performance - what is the minimal technical performance you are willing to accept when you've spent all the money and are at the end of the time period?
The last question is open on every project. From some small XP project where the customer has little idea about what she wants until the code starts to appear, to the Project Orion manned space flight program that has "evolved" its requirements three major times since we started working the avionics suite going on 4 years now.
It's just part of the process. But to expect that there is no hard meassure of DONE is naive at best.
In the absence of those pesky technical performance measures, then the hard measures of "done" are when you run out of money and or time.
At the end of the day, not matter how unpleasant it is for agile software development, some form of Project Management is needed to answer those questions, manage resources in the presence of those questions, and "keep the project sold," to the folks with the money who are asking those annoying questions:
- When will you be done?
- How much is this going to cost me when you're done
- You are going to provide me with stuff I can use for my business, mission, promise to my boss or the American People, RIGHT?