Rapid Application Development Techniques
Iterative Software Lifecycle
Two of the more popular life cycle models are the traditional Waterfall model and the Iterative or Spiral model. The Iterative/Spiral model is a rapid application development (RAD) model.
In the Waterfall model, a project progresses through sequential steps from the initial concept through system testing. The problem with this development life cycle is that you are usually not aware of major problems until the system is ready for production, because this is when all the pieces of the software are integrated together in preparation for production.
The Iterative Software Lifecycle (sometimes referred to as the Spiral Software Lifecycle) model is a risk-oriented one that divides a software project up into different subprojects.
Each subproject addresses one or more major risks until all are identified. The Iterative model allows for increased creativity and greater management of risk due to its iterative nature.
This lifecycle implements portions of functionality in pre-releases. For example, a layer of functionality will be delivered as a .1 release. The full product is run through the testing cycle and user acceptance. Then more functionality is added as .2 release. It is then run through the testing cycle and user acceptance.
This Iterative cycle is repeated until all functionality is added and fully tested. This allows the team to discover performance issues and design flaws early in the project.
Phases of the Iterative Software Lifecycle
Below are the phases of the Iterative life cycle:
* Planning (Analysis) Phase
* Design Phase
* Iterative Code/Test/Release Phases
* Production Phase
To ensure that each phase is delivered on-time and on-budget, there are specific deliverables for each phase:
Planning (Analysis) Phase Deliverables:
* Functional Specification
* Functional Specification Signoff
* Risk Assessment
Design Phase Deliverables:
* Detailed Design Document / Use Cases
* Test Design
* Object Model
* Data Model
* Project Plan
* Budget
* Customer, Development, Testing Signoff
Iterative Code/Test/Release Phases Deliverables:
* Triage
* Weekly Status Reports
* Risk Assessment
* System Documentation
* User Documentation (if needed)
* Test Signoff for each iteration
* Customer Signoff for each iteration
Product Phase Deliverables:
* Final Test Signoff
* Final Customer Signoff
* Post Mortem