What the heck does Agile mean anyway?
I’m currently looking for a new contract and every time I see a job ad with the word “Agile” in it, I’m faced with a conundrum. I don’t really know what it means and as a result I’m not sure if I actually have Agile experience. I certainly have _agile_ experience and I’ve done lots of the things that make up what they call Agile development. Stuff like iterative development, TDD, pair programming, refactoring, continuous integration, working with user stories and backlogs, working with and developing coding standards, participating in stand-up meetings and retrospectives, being on self-organizing teams (with mixed results) and dealing with highly volatile requirements (not to mention customers). I have actually only been on one project that was a ‘by-the-book’ Scrum project, but that was only about 9 months of my 8 year career and for a good chunk of those 9 months I was on a team of 1 which seems to go against the whole idea of ‘Agile’. I’ve never been on a real XP project, though I’ve interviewed with a couple and had many second-hand conversations with people who have. I’ve read alot about Agile development and obviously written a bunch about it on this blog.
And yet, I still don’t know if I have Agile experience because I don’t know what it is. I hope the people writing the job ads realize that they may be missing out on a good chunk of the developer population when they require ‘Agile’ experience and don’t expand on what they mean by that. Of course I’ll still apply and if it turns out they want ‘Agile as in XP/Scrum’ experience, I’ll just turn tail and run. Here’s hoping they actually want ‘Agile as in adaptable, flexible problem solver using a large set of tools and experience to deliver customer value on accelerated schedules’.