Rapid application development (RAD) refers to a type of software development life cycle which uses minimal planning in favor of rapid prototyping. The "planning" of software written in RAD is interleaved with writing the software itself. The lack of extensive pre-planning generally allowed software to be written much faster, and makes it more flexible to change in requirement. Rapid application development is a software development methodology, which involves iterative development and the construction of prototypes.
It is a merger of various structured techniques, especially the data driven Information Engineering with prototyping techniques to accelerate software systems development. RAD is a linear sequential software development process model that emphasis an extremely short development cycle using a component based construction approach. If the requirements are well understood and defines, and the project scope is constraint, the RAD process enables a development team to create a fully functional system with in very short time period.
RAD model has the following phases:
1. Business Modeling: The information flow among business functions is defined by answering questions like what information drives the business process, what information is generated, who generates it, where does the information go, who process it and so on.
2. Data Modeling: The information collected from business modeling is refined into a set of data objects (entities) that are needed to support the business. The attributes (character of each entity) are identified and the relation between these data objects (entities) is defined.
3. Process Modeling: The data object defined in the data modeling phase are transformed to achieve the information flow necessary to implement a business function. Processing descriptions are created for adding, modifying, deleting or retrieving a data object.
4. Application Generation: Automated tools are used to facilitate construction of the software; even they use the 4th GL techniques.
5. Testing and Turn over: Many of the programming components have already been tested since RAD emphasis reuse. This reduces overall testing time. But new components must be tested and all interfaces must be fully exercised.
What are the advantages and disadvantages of RAD?
RAD reduces the development time and reusability of components help to speed up development. All functions are modularized so it is easy to work with.
For large projects RAD require highly skilled engineers in the team. Both end customer and developer should be committed to complete the system in a much abbreviated time frame. If commitment is lacking RAD will fail. RAD is based on Object Oriented approach and if it is difficult to modularize the project the RAD may not work well.
Cinoy M.R is a Computing Engineer, specializing in solution / concept selling in Information Technology, Wealth Management, as well as Stress Management.
The shift from traditional session-based client/server development to open sessionless and collaborative development like Web 2.0 has increased the need for faster iterations through the phases of the SDLC. This coupled with the growing utilization of open source frameworks and products in core commercial development has, for many developers, rekindled interest in finding a silver bullet RAD methodology.
Although most RAD methodologies foster software re-use, small team structure and distributed system development, most RAD practitioners recognize that ultimately, there is no single “rapid” methodology that can provide an order of magnitude improvement over any other development methodology.
All flavors of RAD have the potential for providing a good framework for faster product development with improved code quality, but successful implementation and benefits often hinge on project type, schedule, software release cycle and corporate culture. It may also be of interest that some of the largest software vendors such as Microsoft and IBM do not extensively utilize RAD in the development of their flagship products and for the most part, they still primarily rely on traditional waterfall methodologies with some degree of spiraling.
In selecting the most appropriate RAD methodology, the pros and cons of each should be evaluated and matched to the development environment, culture and technology. The following table contains a high-level summary of some of the major flavors of RAD and their relative strengths and weakness.
RAD Model
Related links: