Agile Fantasies

The Lord of the Agile: Fantasies of Agile

Agile…it’s like the Viagra of Software Engineering and the Fountain of Youth. It’ll revolutionize your business. Your local Project Manager will love it and your developers will love it. It’ll bring world peace. Best of all, just like an open-floor plan office and free bagels, its a low-cost high-reward process!

Fine, I’m strawman-ing here, but not without cause. Agile certainly falls into as much hype as blockchain technology and with all technical hype, great swathes of those claiming to know the technology truly do not. Agile is no exception here and when you have large portions of Agile advocates with little understanding of its philosophies or methodologies, you get poor Agile practices. Poor practices leave a team no better off and perhaps worse off than traditional software engineering systems. Agile’s intentional vagueness and its current immaturity compounds the problem, furthering misinformation, opinion, and misinterpretation (none of which could describe this post…). This leads to a world where teams abuse Agile easily and frequently enough to cause pause.

These abuses, or anti-patterns, correspond to what I call fantasies. These fantasies plaguing Agile arise because they fail to capture what it embodies. Agile constructs value statements useful in an environment marked with rapidly changing requirements and little risk if deployments fail (e.g. people can’t watch Netflix, not airplanes falling out of the sky). Agile attempts to create a philosophy of technological ideals tempered by utilitarianism and discretion. Except, many people take too much liberty with its principles, eventually abandoning any coherent process in the holy name of agility. In fact, according to Digital.ai’s 15th State of Agile report (2021), respondents ranked “Inconsistencies in processes and practices” the greatest challenge when dealing with Agile within their organization. If Agile practices are inconsistent, or in other words, erratic, unstable, contradictory, and unpredictable, then something terrible has happened.

We should expect to see the opposite. In a world marked with instability, unpredictability, and inconsistency, Agile lets us assert a stable, predictable, and consistent engineering system. The biggest fantasy of them all sounds something like “Agile means no process”. From that, most other fantasies follow.