Accidental versus Essential Complexity

Fred Brooks

"At the heart of the argument is the distinction between accidental complexity and essential complexity. Accidental complexity relates to problems that we create on our own and which can be fixed; ... Essential complexity is caused by the problem to be solved, and nothing can remove it; if users want a program to do 30 different things, then those 30 things are essential and the program must do those 30 different things." -- No Silver Bullet

"We are in full control of the accidental complexity that pervades our development methods and tools."

Unfortunately contemporary development systems strive to control the fundamental complexity with ever more layers of complexity.


I found the solution in Holonforth. It is a solution for a freelancing programmer who can choose his own tools and methods. I do not claim Holonforth as a general solution. This is what works for me. - I appreciate comments, questions, critique.

Arthur Koestler

"Holons are nature's way."

Koestler showed that in organic life you find a universal hierarchy of holons. A holon is both a whole and a part of higher wholes.