Member-only story
Banishing The Agile Phantom
Conjured by mistake, the ghost that haunts modern day software development must be exorcised.

I’ve written previously about the enormous amount of cognitive dissonance that pervades the Grand Game of Software Engineering and just how much disbelief, frustration, and general unhappiness it generates — especially within us progressive engineers, who have to deal with it the most when we’re trying to actually get important things done.
One result of this general discomfort and malaise that’s inevitably generated is that pretty much everyone resorts to grasping at the straws of imaginary constructs, often unwittingly, to get some relief from it.
Recently I found out that this sort of imaginary construct is called a Phantom — a kind of mental shortcut or rationalisation that helps to bridge the gap between contradictory perceptions.
Take the general process of software development.
At heart it’s a logical process as, for the most part², programming languages are deterministic, logical, and do exactly what you tell them to do…