Broken Windows Theory
Broken Windows Theory
The Broken Windows Theory is a criminological theory that states visible signs of crime, antisocial behavior, and civil disorder create an urban environment that encourages further crime and disorder, including serious crimes.
Original Theory (Criminology)
The theory suggests that policing methods that target minor crimes, such as vandalism, loitering, public drinking, and fare evasion, help to create an atmosphere of order and lawfulness, preventing more serious crimes.
Core principle: Small signs of disorder signal that no one cares, which encourages more disorder and eventually serious crime.
Application to Software Maintainability
In the context of software engineering, the broken windows theory means: the more tech debt there is, the less care is given to new development.
How It Works
- Visible tech debt (broken windows) signals that code quality doesn’t matter
- Teams become less careful with new code when surrounded by existing debt
- The negative effect of tech debt compounds over time
- Small issues accumulate into larger problems
- Eventually, the codebase becomes unmaintainable
Why It Matters
- Prevents compounding debt: Addressing small issues early prevents larger problems
- Maintains code quality culture: Clean codebases encourage careful development
- Reduces maintenance burden: Less debt means easier changes
- Improves team morale: Working in clean code is more satisfying
Key Insight
The theory highlights that environmental signals matter. Whether in urban neighborhoods or codebases, visible disorder encourages more disorder. The solution is to maintain order by addressing small issues before they compound.
Related Concepts
- [[Theory of Constraints]] β focusing on bottlenecks
- [[Platform Engineering]] β maintaining quality in internal platforms
- [[You Build It You Own It]] β ownership includes maintaining quality
- [[Kludge]] β temporary solutions that are hard to maintain can become tech debt
Sources
- Wikipedia - Broken Windows Theory
- Tech Debt Day by Alex EwerlΓΆf
Linked References
- [[Kludge]]
A workaround or makeshift solution that is clumsy, inelegant, and hard to maintain, but rapidly β¦