Adding is favoured over subtracting in problem solving (and software systems)

Consider the 10x10 grids of green and white boxes below. How would you make them symmetrical? Most people would add green boxes to the emptier half of the grid rather than remove them from the fuller half. Even when the latter would have been more efficient.

The case, along with a similar problem revolving around the stability of a peculiar lego structure, is reported by an intriguing Nature article on the topic of psychology and human behaviour. The paper linked to the piece demonstrates that people consistently consider changes that add components over those that subtract them.

What are the implications of Adams and colleagues’ findings? There are many real-world consequences of failing to consider that situations can often be improved by removing rather than adding. For instance, when people feel dissatisfied with the decor of their home, they might address the situation by going on a spending spree and acquiring more furniture — even if it would be equally effective to get rid of a cluttering coffee table. […] On a grander scale, the favouring of additive solutions by individual decision-makers might contribute to problematic societal phenomena, such as the increasing expansion of formal organizations4 and the near-universal but environmentally unsustainable quest for economic growth. (source)

Is the innate tendency to favour additive solutions contributing to the entropy of the software systems we build? And if so, isn’t over-engineering, the scarecrow of software systems, its most apparent consequence? I’m in no way an expert in human behaviour and its implications in software engineering. Still, my bet is on a hard yes on both questions.

Subscribe to the newsletter, the RSS feed, or follow @nicolaiarocci on Twitter