Like many early Agile adopters I have been shocked and saddened by what it has become. I think the problem is that brainfucked corporate IT programmers (Java, .NET, whatever) have jumped on the bandwagon and driven it into the sea.
I was recently smacked around the head by this in a meeting about how a team was going to implement Jira ticketing to help improve their development process. I am not sure entirely what I was expecting, but I was totally, totally unprepared for the mind-stunning crap that I got - an endless series of slides of things called "workflows" which apparently document the life-cycle of a ticket and need to be mapped out in excruciating gory detail. I decided to raise my hand and ask a simple question "how do I just raise a ticket and assign it to someone" - the presenter gave me this kind of stunned "why would you want to do that??" look and explained that it doesn't work that way, first you need to assign everyone into teams and roles (like tester, developer etc), and then the workflow will decide where the ticket goes based on the kind of ticket and it's status. Mind blown. I could almost appreciate how such system might be of use on a really large project where you don't know and interact with most project members directly - they had a team of 8 people including testers and analysts. And in their minds they were doing Agile.
In another case I was arguing for the use of the Jira Fisheye plugin to enable meaningful access to VC to enable things like code review and release diffs and the like. The so called "Agile practitioners" had a different idea however - they were keen on a different plugin called Greenhopper which apparently does Agile process management and the like. I knew something was wrong when it was mentioned that it does nice Gantt charts. I probed a little deeper into why they didn't see the value in Fisheye and found that their actual VC practices were a joke - ludicrously large commits with minimal comment just before a release, no consistent release tags, broken commit history (they seemed to be deleting and re-creating their trunk after every release...what I don't even...). Advanced process/project management techniques over getting the basics like VC right? That doesn't sound like Agile in any universe I am familiar with.
I really struggle to think of any other examples where a worthy movement has been so thoroughly corrupted and debased into something almost diametrically opposed to it's original vision. Fuck Agile programming and what it has become. I think I'll stick with being a Pragmatic programmer.
You are saying that Agile is supposed to mean programming in Ruby instead of Java? And only small teams can be Agile? Amazon.com would disagree with you, for one.
"You are saying that Agile is supposed to mean programming in Ruby instead of Java?"
Of course not. But in my experience and observations, corporate IT programmers, especially those with a Java background, are the worst offenders when it comes to abusing the Agile concept and failing to get the basics anywhere near right.
"And only small teams can be Agile? Amazon.com would disagree with you, for one."
I am not saying that, but I think it is a good question. I have never seen a team of hundreds coordinated to an outcome using an Agile approach. I have been involved in large projects with up to 300 people (think multiple, large teams of business analysts, developers, database designers, architects and testers and a little hierarchy of IT project management) work towards a single outcome using a highly managed, strict waterfall approach over several years. It wasn't pretty, but we got there in the end, and I would not swear on the Bible that we could have done the same using Agile.
If Amazon is really using an Agile approach to coordinate hundreds of people working on a single project, I would love to read about it.
Like many early Agile adopters I have been shocked and saddened by what it has become. I think the problem is that brainfucked corporate IT programmers (Java, .NET, whatever) have jumped on the bandwagon and driven it into the sea.
I was recently smacked around the head by this in a meeting about how a team was going to implement Jira ticketing to help improve their development process. I am not sure entirely what I was expecting, but I was totally, totally unprepared for the mind-stunning crap that I got - an endless series of slides of things called "workflows" which apparently document the life-cycle of a ticket and need to be mapped out in excruciating gory detail. I decided to raise my hand and ask a simple question "how do I just raise a ticket and assign it to someone" - the presenter gave me this kind of stunned "why would you want to do that??" look and explained that it doesn't work that way, first you need to assign everyone into teams and roles (like tester, developer etc), and then the workflow will decide where the ticket goes based on the kind of ticket and it's status. Mind blown. I could almost appreciate how such system might be of use on a really large project where you don't know and interact with most project members directly - they had a team of 8 people including testers and analysts. And in their minds they were doing Agile.
In another case I was arguing for the use of the Jira Fisheye plugin to enable meaningful access to VC to enable things like code review and release diffs and the like. The so called "Agile practitioners" had a different idea however - they were keen on a different plugin called Greenhopper which apparently does Agile process management and the like. I knew something was wrong when it was mentioned that it does nice Gantt charts. I probed a little deeper into why they didn't see the value in Fisheye and found that their actual VC practices were a joke - ludicrously large commits with minimal comment just before a release, no consistent release tags, broken commit history (they seemed to be deleting and re-creating their trunk after every release...what I don't even...). Advanced process/project management techniques over getting the basics like VC right? That doesn't sound like Agile in any universe I am familiar with.
I really struggle to think of any other examples where a worthy movement has been so thoroughly corrupted and debased into something almost diametrically opposed to it's original vision. Fuck Agile programming and what it has become. I think I'll stick with being a Pragmatic programmer.