Recently, I’ve come across a few articles that – although about ostensibly different subjects – share a common theme: When trying to create business value through software and devising the structures required to do so we all too often put up with wasteful processes, politics and toxic behaviour patterns that not only do not contribute to our goal but are downright detrimental.
First, there’s this transcript of a talk Martin Fowler gave at Agile Australia this year: The State of Agile Software in 2018.
In this talk he paints a dismal picture of agile software development or rather of what it has become. While proponents of agile software development set out to free software development processes from the shackles of scientific management the actual implementation of agile processes in organisations frequently is but a thin veneer over the same old processes or in some cases even further entrenches harmful patterns and habits.
Fowler also refers to an article titled Dark Scrum by Ron Jeffries that delves more deeply into how Scrum or other agile methodologies often are abused to achieve precisely the opposite of what they were actually meant to accomplish.
Then there’s Eberhard Wolff writing about complexity and how we secretly – or perhaps not so secretly at all – worship it.
Finally, Ian Miell provides an in-depth analysis on Why Are Enterprises So Slow?
All of these articles deal with common problems we’re facing when trying to create software in order to extend and improve organisations’ capabilities. Interestingly, none of these common issues is about technical matters or technology choices but about organisational patterns – or rather anti-patterns – which, though typically claimed to enable software development or making it more efficient and less wasteful, often achieve the exact opposite: Instead of enabling developers to do their work and take responsibility for the results they deprive developers of agency and further agendas which at best are ancillary to the software creation process and at worst are directly opposed to actually creating value.
These anti-patterns tend to favour politics and power for their own sake instead of fostering independent and agile decision making. They enshrine traditional structures and power dynamics in lieu of breaking them up in order to achieve a common goal.