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 susceptable 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.
