Gall's Law
11/14/2006 10:28 Filed in: General Tech
Here's one I love to agree with. Gall's Law states:
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 ties in well with my personal hatred of detailed functional specification sheets for database systems. Some people, very successful ones, love project specs as ironclad blueprints to give a client exactly what they want. I tend more towards the reality of the "What I thought I heard is what you thought you said" problem: The best stuff evolves out of a general plan as opposed to being built to a blueprint. Every time we give a client exactly what they ask for, they end up wanting it changed, because it doesn't work like they expected it might.
The people at 37 Signals are really strong on this. Their Getting Real book contains what I think is the best argument there is against forced structure in program (and database) design.
The Wikipedia page on Gall's law is at http://en.wikipedia.org/wiki/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 ties in well with my personal hatred of detailed functional specification sheets for database systems. Some people, very successful ones, love project specs as ironclad blueprints to give a client exactly what they want. I tend more towards the reality of the "What I thought I heard is what you thought you said" problem: The best stuff evolves out of a general plan as opposed to being built to a blueprint. Every time we give a client exactly what they ask for, they end up wanting it changed, because it doesn't work like they expected it might.
The people at 37 Signals are really strong on this. Their Getting Real book contains what I think is the best argument there is against forced structure in program (and database) design.
The Wikipedia page on Gall's law is at http://en.wikipedia.org/wiki/Gall's_law
|
