Thursday, June 25, 2009

Agile is Dead. Long live Agile!

It seems that right now "agile" is flavour of the month everywhere.It has hit the mainstream. Everyone has it on their CV, too, so we have a situation where the industry want the skills, and everyone has the skills. Everything is fine and dandy in the software industry. Right?

Dead wrong.

There is a disturbing trend appearing in the industry. It is becoming increasingly difficult to identify anyone who has genuine agile experience. Many developers, BAs, QAs and product owners declaring agile experience on their CVs, when put into a true agile/lean environment struggle to cope (to say the least). To give typical examples, consider the developer who claims "agile" experience, but does not understand (let alone able to write) unit tests or the power of automated build systems. Or the "experienced agile" guy who had a Gantt chart showing the story contents of every iteration. Or the teams who believe it is acceptable to leave the build broken for weeks on end "because it's too difficult to keep it green". I could go on. If this is the level of agile experience on the average CV, it's a joke.

The only explanation I can offer for this is that the cargo cults and corporate pseudo-agile processes are finally strangling the real deal. The team members now being churned out by these behemoths only have experience of a pale imitation of the real thing. The end result? As far as I am concerned, putting "agile" on your CV or job ad is completely worthless. Agile is dead.

Or is it?

There are still islands of excellence out there. There are still people who who actively remove wasteful practices and work leaner, faster, better. There are still companies who are trying to build experienced agile teams in order to build quality products using lightweight processes and have fun while doing it. There are companies and people who demand more, demand better. But how to find them? How can they avoid the wagile hiring trap? Two ways.

Firstly, word of mouth. Personal recommendation by someone you trust is always the best way of doing things. I have a personal network of developers, Product Owners, BAs, QAs etc who I have worked with and rate highly (you know who you are). These are the guys I would work with myself, hire should the need arise, and also recommend to others. If a client asks for recommendations, these are the guys I phone first to see if they are free. Hiring a Coach is a good way of tapping into these kinds of lists (yes, a shameless plug, but true :-) )

But what if you don't have any way into this kind of network? Since having "agile" on a CV is now so devalued, the only choice has to be audition. Get the applicant into the office. Pair with him for an hour or so. Solve a real-world problem with him. He obviously talks the talk to get this far, but can he genuinely walk the walk? If you don't have anyone experienced enough in genuine agile process to do this, don't be afraid to hire someone to do it for you - another example where an experienced Agile Coach can come to the rescue.

So long as you vet your team rigourously, any reports of the death of agile will have been somewhat exaggerated. Although somewhat beaten and battered, lightweight processes are picking themselves up and are faster and stronger than ever before. Whatever form they evolve into (agile, kanban, lean, call them what you will), lightweight processes are still the sensible way to develop software.

No comments: