

Gall's Law - TJensen
http://en.wikipedia.org/wiki/Gall%27s_law

======
gruseom
Gall's book (Systemantics) is a brilliant and whimsical classic about the
unpredictable nature of complex systems. It deserves to be far better known.

~~~
pragmatic
I just finished reading it. Even though it's tongue in cheek humorous in some
places, it's a must read for anyone who deals with systems
(programmers/engineers/politicos/the average citizen).

One of the hardest things for a programmer to do is to NOT build a system. But
sometimes (everytime?) the avoidance of a system (if possible) is the best
option.

An example: Our company just implemented a huge ERP system from a well known
vendor. As expected the problems we were trying to solve (resource management,
etc) became secondary to keeping the system up and running. The system itself
becomes the problem.

------
rjprins
Simple and complex are relative terms. What a highly educated person anno 2009
would find simple might be complex to a uneducated person anno 1009.

Which implicates this "law" is also relative, making a more useful
description: If you make something which seems complex to you, it will not
work. Begin with something that is simple to you, and than evolve it in to
something complex.

~~~
DanielBMarkham
Brilliant point, and much more practical and useful than the law itself.

------
michael_nielsen
Summary: the law says "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."

This is obviously closely related to Richard Gabriel's "Worse is Better", and
the general philosophy of starting with a simple design, and iterating under
the scrutiny of users.

------
philh
That "inverse proposition" is just the contrapositive: (a => b) <=> (¬b =>
¬a).

The inverse proposition would be that if you take a simple system that works
and evolve it into a complex system, the complex system will work.

