Every Complex System that Works Started Out as a Simple System that Worked

The title of this blog post is my paraphrasing of a “law” from the tongue-in-cheek but nevertheless somewhat serious book “Systemantics” by John Gall. I tracked it down through Grady Booch’s original OOAD book and it had been pointed out to me by Ralph Johnson.

What’s so special about this quote? Well, it frames an inconvenient truth rather nicely: That you can’t create a complex system from scratch. Rather you have to evolve it step-by-step from a simpler system. This clearly runs counter to the intuition of many top-level IT or R&D managers. Thus, the unabated stream of expensive software project failures.

Open source and wikis are great examples of this proverb because of their (typically initially at least) volunteer nature. If they don’t work, they’ll get deserted quickly. If they get deserted, they are dead, and you don’t want that, if you are working on the project. Hence, this mechanism keeps you focused on the value the project or wiki provides to its users.

5 Replies to “Every Complex System that Works Started Out as a Simple System that Worked”

  1. Evolving from a simpler system is no guarantee of success either. The number of extinct species greatly outnumbers the number of surviving ones; the Chrysler Comprehensive Compensation project was eventually canceled and the software discarded (in a sense, an expensive project failure); many Wikis prosper for a while and then die.
    It’s just that *not* evolving from a simple working system guarantees *failure*.

  2. Yep, most projects (startups!) fail. I don’t think the proverb is a hard and fast choice, but I do think it helps to think of it as a necessary condition for success.

  3. You can increase chances of success of a complex project by simulating the evolution process. Have teams compete and build on each others’ ideas.

Leave a Reply