Rapid application development (RAD) is a system development methodology that employs joint application design (to obtain user input), prototyping, CASE technology, application generators, and similar tools to expedite the design process.
Rapid application development promotes fast, efficient, accurate program and/or system development and delivery. Compared to other methodologies, RAD generally improves user/designer communication, user cooperation, and user commitment, and promotes better documentation.
Because rapid application development adopts prototyping and joint application design, RAD inherits their strengths and their weaknesses. More specifically, RAD is not suitable for mathematical or computationally-oriented applications. Because rapid application development stresses speed, quality indicators such as consistency, standardization, reusability, and reliability are easily overlooked.
Rapid application development is an alternative to the traditional system development life cycle (# 1). The RAD methodology incorporates joint application design (# 14) and prototyping (# 31). CASE technology (# 5) is often used to speed the development process.
Rapid application development (RAD) is a system development methodology that employs joint application design (to obtain user input), prototyping, CASE technology, application generators, and similar tools to expedite the design process. Initially suggested by James Martin, this methodology gained support during the 1980s because of the wide availability of such powerful computer software as fourth-generation languages, application generators, and CASE tools, and the need to develop information systems more quickly. The primary objectives include high quality, fast development, and low cost.
Rapid application development focuses on four major components: tools, people, methodology, and management. Current, powerful computing technology is essential to support such tools as application generators, screen/form generators, report generators, fourth-generation languages, relational or object-oriented database tools, and CASE tools. People include users and the development team. The methodology stresses prototyping and joint application design.
A strong management commitment is essential. Before implementing rapid application development, the organization should establish appropriate project management and formal user sign-off procedures. Additionally, standards should be established for the organizations data resources, applications, systems, and hardware platforms.
Martin suggests four phases to implement rapid application development: requirements planning, user design, construction, and cutover.
Requirements planning is much like traditional problem definition and systems analysis. RAD relies heavily on joint application design (JAD) sessions to determine the new system requirements.
During the user design phase, the JAD team examines the requirements and transforms them into logical descriptions. CASE tools are used extensively during this phase. The system design can be planned as a series of iterative steps or allowed to evolve (# 72).
During the construction phase, a prototype is built using the software tools described earlier. The JAD team then exercises the prototype and provides feedback that is used to refine the prototype. The feedback and modification cycle continues until a final, acceptable version of the system emerges. In some cases, the initial prototype consists of screens, forms, reports, and other elements of the user interface, and the underlying logic is added to the prototype only after the user interface is stabilized.
The cutover phase is similar to the traditional implementation phase (# 76). Key activities include training the users, converting or installing the system, and completing the necessary documentation.
There are several variations and/or extensions to the rapid application development methodology.
Courbon et al.4 defines an evolutionary approach in which progressive designs go through multiple, minimum-length cycles in which successive versions of the system under construction are utilized by the end user. Courbons evolutionary approach5 is also called middleout, breadboarding, and the iterative design approach.
The essence of the evolutionary approach is to have the user (or the manager) and the builder agree on a small but significant subproblem, and then to design and develop an initial system to support that immediate need. After a short period of use (a few weeks for instance), the system is evaluated, modified, and incrementally expanded. This cycle is repeated three to six times over the course of a few months until a relatively stable system that supports a cluster of related tasks evolves. The word relatively is important because, although the frequency and extent of system change will decrease or even cease, the system will never be truly stable. In effect, constant change is a conscious strategy.
Note that the evolutionary approach requires an unusual level of user (or management) participation. The user is actually the designer, and the system analyst merely implements required changes or modifications. Note also that this approach differs from traditional prototyping because the initial system is real, live, and usable, not just a pilot test.
Sprague6,7 and Carlsons1,2 quick-hit approach is designed to take advantage of recognized high payoff application tasks for which a system can be built very quickly. The basic idea is to gain user cooperation and confidence by rapidly developing a highly usable system. For example, imagine that a company is losing market share to a rival. Imagine further that a preliminary study suggests that the primary factors contributing to the problem are product quality, after-sale service, and brand recognition. Perhaps a simulation model that focuses on those factors can be designed and constructed quickly, yielding information that can help management correct the problem. Note that the system is designed quickly to hit the main points; hence the name quick hit approach. According to Sprague, the quick-hit approach is low risk and has a high potential short run payoff.
Many CASE products support prototyping. Screen painters, menu builders, report generators, fourth-generation languages, executable specification languages, spreadsheets, and database management programs are popular prototyping tools. There is no software specifically designed to support a JAD session. However, certain groupware, such as Lotus Notes, supports limited computer mediated conferencing.