In large complex software systems, there seems to be a point where the inorganic approach to software and complexity management starts to fail and that perhaps an organic approach may be a better fit. Sure, organic approaches have drawbacks such as less predictability and consistency, but a complex inorganic system can also start to have such traits due to the sheer volume of rules and their interactions. They become too big to grok.
Complex systems that try to use OnceAndOnlyOnce and clean factoring on a large scale just seem to turn into monstrosities in their own right. Maybe organic approaches need to be developed, including the ability to "forget" such that old crufty rules and info automatically dry up over time. If things are going to grow only semi-tamed, then perhaps we need to find ways to do semi-tamed right instead of pretend like we're in control of something that is really a mess. In other words, do fuzz right instead of deny fuzz.
-top