Disclosure: we have a 2.5 hour workshop on Agile Tools with Patricia Anglano coming up at Coloft on October 8th, which inspired me to write this article. Read more about it here. In this article, I tried to link to the most helpful Agile articles I found for people just getting introduced to the concept.
Though I’ve coded on and off for some time now, I can hardly call myself a developer. I’ve barely collaborated with others on a project. I’d love to find time, and when I do, I’d love to try Agile.
I’ve been reading up on Agile Software Development, but honestly it’s still very confusing to me. I just can’t manage to fully imagine what the process looks like. What I understand is that it’s good for iterative software development, which works well with the lean startup method.
Who uses it?
It seems like most dev teams I know (both startups and dev shops) use Agile or at least some aspects of it. The most neutral survey on agile adoption I could find was this Forrester survey from 2009:
35% of respondents stated that Agile most closely reflects their development process, with the number increasing to 45% if you expand what you include in Agile’s definition.
In a more recent survey from 2012, 84% of respondents (software development professionals) said their organization is using agile development. The number seems quite high to me, but this Annual Development Survey is pretty to look at and has a lots of interesting info, so I highly suggest you take a look.
Should I learn it?
If you’re a software developer or a project manager at a startup, I would say yes. If you touch any part of the product development cycle, I would say at least a little. While I’ve had people tell me you’re either agile or not agile (you can’t be “kind of” agile), plenty have told me otherwise. Either way, it seems like there are lessons to be learned simply from understanding how it works.
I also think it’s great for business managers and CEOs should familiarize themselves with the concept of Agile (I agree with this rather long Forbes article, The Best-Kept Management Secret on the Planet: Agile).
I was also introduced to this TED video about how Bruce Feiler implemented agile practices with his family and the benefits he saw in doing so. So perhaps there are lessons learned for any organized group.
In an effort to balance my bias, I found this article that provides some guidance into whether your organizations strengths are better suited for waterfall or agile. This Quick Introduction to Agile Software Development also highlights some cases where you might not want to go agile.
How do I learn Agile?
I can only imagine the best way to learn agile is to join a team who already uses it. If you’re looking to start using agile in your organization, there are consultants you can hire to help you implement. Another costly solution is getting certified, but I think it makes more sense to learn by doing.
If you want to start learning on your own, the Quick Introduction to The Quick Introduction to Agile Software Development is the most comprehensive, yet simple guide I’ve found so far online. You should check out the original Manifesto for Agile Software Development and the 12 principles listed, but it doesn’t guide you in implementing. It’s always worth reading the Wikipedia article if you haven’t. If you Google “agile development”, it’ll take you down a rabbit hole filled with lots of information, but it will take some time to make sense of it all.
Apparently there is such a thing as Good Agile and Bad Agile. I’ve found some tips from somebody whose experienced agile at multiple companies, Agile Development: the quickstart guide to doing it right.
That’s why when Patricia Anglano of Agile Media Consulting, who helps companies implement agile, approached me with her hands-on workshop to let people experience agile in a night, I was quick to set it up at Coloft. The 2.5 hour workshop is coming up in October and you can find more info here.
I know there are other opportunities to learn Agile (General Assembly does classes, but none are currently upcoming in LA) and I’m sure there are great resources I’m missing. Please don’t hesitate to share any you know of in the comments.
I’d like to end with a fun presentation that introduces the essential concepts of agile by comparing it to Tetris: Improving Agile Development Through Tetris.