Monday, February 05, 2007 

Value and Priorities

I was writing about optimizing the development curve for value in my previous post, so I was just happy to find an article titled "Value-Oriented Requirements Prioritization in a Small Development Organization" in IEEE Software, Jan/Feb 2007. The article is indeed interesting, because the proposed technique is very simple to apply, yet can give significant benefits (mostly in decreasing the amount of struggling when assigning priorities to tasks).
I've used the same idea (with a different terminology) for a few years, to handle conflicting viewpoints in several large projects. Indeed, it must have been inspired from some paper on viewpoints (unfortunately, I can't remember exactly which one).
The idea is quite simple: instead of struggling over each requirement, take the time to agree on a set of core values (as they are called in the paper above; I usually call them "concerns", by gathering from the viewpoints literature). Core values could include non-functional concepts like "security", "dependability" or "efficiency", business concepts like "innovation", "customer retention" or "new sales", and so on.
Then give values (or concerns) a weight (for instance, on a 0-9 scale). Values, and weights, should be set only once and should be agreed upon by all the stakeholders, as they should reflect the company's appreciation of those values (if you can't even get past this point, you're in serious troubles :-).
After that, each requirement is simply given an importance (or weight as it's called on the paper above) relative to each core value. You then multiply and sum to get the final requirement weight, after which it's easy to prioritize (just sort on final weight).
Simple, effective, and requires no more than a spreadsheet. There is also no need to quantify value in monetary terms, which may help in many cases where the economic impact of having (or not having a feature) can't be easily determined.
Of course, the company may grow, the focus can change, and so on, so we should periodically revisit the set of core values and their relative weights.
cool! about the read the IEEE Software article right now
Post a Comment

<< Home