| I think "optimal number of features" is too simplified. Many features don't require any user interaction or even knowledge, like passive error checks, and are easy to implement. Some features can replace other features or even other entire systems, which would otherwise be much more work without the integration. If I'm selling something on eBay, they do everything from communications to returns to payments to shipping calculations to keeping track of what I've bought and sold. I sure wouldn't want to use some kind of modular thing where those were all separate parts. Minimum effort spent on stuff nobody wants to do, minimum chance of mistakes, and minimum chance for getting into a state where you have to go back and redo earlier work is a more direct measure than just trying to avoid complexity. That last one seems to be one of the usual very common points that make systems harder to use for people who aren't used to how software in general works, because it requires making the user define things as small pieces that the computer stacks up for you, rather than the real world process of stacking up stuff you wouldn't even think of as separate steps. |