RAD is a software development approach. It is a type of incremental model. This approach put less emphasis on planning and more emphasis on an adaptive process. In the RAD model, the functional modules are developed in parallel as prototypes and are integrated to make the complete product for faster product delivery.
The term was inspired by James Martin, who worked with colleagues to develop a new method called Rapid Iterative Production Prototyping (RIPP).
RAD is especially well suited for (although not limited to) developing software that is driven by user interface requirements. Approaches to rapid development include the adaptive, agile, spiral, and unified models.
To Overcome limitation of Waterfall Model, RAD was introduced.
James Martin's development philosophy focused on speed and used strategies such as prototyping, iterative development and time boxing.
In RAD model the components or functions are developed in parallel as if they were mini projects. The developments are time boxed, delivered and then assembled into a working prototype.
RAD Model Design
The phases in the rapid application development (RAD) model are:
Business modeling: The business model for the product under development is designed in terms of flow of information and the distribution of information between various business channels.
Data modeling: The information gathered in the Business modeling phase is reviewed and analysed to form sets of data objects vital for the business.
Process modeling: Process descriptions for adding, deleting, retrieving or modifying a data object are given.
Application generation: The actual system is built and coding is done by using automation tools to convert process and data models into actual prototypes.
Testing and turnover: The overall testing time is reduced in the RAD model as the prototypes are independently tested during every iteration
Advantages of RAD Model
- Easy to measure progress
- Changing requirements can be accommodated
- Save Development Time
- Encourage Customer Feedback
- Quick Review
- Solve Integration Issue
- Frequent Delivery
Disadvantages of RAD Model
- Depend on Team skills, Require Highly skilled team
- High dependency on modeling skills
- Only system that can be modularized can be built using RAD
Where to Use RAD
- When high skills and high budged and Less time.
- For system that can be modularized in 2-3 months.