Spaghetti Code

Over dinner I was contemplating the similarities between software architecture and legal architecture. After all — reading something like the Waxman-Markey Bill or the Carbon Pollution Reduction Scheme legislation is very much like reading source code. Then it dawned on me — in the field of software development, there is a way of describing the climate architecture that is being discussed in the UNFCCC negotiations. It is called a big ball of mud. Wikipedia describes it as follows:

In computer programming, a big ball of mud is a system or computer program that appears to have no distinguishable architecture. It usually features other anti-patterns.

Here is a definition:

A Big Ball of Mud is a haphazardly structured, sprawling, sloppy, duct-tape-and-baling-wire, spaghetti-code jungle. These systems show unmistakable signs of unregulated growth, and repeated, expedient repair. Information is shared promiscuously among distant elements of the system, often to the point where nearly all the important information becomes global or duplicated. The overall structure of the system may never have been well defined. If it was, it may have eroded beyond recognition. Programmers with a shred of architectural sensibility shun these quagmires. Only those who are unconcerned about architecture, and, perhaps, are comfortable with the inertia of the day-to-day chore of patching the holes in these failing dikes, are content to work on such systems.

A big ball of mud is the architecture you get when there is no architecture. This is why the legal architecture of a post-2012 framework is so important.