This post originated from an RSS feed registered with Agile Buzz
by Dave Churchville.
Original Post: Prioritizing Requests from Multiple Customers
Feed Title: Agile Project Planning
Feed URL: http://feeds2.feedburner.com/AgileProjectPlanning
Feed Description: Thoughts on agile project planning, Extreme programming, and other software development topics
I've written before about how to decide what to do first on a software project, which to summarize is something like:
Have the customer force rank what's most important, considering your input on how much each feature will cost.
But what if you have multiple customers, and you're expected to represent their needs? How do you prioritize possible features such that your product or system delivers a little something for everyone?
The "force-rank" approach works pretty well for a single customer voice, but for independent software vendors, or service owners with diverse customers, a little more is needed.
One approach that works pretty well in my experience is to use a "voting" approach. This basically lets stakeholders choose their favorites, while limiting them to a fixed number of choices.
For example, we've got a list of about 20 possible features for the next release of ExtremePlanner, all of which are useful and interesting, but we can't do them all, and probably wouldn't want to since keeping things simple is our core philosophy. So we need a way to meaningfully prioritize these features, considering the relative value to the customer base as a whole, and the impact on the overall direction of the product.
We like to consolidate the input from stakeholders (could be an actual customer, product manager, colleague, best friend, or family cat). Each voter gets to pick their top 5 most important features from the larger list. Features can then be ranked by the number of votes they receive, at least as a first cut.
After adding up the totals and ranking the features, a pattern will usually emerge. One or more features will be clearly more requested than others. Now combining this with the development estimates, we can start to put together a rough picture of what the next release might contain.
Now, this doesn't mean that we would only implement what the voting turned up, but its a powerful way to get a handle on what has the most meaning for our customers. Sometimes a smaller feature that didn't get any votes will make sense to combine with a popular feature to have a bigger impact. Or we may have to defer a feature that is too costly to implement, or that would make the product more complex to understand.
When deciding on priorities, your customer's voice is a key input. Even when there are multiple voices. The trick is finding a way to meaningfully combine those voices into a hit song.