RAD (Rapid Application Development
Rapid Application Development is based on prototyping and iterative development with no specific
planning involved. The process of writing the software itself involves the planning required for
developing the product . It focuses on gathering customer requirements through workshops or focus
groups, early testing of the prototypes by the customer using iterative concept, reuse of the existing
prototypes (components), continuous integration and rapid delivery.
A prototype is a working model that is functionally equivalent to a component of the product.
RAD Model
Business Modelling
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. A
complete business analysis is performed to find the vital information for business, how it can
be obtained, how and when is the information processed and what are the factors driving
successful flow of information.
Data Modelling
The information gathered in the Business Modelling phase is reviewed and analyzed to form
sets of data objects vital for the business. The attributes of all data sets is identified and
defined. The relation between these data objects are established and defined in detail in
relevance to the business model.
Process Modelling
The data object sets defined in the Data Modelling phase are converted to establish the
business information flow needed to achieve specific business objectives as per the business
model. The process model for any changes or enhancements to the data object sets is defined
in this phase. 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. However, the data flow and the interfaces between all the
components need to be thoroughly tested with complete test coverage. Since most of the
programming components have already been tested, it reduces the risk of any major issues.
The following illustration describes the RAD Model in detail.
RAD Model - Application
RAD model can be applied successfully to the projects in which clear modularization is
possible. If the project cannot be broken into modules, RAD may fail.
The following pointers describe the typical scenarios where RAD can be used −
RAD should be used only when a system can be modularized to be delivered in an
incremental manner.
It should be used if there is a high availability of designers for modelling.
It should be used only if the budget permits use of automated code generating tools.
RAD SDLC model should be chosen only if domain experts are available with relevant
business knowledge.
Should be used where the requirements change during the project and working
prototypes are to be presented to customer in small iterations of 2-3 months.
Advantages of the RAD Model are as follows −
Changing requirements can be accommodated.
Progress can be measured.
Iteration time can be short with use of powerful RAD tools.
Productivity with fewer people in a short time.
Reduced development time.
Increases reusability of components.
Quick initial reviews occur.
Encourages customer feedback.
Integration from very beginning solves a lot of integration issues.
Disadvantages of the RAD Model are as follows −
Dependency on technically strong team members for identifying business
requirements.
Only system that can be modularized can be built using RAD.
Requires highly skilled developers/designers.
High dependency on modelling skills.
Inapplicable to cheaper projects as cost of modelling and automated code
generation is very high.
Management complexity is more.
Suitable for systems that are component based and scalable.
Requires user involvement throughout the life cycle.