3 ms·
Three other social aspects I can think of that contribute to bad software are: * "We have to do something!" - The idea that software can't be done and need onl
by carsongross 11y ago
Three other social aspects I can think of that contribute to bad software are:
* "We have to do something!" - The idea that software can't be done and need only minor modifications/updates in order to be relevant and useful. Churn is confused with progress (see parts of the javascript community, or desktop software after 2000)
* "This code sucks, toss it." - Something that I'm certainly guilt of, in violation of the Chesterton dictum “Don’t ever take a fence down until you know the reason why it was put up”. This is in tension with the third point you mention.
* "Polishing sucks." - Once something is done, polishing (refactoring, simplifying and tidying) can be viewed as tedious and unbecoming of a creative genius such as ourselves. Large amounts of mental effort are put into small simplifications. Of course, over time, these simplifications compound and lead to truly special code, but nobody really cares about that. We are too busy learning the next framework.
- sievebrain 11y agoI think the first one is 95% of the explanation for the state of iTunes. iTunes was essentially done a long time ago, but it's rare to encounter software teams that will go to their manager and say "our product is perfect. we shouldn't work on it anymore". And if you have a product that's done but you still need to work on it, what do you change? You change the parts where improvement is most subjective and hard to measure: like the UI.
- AnimalMuppet 11y agoIt is also rare to find managers that will stop monkeying with the product.