
In the past few weeks we were having a discussion about what you'd like to see in activeCollab – from small things like minor interface improvements and tweaks to major features such is time tracking or invoicing. What most users don't think about (and don't need to thing about) is the price of every added feature.
In Apple Human Interface Guideline there is a section that covers adding features to software products. Here is the most interesting part of that section:
When making design decisions regarding features in your application, it’s important to weigh the costs, not all of which are financial, against the potential benefits. Every time you add a feature to your application, the following things can happen:Choosing appropriate features and devoting the needed resources to implement them correctly can save you time and effort later. Choosing poor feature sets or failing to assign appropriate design, engineering, testing, and documentation resources often incurs heavier costs later when critical bugs appear or users can’t figure out how to use your product.
- Your application gets larger.
- Your application gets slower.
- Your application’s human interface becomes more complex.
- You spend time developing new features rather than refining existing features.
- Your application’s documentation and help become more extensive.
- You run the risk of introducing changes that could adversely affect existing features.
- You increase the time required to validate the behavior of your application.
I couldn't agree more. Every new or existing feature that does not benefit 80% of users should be thrown out.
Some will tell that good plugin architecture is an answer to this problem, but that solution is not a silver bullet. It creates support nightmare, quality and consistency across application can not be controlled any more and so on. Even plugin support should be approached the same way as any other features - does it provide benefits that justify introduced complexity. If not - skip that and concentrate on things that do matter.
If you have something important to say about the issues discussed in this post please write at hi@a51dev.com.