Sunday, April 6, 2008

Thought of the day: The Lean Definition of Done.

Under Scrum, one of the first questions the Team has to answer is: When is a task done? A related question is when is the project done? This is the question the product owner must answer.

My lean definition of done: A project is done when the product or software created starts to bring value to the company for whom it was created. So the objective of a project is minimize the time required to get to done.

You might say "Wait a minute! That's not done, work goes on, even after a software is released." True, any useful software will need to be improved or enhanced. The question is, what is a reasonable delay between request from business and the availability of the desired function?

But the first release, call it 1.0 or XXX-Beta, needs to get out there. No release, no ROI. Someone needs to focus on achieving doneness. Under Scrum, this is the Product Owner's responsibility.

The longer it takes, the more SW development costs need to be amortized, the greater the chances or someone else entering the market or taking a dominant market share. So the cost of delay may well be greater than the cost of the development.

How long is your turn around time? If it's long, say over 6 months, what would it mean to reduce it from 3 years to 1 year? Or from a year to 6 months?