I’ve been toying around with this theory of growth— it goes like:
Things have a tendency to grow organically, as monoliths, without borders and without structure. At some point, however, the thing becomes so complex and hazardous that we need to modularize it — we need to think about its “design.” And so a lot of energy is spent drawing maps and constructing boundaries and converting this ball of mud into something comprehensible. Then life is good again. The thing can grow peacefully, but with each new addition, the boundaries become a little more divergent. And we find ourselves slipping back into disorder.
This is the natural rhythm of development— growth and entropy tempered by the tug of organization. Certainly in software development, it is easy to see how this can happen— engineers excited to build the next great thing, leaving small piles of tech debt in the wake of their rush to ship. This is one reason we have to refactor, to retrofit the system such that the new features are more sustainably integrated into the codebase.
The way to avoid this cyclical descent into chaos is to build in a modular fashion, to attempt to grow in an organized way. This is a very compelling idea, but it requires a fair amount of supervision and authority. To make it happen, you need a set of rules and principles to govern how things should develop, a top-down mechanism to counteract the messy nature of growth.
You might think that this is a very counter-intuitive way to grow, but in fact, this is how it often happens in nature. On my to-read list1 is Endless Forms Most Beautiful by evolutionary developmental biologist Sean B. Carroll. In it, he argues that modularity is a hallmark of animal development and “the key to the building of complexity and the evolution of diversity.”
No one better than Mother Nature to dictate rules of growth.
I am almost done with my second book by Wendell Berry— slow reader here!