liveBook · Manning

Preventable problem

As explained in Collaborative Software Design: How to facilitate domain modeling decisions

A preventable problem is an organizational pattern in which incentives make creating and later fixing problems more rewarding than preventing them.

A preventable problem arises when organizational incentives reward creating and later fixing problems more than preventing them. The pattern is usually accidental: visible rescue work earns appreciation, while prevention remains unnoticed. section 6.2.2

The rewarded firefighter

Urgent requests, bugs, and nighttime server failures repeatedly land on a celebrated developer. They respond quickly, even when code quality suffers, while deeper causes such as recurring memory problems remain unaddressed. The organization rewards the rescue behavior, making prevention less attractive. section 6.2.2

The same pattern can reinforce harmful hierarchy. Teams may follow outdated advice from a higher-ranked expert despite recognizing its weaknesses, producing accidental complexity or bad models. section 6.2.2

How Collaborative Software Design: How to facilitate domain modeling decisions covers it

How deep it goes
Defines the pattern and illustrates its effects through emergency fixes, code quality, ranking, and accidental complexity.
Examples
Uses urgent requests, bugs, server outages, recurring memory failures, and outdated higher-ranked technical advice.
What you can do after
Evaluate whether recognition rewards emergency response more strongly than software-system prevention.
How it connects
Connects organizational incentives with ranking, code quality, accidental complexity, and problem prevention.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Collaborative Software Design: How to facilitate domain modeling decisions. The section links point to the parts of the book it draws on.