Here’s a reasonable-sounding guy talking about how Agile (the software development “discipline”) has been co-opted by management and that’s why it never works. He’s not entirely wrong, but his larger point is the same-old same-old. “But real Agile has never been tried!” they cry, while it just keeps on failing. Sound familiar?
Agile in my limited experience looks like this: the coding nerds with no higher responsiblity shot the managers, declared an autonomous anarchic coding collective and colluded with end-user customers who also bear no higher responsibility to produce, approve, and certify requirements and results. Nobody lived happily ever after, Amen.
What happened instead has been a profusion of cobbled-together software which does not meet the actual requirements of the larger customer organization, forcing agglomerations of non-process activites to spring up in the customer orgs just to deal with the user-tuned software.
Customer end-users do not understand why certain purpose-derived fields are required and populated as they are, and customer management is distant from representing the higher-order needs at the “Agile” table. Those managers are not software developers, and do not understand that their processes and policies are being subverted and abandoned at these meetings. “Organizational requirements? Sounds like OldSpeak! Throw that away and let’s write a story based on a data-entry clerk’s understanding of your organization.” The end-user customers, data-entry and first-line supervisors, request and approve the slow customisation of the software away from a framework that might have supported the organization’s needs. Nobody notices, everybody gets paid, and the customer organization grows less efficient. Agile kills its customers, but slowly, so that nobody guilty of the crime is still around when the faults mount to a toxic level.
Meanwhile, the Agile software development organization, by dint of having shot its managers, exists as a hippie coder playground with a paycheck at least while the old contracts still hold, and anyway, new money is available from sugar-high customer organizations who blush at the idea that they can have custom software quickly.
Just like Marxism, Agile is able to flourish for some time by living on the declining husk of the larger system, the only system which ever actually freed anybody or turned a sustainable profit, good-old western management.
Just as there are good points embedded in Agile, there are bad points embedded in free markets. Yet the good points of Agile are imported from other systems. There’s a reason that “kanban” is a loan word, which is an excellent analogy for most of the good points of Agile. Similarly, free markets are susceptible to many of the ills of “people in general” operating levers of power. To paraphrase somebody, “It is good and new, but the good parts are not new, and the new parts are not good.”
Agile, in its founding myth, is an adequate and well-intended response to software giants getting slaughtered as shocks from the PC explosion reverberated throughout the industry. The much derided “waterfall” method (the reasonable-sounding “first plan, then do”) is itself susceptible to analysis paralysis and producing big & tall manpower pyramids where only so many coders had to produce all the actual value for what must have felt like a huge train of camp followers. This is the way a footslogger always feels. Yet turning the coders loose on the economy is no more good for them than it is for anybody else involved.
In the video above, this guy makes frequent reference to management as if they were some invasive species threatening the Garden of Codin’ instead of the Sales and Strategy parts of the organization which actually produce the coders’ own jobs. Somehow the very real need for predictability and accountability burns the ears of the code-bound naïf. Yet predictability and accountability are two absolute requirements for providing employment.
Here’s a thought experiment — get rid of every last vestige of software company management, including the nasty overhead of marketing and payroll, and coders are left with two options — gigging on Fiverr or seeking employment as a coder at a single customer organization. Sounds like coders actually like being employed at software companies when all things are considered, or else they would leave. Somebody has to create these jobs, and evil “management” is who does that.
Agile doesn’t have to be pure evil in order to be mostly harmful, just as western market operations do not have to be all good in order to produce the greatest good for the most people in an ongoing fashion. Agile is the French Revolution, not the American. Its adherents seem to always complain about how “real Agile” has never been tried, just as “real Communism” has yet to be given a fair shot.
Agile and Marxism are seductive academic constructs capable of impressive performance only when spoken of, not when tried out. Agile and Marxism exist within the real world, consistently fail, and produce similar streams of excuses from consistently “mistaken” proponents. It is not as though the experiment has never been tried. It’s just that hide-bound Marxist Agile coders and their thought leaders refuse to be the slightest bit “agile,” instead doubling down and doubling again on woolly theories long disproven by a series of experiments so definitive and so consequential as to change the actual world — for the worse.
All of that said, the video fellow is absolutely correct that there’s a lot of fake Agile going on, and I do not disagree with the facts that he has presented. All in all, it’s not a pretty story, and it’s not a good scene out there right now. Low predictability and missing accountability at the government level have produced hard economic times, which expose weaknesses in poorly thought-through systems. Agile is poorly thought-through. The symptoms that he mentions are real, right down to the gaslighting. I just don’t agree with his diagnosis or prescription. The gaslighting is a result of the Agile hippie project failing to produce the promised benefits once again, and the necessary re-inclusion of proper management desires into the program. Agile in practice is more reactive than it is responsive, and it rejects changes which are obviously needed or they would not keep cropping up. An unplanned migration to an undocumented system is as stupid in management or governance as it is in actual software systems.
If the Agile crowd wants to stay “Agile” and somehow stay employed at the same time, they owe a good-faith effort to management to develop a combined governance which satisfies the needs of management instead of sloughing it off and then moving on when down comes the inevitable rain. Absent this, there is only the struggle.