The rapid application development model emphasizes on delivering projects in small pieces. If the project is large, it is divided into a series of smaller projects. Each of these smaller projects is planned and delivered individually. Thus, with a series of smaller projects, the final project is delivered quickly and in a less structured manner. The major characteristic of the RAD model is that it focuses on the reuse of code, processes, templates, and tools.
The phases of RAD model are listed below.
- Planning: Inthis phase, the tasks and activities are planned. The derivables produced from this phase are project definition, project management procedures, and a work plan. Project definition determines and describes the project to be developed. Project management procedure describes processes for managing issues, scope, risk, communication, quality, and so on. Work plan describes the activities required for completing the project.
- Analysis: The requirements are gathered at a high level instead of at the precise set of detailed requirements level. Incase the user changes the requirements, RAD allows changing these requirements over a period of time. This phase determines plans for testing, training and implementation processes. Generally, the RAD projects are small in size, due to which high-level strategy documents are avoided.
- Prototyping: The requirements defined in the analysis phase are used to develop a prototype of the application. A final system is then developed with the help of the prototype. For this, it is essential to make decisions regarding technology and the tools required to develop the final system.
- Repeat analysis and prototyping as necessary: When the prototype is developed, it is sent to the user for evaluating its functioning. After the modified requirements are available, the prototype is updated according to the new set of requirements and is again sent to the user for analysis.
- Conclusion of prototyping: As a prototype is an iterative process, the project manager and user agree on a fixed number of processes. Ideally, three iterations are considered. After the third iteration, additional tasks for developing the software are performed and then tested. Last of all, the tested software is implemented.
- Implementation: The developed software, which is fully functioning, is deployed at the user's end.
Various advantages and disadvantages associated with the RAD model are listed in Table.
Table Advantages and Disadvantages of RAD Model
- Deliverables are easier to transfer as high-level abstractions, scripts, and intermediate codes are used.
- Provides greater flexibility as redesign is done according to the developer.
- Results in reduction of manual coding due to code generators and code reuse.
- Encourages user involvement.
- Possibility of lesser defects due to prototyping in nature.
- Useful for only larger projects
- RAD projects fail if there is no commitment by the developers or the users to get software completed on time.
- Not appropriate when technical risks are high. This occurs when the new application utilizes new technology or when new software requires a high degree of interoperability with existing system.
- As the interests of users and developers can diverge from single iteration to next, requirements may not converge in RAD model.