Agile, what does that have to do with software development? Here’s my elevator pitch on answering that question.
Just in case ‘Agile’ is a new term for you, I’m referring to a process for planning, creating and implementing software. In case you’re picturing a group of very limber developers that can leap from their work stations to the fridge, where their Red Bulls are located, in a single bound… no, not at all. So, Agile, what does that have to do with software development? Especially when you’re a web developer sitting on your computer pounding Red Bulls all day and night?
Agile is a new approach to developing software that challenges the traditional “Waterfall” methodology. So if you are venturing to launch an internet startup, or any new business concept for that matter, pay heed.
Something I learned recently at a Product Owner workshop in Toronto with the WFS team, is that Agile is not really a methodology. It’s a process of learning. And though it has been created in the world of software development, it’s foundations can really be applied to any business. Another term closely tied to Agile is Lean. They share the same foundations and I really do suggest reading The Lean Startup by Eric Reis.
A really simple way of comparing Agile to Waterfall’s traditional style of software development kind of looks like this:
Waterfall = plan plan plan plan plan | make make make make make | test test test test.
Vs.
Agile = plan make test | plan make test | plan make test | plan make test,…
The reason why Agile has become so popular is the ‘Plan Make Test’ approach is a much shorter loop in which you are able to learn vital information from concurrent testing rather than making the whole product from top to bottom only to test it at the end of the process.
Waterfall generates far more wasted resources and often times causes business failure. Generally even in good scenarios you have to go back and redo a lot of code to replace or change features that were not a product/market fit.
Here is a great video that shows how this process works:
Now when someone comes up to you and says, “Agile, what does that have to do with software development?”, you’ve got a great video to show them.
This is a huge topic and I have offered a very shallow explanation of what Agile is. A great book I recently read is Agile Software Requirements: Lean Requirements Practices For the Teams, Programs and the Enterprise by Dean Leffingwell.
I do plan on writing much more on the subject so please do check back or subscribe to my blog in the footer of this page of the page.