Rapid application development (RAD) has been present for some time now in software development. This method was conceived to fix some of the shortfalls that were being experienced with the waterfall model.
Rapid application development is specifically suited for developing software that conforms to user requirements. The development process is suited for adaptability to accommodate new information that might be gained during the project’s lifetime.
RAD is believed to have started with the spiral model which was developed by Barry Boehm. The spiral model focused on creating software using prototypes. This enabled a stripped down version of the software to be tested early on in the development phase to establish the feasibility of the project.
James Martin is considered to be the person who brought the RAD process to the limelight after he published a book on the rapid application development. His model emphasizes on user involvement in the development process. The RAD method has four phases. User involvement is very critical in the first phases which are requirement planning and user design. After the team has agreed on a working model, the developers develop the software in the construction phase, and the final tasks such as overall testing and data conversion are performed in the final stage called the cutover phase.
RAD is one of the popular methods used in agile software development. The agile method uses an iterative development model where the developers release a new improved version of the working software after a while. The method allows for the seamless evolution of software to accommodate user input and emerging trends. It is especially popular with mobile software.
Benefits of Rapid Application Development
Rapid application development has some advantages as that include:
Fast user feedback: Getting constructive user feedback is important in any development project. The RAD approach is designed to incorporate user feedback in the most crucial phases of the development process. The constant feedback is gotten through the many iterations and prototypes.
Measurable progress: The development process involves using iterations and prototypes which can be used to gauge the progress made on the project. This form of segmentation can, therefore, be used to plan schedules and manage budgets accurately.
Adaptability: The development process in RAD is designed for flexibility to incorporate new suggestions and user inputs. Therefore, significant changes in the requirements and system design can easily be integrated into the software during its development.
Early systems integration: the use of prototypes allows for system integrations to be done early in the development cycle. This is unlike in the waterfall model where the systems integration is done towards the end of the project. With RAD the early systems integration allows the developers to identify and fix critical errors in the system as early on.
Compartmentalization of system components: RAD uses independent and functional components that are later integrated to form the entire system. These components are useful in the iterative process since they enable easy modification. This practice is similar to the use of objects in object-oriented programming. The independent components are tested independently and hence reduce the time taken in the testing phase. They can also be reused in other projects.