Complexity Has to Live Somewhere (2020)
The article discusses the inherent complexity in software development and the challenges of managing it. It emphasizes that complexity cannot be eliminated but must be managed and understood. The author argues that simplifying tools often shifts complexity elsewhere, creating new challenges for users.
- ▪Complexity is a recurring theme in software development that cannot be fully eliminated.
- ▪Simplifying tools can lead to new complexities as users adapt to fit their needs.
- ▪Understanding the balance between simplicity and complexity is crucial for effective software design.
Opening excerpt (first ~120 words) tap to expand
2020/05/01 Complexity Has to Live Somewhere Fighting complexity is a recurring theme of software development I've seen repeat itself over and over again. It's something I keep seeing debated at all levels: just how much commenting should go on in functions and methods? What's the ideal amount of abstraction? When does a framework start having "too much magic"? When are there too many languages in an organisation? We try to get rid of the complexity, control it, and seek simplicity. I think framing things that way is misguided. Complexity has to live somewhere. One thing Resilience Engineering has taught me is the concept of Requisite Variety from cybernetics: only complexity can handle complexity.
…
Excerpt limited to ~120 words for fair-use compliance. The full article is at Ferd.