summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Ferris Nicolaisen <tfnico@gmail.com>2019-07-08 13:25:59 +0200
committerDave Kerr <dwmkerr@gmail.com>2019-07-08 19:25:59 +0800
commite6724f97f894c06ae5f1772ec28fa67f95a6ed8d (patch)
tree1547b3a291909c357b4d57fe5a711dd9ac049bdb
parent9edc7382d501e62bb3bb12a4e0d51a959d425349 (diff)
feat: gall's law (#101)
Closes #90.
-rw-r--r--README.md9
1 files changed, 9 insertions, 0 deletions
diff --git a/README.md b/README.md
index d9f352b..f0042d9 100644
--- a/README.md
+++ b/README.md
@@ -17,6 +17,7 @@ Laws, Theories, Principles and Patterns that developers will find useful.
* [Brooks' Law](#brooks-law)
* [Conway's Law](#conways-law)
* [Dunbar's Number](#dunbars-number)
+ * [Gall's Law](#galls-law)
* [Hanlon's Razor](#hanlons-razor)
* [Hofstadter's Law](#hofstadters-law)
* [Hutber's Law](#hutbers-law)
@@ -120,6 +121,14 @@ See also:
- [Conway's Law](#conways-law)
+### Gall's Law
+
+[Gall's Law on Wikipedia](https://en.m.wikipedia.org/wiki/John_Gall_(author)#Gall's_law)
+
+> A complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over with a working simple system.
+
+This law is essentially an argument in favour of underspecification: it can be used to explain the success of systems like the World Wide Web and Blogosphere, which grew from simple to complex systems incrementally, and the failure of systems like CORBA, which began with complex specifications. Gall's Law has strong affinities to the practice of agile software development.
+
### Hanlon's Razor
[Hanlon's Razor on Wikipedia](https://en.wikipedia.org/wiki/Hanlon%27s_razor)