Rapid Application Development (RAD) is one of the first software development methods where the development cycle breaks the rules of the waterfall method. This new cycle, described as iterative, incremental and adaptive found in all the so-called agile methods published thereafter. At that time (around the mid-eighties), there was another method named the spiral model of software development. It was a generic process model but the spiral model of software development is the basis of rapid application development (RAD).
How Rapid Application Development is Planned
RAD provides a basis for a prototypical procedure in which requirements for software are collected and converted into executable code as quickly as possible. This is presented to the client at a relatively early stage to identify misunderstandings in the requirements as well as additional requirements. The changes will be implemented in another version and presented again. These cycles are run through until the client is satisfied with the software and accepts it.
The adaptive planning of RAD originally met the needs of simple projects. It was generally limited to playing on one of the three sides of the famous project management triangle (which remained fixed in the waterfall method), namely: duration, cost and scope. The goal is to set at least one of the three parameters according to the immediate need of the user (added value). This schedule was qualified as operational and could be modified by the user during the project. A higher level of strategic planning was added later.
In terms of the principles of operation, the RAD method involves:
- A secure and short development cycle based on a simple phasing: Framing, Design, Construction and absolute respect for a temporal dimension (90 days optimum, 120 days maximum).
- A communication architecture involving working groups of variable structure and composition according to the needs of the phases and respecting a precise operating mode structured in three stages: pre-session, session, and post-session.
- Methods, techniques and tools for defining and applying choices on four potentially contradictory types of objectives: budget, deadlines, technical quality, functional quality and visibility.
- A design architecture based on the techniques of the object and particularly on those that allow a design for modifications
- A realization architecture that imposes, to guarantee technical quality, minimum standards, project reviews, and zero-defect milestones and recommends, guaranteeing functional quality, active prototyping and a focus on visibility.
Advantages of Application Development
The RAD approach usually requires less preparatory work and pre-planning and thus ensures productive results faster. Thanks to the time saved and the parallel development of the different software development phases, this form of software development means that ready-to-use software can usually be delivered in less than 120 days. In addition, the constant interaction between users and the developing prototype ensures higher quality.
The fast delivery of productive software, the fast iterations it enables and the close involvement of users are characteristics of agile software development.
Disadvantages of Application Development
The intense focus on the prototype in some cases results in a trial and error method where developers fail to deliver a superior solution from the technical point of view.