Thursday, June 9, 2011

Agile Project Management for Software Development - Why You Should Use It

What is Agile and How does it work?

Agile is an iterative process where a project is broken into pieces called "sprints" and each sprint is tackled in a discrete period of time - usually one to three weeks.

The advantage to the customer (the project owner) is that after each sprint is completed, there is a full review of the work that has been done to date. This allows the project owner to get a hands on look at the software mid-project. This is invaluable because it gives the customer a chance to actually see early stages of the software in action and this always leads to useful feedback and changes to scope.

Once the software review is done, all requirements are re-prioritized for the next sprint. Once the sprint has started, there is no interaction with the developers until the end of the sprint at which point the review and re-prioritization happens again, and again, until the project is complete.

How does Agile help with the scope of my software project?

The reality is that most customers know most of what they want, but it is almost impossible to think through every requirement for the "scope" of a software project beforehand. Using traditional methods of software development, you would create a scope document and the software developers would go away and complete the project based on the document, handing the customer a completed project at the end. The result is a less than 100% happy customer because it is impossible to think it all through. The customer asked for X, but really did not need 20% of what he asked for, but he actually did need another 20% that he did not know he needed!

Using Agile you get much closer to the "true scope" of your project.

Faster to Get Going

Another benefit of the Agile approach is that you do not need to know every last detail of what you want in order to get a quote and get going. A bullet point summary is all that is needed to size a project (give you a price plus budget). Once you are inside the project, it is dynamic - if you decide you want a feature, you may have to give up another, less critical feature, in order to complete the project on time and on budget.

Typically big mid-project requests are put on a backlog for v2 of the software.

We highly recommend the Agile approach to software development.

James Mackintosh is President of Smartlaunch a custom web-based application development company based in Toronto, Canada. Smartlaunch uses the Agile methodology in their software development for customers based in North America and Europe.


View the original article here

Web Statistics