Monday, April 20, 2009

Explain Rapid Application Development (RAD).

Rapid application development (RAD) refers to a software development life cycle designed to give much faster development and higher quality results than the traditional life cycle. The major difference between this and the waterfall model is not just the creation of the operational prototype or functional subset; the essence is that it be done very quickly—hence the term rapid prototyping

In Rapid application development (RAD), primary importance is on building a prototype that looks and acts like the desired product in order to test its usefulness. The prototype is a vital part of the requirements determination phase, and may be created using tools different from those used for the final product. Once the prototype is approved, it is discarded and the "real" software is written.

The steps may include:
  • Requirement Gathering
  • Creating Design
  • Building Prototype
  • Refine Requirement and repeat the steps.

When to use (Rapid Application Development) RAD model

When development time is critical, or when a product is needed now before things change.

When stakeholders are not sure exactly what they want other than some basic requirements.

When Quality is negotiable.

When not to use (Rapid Application Development) RAD model

When stakeholders think they will save a lot of money using RAD.

When stakeholders are not willing to compromise on Quality and will not allow secondary requirements to be ‘timeboxed’ out of the development iteration.

When project management will not accept informal project deliverables.

When the product must support or interface with other critical systems (reliability and performance are not critical). Source

Also see: WHEN RAD WORKS AND WHEN IT DOESN'T

Advantages of (Rapid Application Development) RAD model

As customer is involved at all stages of development, it leads to a product
achieving customer satisfaction.

Usage of powerful development tools results into reduced software development
cycle time.

Feed back from the customer/user is available at the initial stages.

Makes use of reusable components, to decrease the cycle time.

Results into reduced costs as less developers are required.

Disadvantages of (Rapid Application Development) RAD model

The model makes use of efficient tools, to develop the prototype quickly, which
calls for hiring skilled professional.

Team leader must work closely with developers and customers/users to close
the project in time.

Absence of reusable components can lead to failure of the project.
[Adv & Disadv of RAD Source: Software Engineering by Sabharwal Sangeeta]

Also See:

Waterfall model, When to use, its advantages & disadvantages
Incremental model, When to use, its advantages & disadvantages
Spiral model, When to use, its advantages & disadvantages
Comparison of Software Development Models
Questions on RAD.