- In this lifecycle approach, the development is organized into a series of short, fixed length mini projects called Iterations.
- The resultant of each iteration is a subset of the actual production level software. Its neither a prototype nor an experimental throw away.
- The software should grow with each iteration until it unifies with the expected end result and that's why its called Iterative and Incremental Development.
- Its called Iterative and Evolutionary because feedbacks and adaptation evolves the specification and design.
- Each iteration follows a model of Requirements analysis, followed by Design, followed by Implementation and test and finally complete system Integration test.
- How changes are handled in such an iterative approach?
- The only thing that's permanent is Change its inevitable, so there is no point confronting it - embrace change instead.
- Having said that, the iterative development doesn't encourage or invoke sudden changes, it tries to ease the process of change.
- The early iterations can help in getting quick feedback from the business user, developer and tester - this minimizes speculation, and helps reaping the actual requirements and validating the path of development.
- Its easy to understand that work proceeds through a series of build-feedback-adapt cycles. The early iterations will no doubt, have some deviations from the actual requirements or the true path, but it will align itself to the true path later on.
- The only thing that's permanent is Change its inevitable, so there is no point confronting it - embrace change instead.
- There are multiple benefits of the Iterative Development:
- Projects are less likely to fail.
- Early rather than late mitigation of risks like technical, requirements, objectives, usability etc.,
- Visible progress
- Early feedbacks, user engagement, and adaptation leads to a refined and acceptable system
- Complexity is managed - the team is saved from analysis-paralysis or very long and complex steps - they have portions in their plate that they can eat easily.
- Projects are less likely to fail.
- The length of an iteration is equally important - it doesn't make sense to have a 6-week iteration in a 2 month long project.
- Short is good
- Small steps, rapid feedback and adaptation are at the core of Iterative development.
- A key idea is that whatever be the best length it has to be timeboxed - fixed. The partial system must be integrated, tested, and stabilized by the scheduled date - no exceptions at that.
- Short is good
Sunday, 30 August 2009
Iterative and Evolutionary development - Heads up
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment