Rapid Application Development Techniques
 
  May 2002 - Pragmatic Software Newsletters 
 

Delivering Software Solutions On-Time and On-Budget

According to the Standish Group, only 16% of all software development projects are delivered on-time and on-budget. A staggering 31% of projects are cancelled before they ever get completed.

In this month's newsletter, we will introduce the Iterative Software Lifecycle and explain how it can help you consistently deliver software solutions on-time and on-budget. In the coming months, we will explain each phase of the Iterative Software Lifecycle and provide you with step-by-step instructions on implementing it.

This newsletter is sponsored by Software Planner (http://www.SoftwarePlanner.com).

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. To learn more about Software Planner, click the link below.

Software Planner


 

Pragmatic Software Co., Inc.
9199 S. Fox Fire Way
Highlands RanchColorado 80129

 

Phone: 720.344.4846
Fax: 720.344.4847
Web site: http://www.pragmaticsw.com
E-mail: info@pragmaticsw.com