Why Agile?
Organizations report that their main reasons for considering a switch to an Agile Software Methodology are1:
- Enhanced ability to respond to changing priorities
- Improved software quality
- Increased developer productivity
- Accelerated time-to-market
These business drivers closely correspond to the actual experience of organizations that have implemented Agile methodologies. In a survey of nearly 1,700 organizations that implemented Agile methodologies, more than half of these organizations report at least a 25% improvement in productivity, time-to-market and software quality. 2
The flexibility to quickly adapt to new product requirements is the hallmark of Agile development. Web applications (the most modern of which are often categorized under the popular term "Web 2.0") have very different development cycles than traditional applications. As compared to desktop or client-server software, Web applications must come to market faster, have shorter update cycles, and have constantly changing requirements-most of which were never anticipated by the original "visionaries" of the application. This is because today's users of Web applications constantly generate demand for new features, major new functionality, and more intuitive site navigation. The emerging business model of "Software as a Service" (or SaaS), which centralizes the application on a vendor-hosted server, only accelerates these trends.
Traditional software development methodologies were suitable for a different era (20th C.) when the pace of change was driven by vendors, not users. Nevertheless, while traditional software development methodologies occasionally met minimally-acceptable goals for time-to-market and software stability, there were always been consistent, chronic complaints from stakeholders-including developers-about the shortcomings of traditional software development processes. Agile software development methodologies directly address these shortcomings, by offering a new philosophy under which more Agile-or flexible and adaptable-software development processes address the market realities of the 21st Century.
The 4 main business impacts of implementing Agile methodologies for software development are in the areas of:
- Predictability
- Flexibility
- Suitability
- Testability
Predictability
Anyone who has been involved, as a manager or stakeholder in traditional software development processes knows that software is almost never delivered as scheduled. More distressing is that, even.... more
Flexibility
The traditional waterfall process, like its namesake cannot be stopped or easily redirected once it starts. Once the final specification is delivered to engineering, there is no turning back.... more
Suitability
Even is the external world didn't change during the life cycle of a Waterfall development process, the chances of giving stakeholders exactly what they expected are slim. This is especially true in.... more
Testability
One of the most painful episodes in the birthing process of a new software product under the Waterfall method has got be the testing and validation stage. It is painful for.... more
Notes:
1. Agile Journal Online (http://www.agilejournal.com), Liz Barnett, August 8, 2007
2. Ibid.
