Rapid application development (RAD)

Rapid application development (RAD) is a system of software development that focuses on speed and prototyping. Unlike other development methodologies, which often call for extensive planning, RAD features a shorter planning period and a greater emphasis on the creation of multiple prototypes, ongoing testing, and iterative development. Using RAD allows software developers to create applications quickly to meet an immediate need, and because the project takes less time, the situation or requirements ideally will not change during this period, thus simplifying the creation process. RAD is generally considered most appropriate for well-defined projects carried out by small teams.

Overview

The process of developing a computer application varies based on the nature and purpose of the software application, the company producing it, the team responsible for creating it, and the overall industry the application is designed to benefit. In some cases, a complex application may be created by a large team, with individual members or small groups responsible for carrying out specific tasks. In such cases, extensive planning is typically necessary in order to ensure that all necessary tasks are carried out and that the application functions as intended. However, this type of application-development process is by nature time consuming, in large part because of the length of the planning stage. In addition, the more people involved with a project, the more likely there are to be delays because of individual stumbling blocks or conflicts among application developers. These delays can be problematic because computer technology and user needs evolve quickly, and in some cases, applications may no longer be usable or relevant by the time they are completed, necessitating further work.

In response to the delays inherent to existing application-development methodologies, a number of new development strategies were created throughout the 1980s and 1990s, many of which emphasized iterative development over planning. In these methodologies, the application-development process consists of a short planning stage and the creation of multiple prototypes, which can be adapted and improved easily and quickly. The term “rapid application development” was popularized by British information technology expert James Martin, who in 1991 published an eponymous book outlining his version of RAD.

Martin’s methodology was based on several key factors, among them iterative development, prototyping, and the use of up-to-date computer-based tools. Development teams following his RAD methodology complete a number of phases, including the requirements planning phase, the user design phase, and the construction phase. During the construction phase, the team develops a prototype, tests the prototype, collects data and refines the requirements of the application, and creates a new prototype that takes those factors into account; this development cycle continues until the application enters its final state. Once the process has been completed, the application can be delivered to a client or put into use within the company that developed it. According to Martin, this process is best carried out by small groups of developers who are familiar both with RAD and with the needs of the project and are able to work quickly, agilely, and collaboratively.

Bibliography

Highsmith, James A. Adaptive Software Development: A Collaborative Approach to Managing Complex Systems. New York: Dorset, 2013. Digital file.

Johnson, Bruce, et al. Flexible Software Design: Systems Development for Changing Requirements. Boca Raton: Auerbach, 2005. Print.

Khebbal, Sukhdev, and Chris Sharpington. Rapid Application Generation of Business and Finance Software. New York: Springer, 2011. Print.

Lewis, William E., David D. Dobbs, and Gunasekaran Veerapillai. Software Testing and Continuous Quality Improvement. 3rd ed. Boca Raton: Auerbach, 2012. Digital file.

Martin, James. Rapid Application Development. 6th ed. New York: Macmillan, 1995. Print.

McConnell, Steve. Rapid Development: Taming Wild Software Schedules. Redmond: Microsoft P, 2010. Digital file.

Münch, Jürgen, et al. Software Process Definition and Management. London: Springer, 2012. Print.

Perry, William, and Randall Rice. Surviving the Top Ten Challenges of Software Testing. New York: Dorset, 2013. Digital file.