The Barnaclization of Systems
December 31, 2008
A strange but perhaps fitting topic for the last day of 2008.
Barnaclization is a word I started using about 10 years ago. It was introduced as a way to describe what, in my experience, tended to happen to software systems. Unlike systems in nature, where entropy inevitably leads to dissipation, software systems decline typically for the opposite reason, that of accrual, or more graphically, barnaclization.
It is true that a form of entropy operates on software as interventions, however minor, introduce errors that slowly undo the carefully wrought structure of the system. But this represents a very small contribution to the general trend of deployed software to become unsustainable. The real source of trouble is the accrual of new requirements that lead to the introduction of various modules and interfaces with each one, like a barnacle, interacting with the system and the other additions. Like a ship left to foul, these systems eventually become so encrusted that they become grotesquely slow and inefficient to operate. Understandably, at some point the owners decide to steer the ship into the nearest scrap yard.
What is important to recognize is that each addition can be completely meritorious in its own right. The addition will address real user needs and a solid business case for the change will have been established. The real issue is that each of these additions, like a separate life form, has its own purpose and this is only partially aligned, and then only in the very best cases, with the objectives of other additions let alone that of the original system. The additions, over time, accumulate into layers until the structure of the original system is scarcely recognizable.
Barnaclization is relevant today as it helps to envision what happens to all human systems and not just software. Economies, for example, accrue layers of supporting services, abstracted rationalizations, derivative interests, rarefied specializations, dissociated oversight and the like that can come to create highly unstable structures - susceptible, for example, to unpredictable ruptures between large segments of the system. So it is that investors can find themselves divorced from businesses that actually produce value. Within organizations it is commonly found in the form of bureaucratic rigamortis, where the organization is so determined to do everything right and to address every possible good cause that they effectively cease to do anything useful at all. Government organizations are particularly susceptible to this process although they are not alone.
Again, it is not that barnaclization is a result of poor planning or execution - it just happens and usually for all the right reasons. Jumping back to software, Microsoft Windows seems to provide the perfect illustration. A large number of very smart and industrious people have been labouring for many years to improve Windows - juggling a sea of feedback from an incredibly large community of users. With all these inputs, together with a great deal of talent and the very best of intentions, 15 or so years have brought us to Windows Vista which exhibits the advanced stages of barnaclization. I have been heard to describe Vista as the Jar Jar Binks of Operating Systems - it is always doing something when you don't want it to and when you do decide to do something it is invariably in the way. I have heard people describing all of the features and functions that Microsoft had to fit into Vista and it seems clear that the problem is one of barnaclization.
Given the inevitability of barnaclization it becomes an open question whether much can be done to redress the problem. Certainly systems can be designed in a way that makes them less susceptible to the forces of accrual. But the real response must occur at the level of organizational management and here an understanding needs to evolve of how disparate investments will interact as an accumulating system and that some investments will work together more constructively than others.
Postscript (2022): Since the time of writing this post, I have come to be convinced that the idea of "barnaclization" is even more useful, not to mention more broadly applicable, than I had ever imagined. It is almost as if history itself got a hold of this idea and decided to run with it - providing exemplar after exemplar of just how ubiquitous a principle it is. Politics - perfect fit. Healthcare, to the extent that such a thing exists, also perfect. My brand new Samsung phone being somehow worse, in every regard, to its predecessor - perfect again. Academia - don't even get me started...
Aren't laws another example of barnaclization?
Couldn't we just agree that every time a legislative body decides to pass a law, they have to remove one that is equally as long?
Posted by: Mitch Weisburgh | January 02, 2009 at 10:39 AM
I think laws may be the ultimate example of barnaclization.
The accrual of laws over time, each with extraordinarily parochial origins, quickly leads to utter confusion. For those charged with enforcing the laws, this will lead, at least logically, to one of two outcomes - either they descend into paralyzed ineffectiveness (if they try to think through the forest of edicts to determine the right course of action) or they burst into unbridled capriciousness (when they can pick and chose what law to enforce and what mode of enforcement they might find be most enjoyable). In practice, frequency of use leads to some laws being "top of mind" while others are largely forgotten. But forgotten or not the contradictory laws are still there and the average citizen lies in a state of continuous transgression without even knowing it.
Peter Drucker used to say of "government programs" (or indeed all organizational initiatives) what we might wish to say of laws - that they should all come a sunset clause that identifies a future date when the program must be reinstated or rescinded. Otherwise, he wisely argued, there would be a continuous stream of new programs piling up on top of legacy programs that were still on the books and still drawing funds and energy. At some point in time and in if no controls are put in place, the machine simply runs out of steam. He seemed to understand the concept of barnaclization implicitly.
Posted by: Joe Gollner | January 03, 2009 at 05:14 AM