I have been delving into complexity over the past several months. What is complexity? What problems are created by the increasing layers of complexity in our systems, technologies, and lives.
So, it should be no surprise that I was drawn to an article about the Kludgeocracy in America by Steven M Teles in the current National Affairs Magazine. The article is somewhat more political (although blessedly non-partisan) than I usually like to cover in this blog, but Teles makes some interesting points that have applicability as we engineer processes and build systems to support those processes.
A “kludge” is defined by the Oxford English Dictionary as “an ill-assorted collection of parts assembled to fulfill a particular purpose…a clumsy but temporarily effective solution to a particular fault or problem.” The term comes out of the world of computer programming, where a kludge is an inelegant patch put in place to solve an unexpected problem and designed to be backward-compatible with the rest of an existing system. When you add up enough kludges, you get a very complicated program that has no clear organizing principle, is exceedingly difficult to understand, and is subject to crashes. Any user of Microsoft Windows will immediately grasp the concept.
“Clumsy but temporarily effective” also describes much of American public policy today. To see policy kludges in action, one need look no further than the mind-numbing complexity of the health-care system (which even Obamacare’s champions must admit has only grown more complicated under the new law, even if in their view the system is now also more just), or our byzantine system of funding higher education, or our bewildering federal-state system of governing everything from welfare to education to environmental regulation. America has chosen to govern itself through more indirect and incoherent policy mechanisms than can be found in any comparable country.
Teles points to a combination of the “multiple veto points” as well as the often perverse individual incentives as primary causes of the kludgeocracy, but he also talks to a somewhat schizophrenic personality in the American electorate.
Americans are ideological conservatives and operational liberals. That is, they want to believe in the myth of small government while demanding that government address public needs and wants regarding everything from poverty and retirement security to environmental protection and social mobility.
The result, according to Teles is a system that hides the true cost of government actions making them more complex than necessary to achieve the goals. Teles then points to some structural and policy changes, that he claims would alleviate the problem. His prescriptions are beyond the scope of this blog, but worth a read.
There are a couple of key lessons for analysts, engineers, and business architects.
- Be Clear and Honest About the Goals of Any Change. This may well be the most important point. Hidden agendas add complexity without bringing any real benefit. Watch for them in yourself and in all stakeholders and team members
- Know when it is time to throw away the current process and start over. This is probably the most difficult point. Today, most of our change and many of our systems are created iteratively and incrementally. And there is good reason for this. Lean process improvement and agile development methods have shown their value in a wide range of applications. Still, it is important to note that by bolting changes onto an existing system, we are building a kludge, and at some point the kludge will need to be reengineered.