Normal people … believe that if it ain't broke, don't fix it. Engineers believe that if it ain't broke, it doesn't have enough features yet.
This is also true of legislation and government programs and the politicians behave like engineers.
Why did they keep changing guitars and amplifiers when they were perfect? They did the same things with cars, if you ask me. They forgot how to make them right, because they focused on style and bells and whistles.
I don't think I've ever worked on anything that wasn't way bigger than we expected. That's all the way back to working on fighting games at Paradox. Everything seems to balloon when more and more people get involved.
When I was a student and rushing to finish a project, my gut instinct was usually to keep adding all kinds of features. It's a way of papering over the fact that you haven't quite nailed your concept yet.
A primary cause of complexity is that software vendors uncritically adopt almost any feature that users want.
Simplicity is hard to build, easy to use, and hard to charge for. Complexity is easy to build, hard to use, and easy to charge for.
Programs today get very fat; the enhancements tend to slow the program down because people put in special checks. When they want to add some feature, they’ll just stick in these checks without thinking about how they might slow the thing down.
Are you quite sure that all those bells and whistles, all those wonderful facilities of your so called powerful programming languages, belong to the solution set rather than the problem set?
For every new feature we add, we take an old one out. A lot of big sites don’t do that, and it’s a problem. Twitter started as a beautifully simple product, but it’s now going the same route as Facebook. The drive to innovate can overencumber and destroy a product.
If you continue to improve a product enough, you'll eventually ruin it.
Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can.
As the number of people who work at Basecamp has grown, I've noticed places where we could use more features, like management, structure, and guidelines. I've also noticed places where we've overengineered ourselves and should pull back.
Creeping featurism is a disease, fatal if not treated promptly. There are some cures, but, as usual, the best approach is to practice preventative medicine.