Table of Contents
Variants and Alternative Names
“A complex system that works is invariably found to have evolved from a simple system that worked. The inverse proposition also appears to be true: A complex system designed from scratch never works and cannot be made to work. You have to start over, beginning with a working simple system.”1)
A process is good when it's not about building complex systems from scratch. Start with a simple system that works and enhance that. Alternatively take a set of known to be working (small) subsystems and compose them but keep sure that the composition itself does not become complex as this won't work either. Develop iteratively in small steps and frequently ensure that the result is still working.
Creating a complex system from scratch is a difficult task. Many things can go wrong
- Use iterative processes.
- Reuse known to be working modules.
- Use automated testing to ensure that enhancing the system does not break it. Otherwise any further steps are enhancing of a non-working system.
See section contrary principles.
John Gall: Systemantics: How Systems Really Work and How They Fail
Relations to Other Principles
Discuss this wiki article and the principle on the corresponding talk page.