What is RAD Model ?
RAD Model is Rapid Application Development model. It is a type of Incremental Model. In RAD model the components or functions are developed in parallel as if they are mini projects or prototype. A prototype is a working model that is functionally equivalent to a component of the product. The developments are time boxed, delivered and then assembled into a working prototype.
Rapid Application Development (RAD) is a software development method that uses minimal planning in favor of rapid prototyping. The functional modules are developed simultaneously as prototypes and are integrated to make the complete product for faster product delivery. The customer gets early visibility in the software and can provide feedback on design, delivery, and other requirements.
Since there is no detailed preplanning, it makes it easier to incorporate the changes within the development process. RAD projects follow Iterative and Incremental model and have small teams comprising of developers, domain experts, customer representatives and other IT resources working progressively on their component or prototype. The most important aspect for this model to be successful is to make sure that the prototypes developed are reusable.
Phases of RAD Model:
Business Modeling: The business model for the product is designed and information flow is identified between various business functions. A complete business analysis is performed to find the vital information for business and also how it can be obtained.
Data Modeling: Information gathered from business modeling is used to define data objects that are needed for the business. The relation between these data objects are established and defined in detail in relevance to the business model.
Process Modeling: Data objects defined in data modeling are converted to achieve the business information flow to achieve some specific business objective. The process model for any changes or enhancements to the data object sets is defined in this phase.
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 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.
Advantages and Disadvantages of RAD Model
- It reduces development time as all prototypes are developed in parallel.
- Increases reusability of components
- Quick initial reviews occur
- Encourages customer feedback as the customer gets early visibility.
- The reusability of components help to speed up development.
- Depends on strong team and individual performances for identifying business requirements.
- RAD can be useful only on the products that can be divided into functional modules.
- Requires highly skilled developers/designers.
- It cannot be used for cheaper projects as cost of modeling and automated code generation may be very high.