RAD model

From: http://www.chrysalis-solutions.com/images/rad.gif

RAD (Rapid Application Development) is based on prototyping and iterative development with no specific planning involved.

This uses the minimal planning processes to make more efficient the development process. In RAD model the functional modules are developed in parallel as prototypes and are integrated to make the complete product for faster product delivery.

RAD model distributes the analysis, design, build, and test phases into a series of short, iterative development cycles. Following are the phases of RAD Model:

  • 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. 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 Modeling: The information gathered in the Business Modeling 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 Modeling: The data object sets defined in the Data Modeling 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 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.


Comparing with traditional SDLC:

From: http://www.onestoptesting.com/images/tradvsrad.jpg
  • RAD should be used only when a system can be modularized to be delivered in incremental manner.
  • It should be used if there.s high availability of designers for modeling.
  • 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 course of the project and working prototypes are to be presented to customer in small iterations of 2-3 months.


Pros Cons
  • 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 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.
  • 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 modeling skills.
  • Inapplicable to cheaper projects as cost of modeling 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.
  • Suitable for project requiring shorter development times.


Feel free to visit the following pages to learn more about RAD Development.





2 thoughts on “RAD model

  1. Really cool information, its nice to see a topic that is not on the masteries. I think that the RAD model is a very useful model to develop software in short periods of time, but for a high quiality program i think that it´s very important to have a plan and follow it. High quality software is build on a very solid base or idea. The design of the software has to be set from the very first day and then build all the features around it without setting the main idea or principle apart. With constant changing, no planning and short developing periods i think that building high quality software with this model can be very difficult.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s