Sunday, November 20th, 2016
A project to be considered succesful, must accomplish several goals simultaneously:
- scope attainment
- stakeholder expectation management
- end user adoption (or market success)
A 2002 Standish Group study on Feature Usage on Typical Software Packages found that only the 7% of the features developed (more or less only the 7% of the budget) are always used:
|N. of Features|
|Never or rarely||64%|
It means that the majority of the value (features often and always used) is derived from 20% of the work; (our old friend the Pareto principle again).
So, we need to identify and remove from the requirements all the features involved in that 64% (features never or rarely used). How can we do this?
We can apply the Occam’s Razor that “simpler solutions are, other things being equal, generally better than more complex ones“, or in short, “less is more“; and instead of the ‘do we have everything we need?’ approach, we have to ask ‘do we need everything we have?‘.
The best way to identify that ‘simpler solution’ is to first ask what is the minimum amount of scope required to produce the desired result, and this is one of the primary benefits of the Agile Methodology. Agile projects start with the ‘bare necessities’ feature list, building and shipping the Minimum Viable Product (MVP) and incrementally adding the next features prioritized to maximize the end-user value.
Summary: the main goal of an application is to ship end-user value as soon as possible, so we have to identify the Minimun Viable Product and be ruthless in the pursuit of minimizing scope and requirements, very carefully selecting the next features to add.