In his 1986 “No Silver Bullet” essay, Fred Brooks identified two sides of complexity in software engineering: essential complexity (the work of modelling a solution to a problem) and accidental complexity (what’s required to turn that model into code). His argument was that productivity gains can only come from reducing accidental complexity while the essential complexity of a problem is irreducible.

His core claim: “no single development, in either technology or management technique, promises even one order of magnitude improvement within a decade.”

test