If you work in any industry or administration that uses IT to support its business and your IT department hasn't yet spoken to you about Agile development methodologies, you should certainly question them why?
If they have however, you're probably confused with some of the concepts associated with "agility" and all of the weird terminology that goes with it. This short post aims at helping you approach this promising way of incrementally developing new software. Agile development methodologies like Scrum for instance, help structure some of the prototyping approaches we have now been using for quite a while.
But a picture is - as the saying goes - worth a thousand words and as a video could be even more tale-telling I suggest we start with this terrific 8 minute video to understand the basic scrum concepts (see embedded youtube video below). Starting with a Product Backlog (list of requirements), it goes on with a so-called Release Backlog (i.e. the contents of your next product release) and will end up in Sprints (the break down of a release into multiple work packages).
The video also covers 2 useful methods of measuring progress: Burn Down charts that visually represent the remaining work that needs to be done to complete each spring and release and a great concept entitled daily standing meetings which aims at making things happen in the fast lane.
If this video succeeded in whetting your appetite for more, here is another: a one-hour video from Ken Schwaber who co-developed the Scrum Agile process. Ken is a founder of the Agile Alliance and Scrum Alliance, and signatory to the Agile Manifesto. In this presentation Ken shares some of his practical experience with Scrum. He provides hints on how to best use Scrum and also talks about the reasons behind some of the principles such as time-boxing, Cross functional Teams, transparency ...
Very nice but is that applicable to me?
If you work in an environment where you mix onshore and offshore resources to deliver on your software releases, you may initially think that the approach is not for you. I therefore suggest you read a very good article in the PMI Mumbai's newsletter on pages 16 to 18. The author explains how an Agile approach such as Scrum can be implemented with great success in an environment where part of the team is located offshore. It is worthy of note that knowledge sharing is coming directly from the offshore side, being thus very pragmatic. Apart from onshore/offshore issues, this approach is also of interest to those of us running distributed teams across several countries and/or continents.
In order to better grasp the concepts for people coming from a more traditional approach where you work in sequence at developing the user requirements for the entire product, then specifying it, analysis, design, development, deliver... i.e. what is called a "waterfall" approach I suggest reading the comparison of the two approaches written by Annie Kerregan. Her practical comments on project planning for iterative style projects versus Waterfall traditional projects are really insightful.
In that same vein, there are dictionaries for:
- Waterfall experts http://www.pmhut.com/agile-to-waterfall-dictionary and for
- Agile fans http://www.pmhut.com/waterfall-to-agile-dictionary.
If you want to go even further check Craig Brown's SCRUM Reading List
Now, just be agile!