User Tools

Site Tools


principles:gall_s_law

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

principles:gall_s_law [2014-03-16 18:46] (current)
christian created
Line 1: Line 1:
 +====== Gall's Law ======
  
 +===== Variants and Alternative Names =====
 +
 +
 +===== Context =====
 +  * [[contexts:​Process Design]] ​
 +
 +
 +===== Principle Statement =====
 +
 +> "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."​((John Gall: //General systemantics,​ an essay on how systems work, and especially how they fail//, 1975))
 +
 +
 +===== Description =====
 +
 +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.
 +
 +===== Rationale =====
 +
 +Creating a complex system from scratch is a difficult task. Many things can go wrong
 +
 +===== Strategies =====
 +/*How to make a design more compliant to this principle*/
 +  * Use iterative processes.
 +  * Reuse known to be working [[glossary:​modules]].
 +  * [[patterns:​Release early, release often]].
 +  * Use automated testing to ensure that enhancing the system does not break it. Otherwise any further steps are enhancing of a non-working system.
 +
 +
 +===== Caveats =====
 +
 +See section [[#contrary principles]].
 +
 +
 +===== Origin =====
 +
 +John Gall: //​Systemantics:​ How Systems Really Work and How They Fail//
 +
 +
 +===== Evidence =====
 +/* Comment out what is not applicable and explain the rest: */
 +
 +/*  * [[wiki:​Proposed]]*/​
 +/*  * [[wiki:​Examined]]*/​
 +
 +  * [[wiki:​Accepted]]
 +
 +/*  * [[wiki:​Questioned]]*/​
 +
 +===== Relations to Other Principles =====
 +
 +==== Generalizations ====
 +
 +  * [[If it Hurts, Do it More Often]]
 +
 +==== Specializations ====
 +
 +==== Contrary Principles ====
 +
 +==== Complementary Principles ====
 +
 +==== Principle Collections ====
 +
 +
 +===== Examples =====
 +
 +==== Example1: ​ ====
 +
 +===== Description Status =====
 +/* Choose one of the following and comment out the rest: */
 +/​*[[wiki:​Stub]]*/​
 +[[wiki:​Incomplete]]
 +/​*[[wiki:​Complete]]*/​
 +
 +===== Further Reading =====
 +
 +  * [[wp>​Gall'​s law]]
 +  * [[wp>​Systemantics]]
 +  * [[wiki>​GeneralSystemantrics]]
 +
 +===== Discussion =====
 +
 +Discuss this wiki article and the principle on the corresponding [[talk:​principles:​Gall'​s Law|talk page]].
principles/gall_s_law.txt · Last modified: 2014-03-16 18:46 by christian