Iterative software development became more prominent to overcome the weaknesses of the waterfall development process, namely the issues related to inability to incorporate changes at a later date, as well as the fact that in most client driven requirements, having all the requirements complete in the beginning is not realistic in a number of cases.
So what is iterative software development? Agile software development is a conceptual framework for undertaking software engineering projects that embraces and promotes evolutionary change throughout the entire life-cycle of the project. In the iterative cycle, the developer has the chance to develop a software system incrementally, allowing the people involved to learn from previous iterations and make those changes in the next iterations. Key steps in the process were to start with a simple implementation of a subset of the software requirements and iteratively enhance the evolving sequence of versions until the full system is implemented.
Each iteration is a self-contained mini-project composed of activities such as requirements analysis, design, programming, and test. The goal for each iteration is to develop a system that is stable and testable, but does not necessarily have all the functionality incorporated. Most iteration releases are internal, a baseline primarily for the benefit of the development team—they are not released externally. Hence, each suceeding iteration will typically have more functionality included. Typically, an iteration will be between 2 and 5 weeks.
Saturday, June 23, 2007
Iterative software development: The process
Posted by Ashish Agarwal at 6/23/2007 06:37:00 PM
Labels: Development, Iterative, Processes, Software
Subscribe by Email |
|
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment