This needs to be formalized and taught in EVERY CS/IS program. It still won't help though ... I've seen it in every large organization I've worked with.
It's not just the software development side that needs this. Project managers, functional managers, product managers, sales people and business analysts also need it. I've worked at more than one company that was doomed by building their products this way as well as on IT projects that experienced the same thing.
Why build something small that works when you can try to build something big that doesn't? This is just a nice packaging of John Gall's wisdom:
1. A complex system cannot be "made" to work. It either works or it doesn't.
2. A simple system, designed from scratch, sometimes works.
Some complex systems actually work.
3. A complex system that works is invariably found to have evolved from a simple system that works.
4. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over, beginning with a working simple system.
davidtyleryork|13 years ago
smoyer|13 years ago
SoftwareMaven|13 years ago
Why build something small that works when you can try to build something big that doesn't? This is just a nice packaging of John Gall's wisdom:
1. A complex system cannot be "made" to work. It either works or it doesn't.
2. A simple system, designed from scratch, sometimes works. Some complex systems actually work.
3. A complex system that works is invariably found to have evolved from a simple system that works.
4. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over, beginning with a working simple system.
- https://en.wikipedia.org/wiki/Systemantics