The Illusion of Control

The illusion of control is a susceptibility to exaggerate one’s ability to control outcomes.

In one sense, maintaining this illusion is necessary for one’s emotional well-being. If we allowed ourselves the truest reckoning of how little our efforts matter in shaping the important outcomes in our lives – how much money we make; who we fall in love with; whether we have children or not, and how those children turn out; whether we find health, happiness, purpose, and longevity in this earthly abode – life may very well be reduced to a bleak existence, if not less. We need to maintain a sense of control, never mind if it’s illusory, to get out of bed each day and face the world.

In another sense, however, this illusion is a source of great harm. There is evidence that the illusion of control gets stronger with one’s experience of power [1], and that this illusion is strong whether one is personally involved in taking the action or merely a passive observer. [2] It may be that evolution disposes us to see causation between action and result when there is not even any correlation between the two. The pervasiveness of this illusion can encourage behaviors that defy logical explanation.

In my line of work, crafting software that solves humanity’s problems is the primary goal. The actions we take are towards achieving this end. However, in most situations, the creation of successful (i.e. efficiently utilizing time and money, effectively solving the problem, and delighting the users) software is governed by myriad causes, many of which are nothing short of uncontrollable.

Most software is created by teams. For software used in industrial, commercial, or governmental settings, the teams comprise dozens or even scores of people. The challenges posed by clear communications amongst these platoons of professionals are daunting. Allied to this are the unpredictabilities introduces by third-party dependencies, volatile requirements, shifting market forces, budget vagaries, and a thousand other natural shocks that software artisanship is heir to. The only sensible response is to shorten the feedback loop between envisioning the software and delivering it, and to keep correcting course after each such delivery. That is: to deliver software incrementally and iteratively. That is at the heart of software agility. [3]

However, embracing or even acknowledging this uncertainty is often frowned upon. In many software organizations, it’s much safer for one’s career to advertise a false certainty than to admit our collective uncertainty. As Tom DeMarco and Timothy Lister sarcastically put it:

“It’s okay to be wrong, but not okay to be uncertain.”

“Waltzing with Bears – Managing Risk on Software Projects” (p 42)

Nowadays, we are deluged by newfangled methods that perpetuate the illusion of control, egging us on to misplaced certainty. Gantt charts have given way to burn-up or burn-down charts; quarterly planning is replaced by PI planning; and waterfall phases have yielded to release trains. As these illusory-control-inducing tactics become more elaborate and complicated, they also become more stultifying. The creative practice of crafting software that delights people and solves problems is reduced to the officialdom of steering committees and approval boards.

If there is an easy way to escape the seductive powers of this false sense of control, I don’t know it. What I do know is that focusing on tightening the loop between vision and realization and then doing it repeatedly has served me and my teams far better than any alternative.

I retain the hope that some day, our industry will learn that the best way to create better software is … to regularly and repeatedly create better software. Perhaps that is my optimistic illusion, but I cannot abandon it. After all, I hope to get out of bed tomorrow and face the world, too.


  4. Title image credit: