Tuesday, August 12, 2008

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

Summary


Using the Iterative Software Lifecycle model, you increase your ability to deliver on-time and on-budget by dividing your project into several smaller projects with discreet deliverables.

As you complete each subproject, you are able to evaluate your performance on the prior iteration and improve upcoming iterations with lessons learned from the previous iteration.

Customers are happy because they receive functionality quicker, project managers and team members are happy because they successfully deliver solutions quickly without major delays.

Free Templates


Click the link below for some free templates to get you started with the Iterative Software Lifecycle. These templates cover all areas of lifecycle, from the planning to production phases.

Templates for the Iterative Software Lifecycle

Software Planner


Software Planner is a web-based software lifecycle management tool that fully supports the Iterative Software Lifecycle.

No comments:

How to Get files from the directory - One more method

 import os import openpyxl # Specify the target folder folder_path = "C:/Your/Target/Folder"  # Replace with the actual path # Cre...