Agile Project Planning

ExtremePlanner: Agile Project Management for Distributed Software Teams
Click For Your Free Online Trial

Monday, January 31, 2005

10 Pounds of Goodies in a 5 Pound Bag - A Project Planning Tip

Ever try to get 10 pounds of anything into a bag that only holds 5?

Most software projects try to do the same with features, and with the same amount of success you probably had (not much).

The problem is that the users think every feature is important, so the developers don't know which ones to work on first. This is a classic mistake, and one that can be avoided using a simple trick.

Instead of asking the users "How important is this feature?", try asking "If you could only have feature A OR feature B, which would you choose?". Repeat this for each feature until they fall into a forced rank, instead of a 10 pound pile of "must haves".

Now, to give the user enough data to make this decision, you'll first have to provide a sense of cost in terms of time and resources for each feature being discussed. It's not easy to choose "User registration" vs. "Flash animation" if you don't know that the first is a 2 day effort, but the second is 5 days.

Once you've got an ordered list of features along with their estimates, just add features to your bag until it's full. You may find that you need to split up some features into smaller pieces to get a good fit. You might even take a low cost story of lower priority and put it in the bag because nothing else more important fits.

Follow this simple formula, and you may discover there's room left in the bag for a special treat - the appreciation of your end users.

Get your copy of the new book! Agile Thinking: Leading Successful Software Project and Teams

Monday, January 24, 2005

Avoiding Software Project Disasters

Why do 5 out of 6 software projects wind up late, over budget, or failing to meet the user's expectations?

There are many possible reasons, but according to a report by the Standish Group, some of the key factors include long development cycles, and changing requirements.

I think that project success is always tricky, but the longer you keep the end users from seeing what they're going to get, the more risky the outcome. The key to successful delivery is a series of short, manageable iterations where the development team can show progress, and get rapid feedback from the users.

This feedback loop, while not a guarantee of success, does guarantee that the business will have timely information about the state of the system with which to make further decisions. Features can be reprioritized, discarded, or enhanced well before the project deadline.

Requirements ALWAYS change, because businesses change, and the problems they're dealing with continue to evolve.

It's about time our project planning methods evolved as well.

Get your copy of the new book! Agile Thinking: Leading Successful Software Project and Teams