Agile – What is it and why is it important?

Agile software development seeks a more lightweight methodology of making changes and releases to software.  In the traditional, incremental approach, large pieces of software are written at once, and releases happen less frequently.  Once features are complete, the testing phase happens, and then deployment to production.  These releases can happen over many weeks in time, so turnaround for new features tends to be slow.   Advocates would argue that this forces discipline in the process, and prevents haphazard releases and buggy software.

Agile methodologies, seek to accelerate releases of much smaller pieces of code. These releases can happen daily or even many times a day, as developers themselves are given the levers to push code.  Agile tends to be more reactive to business needs, with less planning and requirements gathering up front.

While Agile remains the buzzword of the day, it may not work for every software development project.  Web development & applications where small failures can easily be tolerated and where small teams are at work on the effort, make most sense.

Sean Hull asks on Quora – What is Agile software development and why is it important?