Dave Thomas has a really excellent post about how it’s time to kill Agile.  It’s a very well thought out post and it embodies a lot of my concerns with the movement.  I have a few insights to add to his perspective.

I was a software engineer consultant for over five years.  The Java and open-source community had adopted Agile and implementations like Scrum and XP fairly quickly.  It made us find the way to get software that was good out the door in a timely fashion.  It made us not sit on our asses collecting requirements for months before any real work was done.  I worked on a very successful search project at a Fortune 500 company following Agile methods loosely based on Scrum.  I still believe to this day the level of success was due to the project being in “skunkworks” and therefore having a simplified budget and leaving us in control of the moving parts.  Once that project got into a normal budgeting process, innovation floundered.

Something happened to Agile.  Maybe it was Microsoft adopting Scrum, maybe it was some publication for management types convincing them Agile would save them oodles of money.  I’m not really sure what it was.  But at some point the word Agile because synonymous with “bring in consultants give them incredibly short deadlines and expect high quality for cheeeeeeeeeap” – and it lost its power.

I think I realized this shift was coming when a previous manager at a client thought they were being astute by terming their development lifecycle was “pwagile” – a combination of waterfall and Agile.  It was at that point I saw that the true value of Agile development had been muddied and it would be hard to come back from that.  The one thing I saw that made Scrum fail time and time again was budgeting by feature and not for an entire project.  Management couldn’t see the benefit of this change of perspective, so I lost hope.

There has also been this big rush to train companies to become Agile partners – to learn the ways of “doing it right”.  At some point we forgot that Agile was meant to be lean, easy to remember, something that is taught and then becomes reflex memory.  Adding so much process (and selling training & tools) around it defeats the purpose.  I found it interesting how many of these trainers no longer developed software themselves.  I really believe in dog-fooding your own stuff.

Dave’s plea to consider developing with agility instead of following “Agile” is dead on.  Get back to making software great and doing what people actually need.