How does Agile help us in Software Development. Take a look at the following image. It clearly shows why people should move into Agile software development methodology.
It is bit hard for me to Agree to the ADAPTABILITY curve. Generally it is very difficult to build Agile software teams(teams not just doing Scrums). That is an inherited problem with Agile.
For me the most important curve is the first one that is visibility. Agile expands our visibility in great terms. All the stakeholders know where the project stands. It is not only the visibility but status of the project can also be determined easily. It will allow the users\clients to revert back to their initial requirements and alter to provide a better solution. If you compare the cost of a defect in a Agile life cycle and Waterfall life cycle, cost if considerably low in Agile even in the later stage of your project. Because Agile is the most flexible software development methodology. You can change/add new code at any time during the development life cycle. You will probably see coding happens even before two weeks prior to a release in Agile and you will hardly find the same happening in waterfall where code freeze happens months prior to testing is begun.
The image is taken from: http://www.versionone.com/Agile101/Agile-Software-Development-Benefits/
Below I am quoting their post:
Agile methods grew out of the real-life project experiences of leading software professionals who had experienced the challenges and limitations of traditional waterfall development on project after project. The approach promoted by agile development is in direct response to the issue associated with traditional software development – both in terms of overall philosophy as well as specific processes.Agile development, in its simplest form, offers a lightweight framework for helping teams, given a constantly evolving functional and technical landscape, maintain a focus on the rapid delivery of business value (i.e., “bang for the buck”). As a result of this focus and its associated benefits, organizations are capable of significantly reducing the overall riskassociated with software development.In particular, agile development accelerates the delivery of initial business value, and through a process of continuous planning and feedback, is able to ensure that value is continuing to be maximized throughout the development process. As a result of this iterative planning and feedback loop, teams are able to continuously align the delivered software with desired business needs, easily adapting to changing requirements throughout the process. By measuring and evaluating status based on the undeniable truth of working, testing software, much more accurate visibility into the actual progress of projects is available. Finally, as a result of following an agile process, at the conclusion of a project is a software system that much better addresses the business and customer needs.The diagram below displays the differences between agile and waterfall development processes. By delivering working, tested, deployable software on an incremental basis, agile development delivers increased value, visibility, and adaptability much earlier in the life cycle, significantly reducing project risk.
No comments:
Post a Comment