49: Accidental Complexity

Accidental complexity happens when teams don’t care about their codebase, applications, and systems enough and when they break down tasks in the wrong way. The name accidental also explains that it usually happens unwittingly. The teams unintentionally build up accidental complexity, and it makes their job more difficult to evolve and change the systems. Onboarding becomes more challenging, and technical debt builds up. One way to reduce accidental complexity is through abstraction. Abstraction helps to make code simpler and limits access to in-depth implementation to prevent possible mistakes or wrong usages.


  • Source(s): Designing Data-Intensive Applications by Martin Kleppmann

This note is mentioned in:

39a. 39b. 39b. 45a. 50. 56b. 56d4. 56g. 57. 79.

If you're unfamiliar with Zettelkasten: These notes are atomic. The aim is to have one idea in a note. The connections between notes are as important as the notes themselves.

Reply via email

or comment below.