Software Quality Engineering
The Utility-Complexity Curve
As applications are designed and developed, they typically start out with a minimal feature set that is sufficient to garner enough market share to make the product viable. Then, the feature set is built out, either in response to the original vision, competition, or both.
Initially, as features are added, the application becomes more usable, in exchange for a relatively modest increase in complexity to the user. At this point, the Utility-Complexity curve is on a steep incline – with each release, the app becomes significantly more usable, for a modest cost in complexity for the user. However, this game doesn’t last forever – as more features are added, the app continues to become more complex, but the utility of the app doesn’t change by as much – the features being added speak to too tiny a segment of the user population, or are too trivial. At this point, the Utility-Complexity curve peaks and the intuitive character of the app has peaked.
Eventually, as more releases are designed and delivered, the complexity continues to increase but the utility of the application actually declines, as “feature-clutter” sets in. Subsequent releases produce a tool that is incrementally less useful to the user. The Utility-Complexity curve turns over and starts to descend.
Why does this happen to good applications with well-considered designs (at least, initially)? It happens for perfectly good capitalistic reasons - the need drive revenue by continually releasing new versions with new features. How can you convince buyers to pay annual maintenance or upgrade to a new version if you’re just releasing bug fixes and no new features?
So, every new product is on a path from an initial good, intuitive design to a maturity in which the intuitive nature of the original design is violated, where the app becomes less usable with additional features. Vendors continue to add features well beyond the optimized design for their products, and the products become incrementally less useful to the user. I wonder if anyone has tried to calculate the loss in worker productivity due to this sort of feature-creep.
Think about some of the most common applications that you have seen released with significant re-design or enhancement, especially where the changes require a great deal of re-learning by users. Are users 100% more productive with the new application? 50%? 10%? Most likely not. They are probably no more productive than they were with the earlier version, minus the re-learning, which puts productivity in the negative. Why did the vendor do it? Just to have a reason for people and organizations to buy again, and buy more.
This applies across the board - some tools on the market today are hitting or crossing the Utility-Complexity peak. They started out with nice, minimal designs, making them very intuitive and useful products. The initial phase of releases filled out the functionality in areas where things were a bit thin at the outset, and with the addition of features, utility and ease-of-use continued to rise. Somewhere in the more recent releases though, these tools have peaked. The new stuff is just getting in the way. Which means competitors will just come on the market to start the cycle again…
What do you think? Do you agree with my observations and prediction? Or do you have a different opinion?
Posted by Jeff Bocarsly on Friday, February 01, 2008 2:18 PM EST
Leave a comment
|
There are currently no comments for this blog entry.