The Advantages and Drawbacks of Agile Software Development

There are many differences between the agile and waterfall methods of software development. We will summarize the main points here, as well as give an example of an agile project.

First of all, waterfall development projects have distinct phases: start, plan, design, build, test, and close. This is why the waterfall method is also called the phased approach. In contrast to this, the iterative (or agile) method involves a sequence of phases that repeats itself over and over throughout the project. Of course you would still do your initial planning, but then you would cycle through the following phases: requirements, analysis and design, implementation, testing, evaluation, and back to planning. These steps would be repeated until your team completes the desired solution, at which point you would move on to deployment.

Agile development places emphasis on:

1. Individuals on the project team

2. Producing a working deliverable

3. Collaborating with business owners/clients

4. Responding quickly to necessary change

Advantages:

  • Faster speed-to-market and increased business efficiencies
  • A reduced project budget
  • Less defects in the final product
  • Fewer “surprises” (scope changes)

Drawbacks:

  • When change comes so quickly, it is difficult to avoid resistance from stakeholders and complications to end user training
  • Because agile methods are not process-oriented and require quick response to change, a lack of documentation is often a primary characteristic

The following case study shows just how successful agile development projects can be. A US government agency had 23 disparate databases that needed to be consolidated into a single data store. The project was completed in phases:

  1. Consolidate the 23 databases into one central database, while still capturing updates from the old databases
  2. Replicate database on a SQL server and monitor performance
  3. Convert old reports to new Crystal reports

If you are new to agile development, make sure that you get as much information on it as you can before using this development method in one of your IT projects.


Author: Kathlika Thomas