Republished from Developers.net
Rapid Application Development (RAD) is a marketing buzzword that almost every software development tool uses, yet one that rarely applies. At a high level it is an Application Development technique that uses Prototypes, Iterative Customization, and CASE Tools. This article will focus on RAD: its history, advantages and disadvantages, appropriateness for various problems, core elements, process, and additionally will focus on CASE tools that support RAD.
Rapid Application Development (RAD) is a software development methodology that focuses on building applications in a very short amount of time; traditionally with compromises in usability, features and/or execution speed. The term has recently become a marketing buzzword that generically describes applications that can be designed and developed within 60-90 days, but it was originally intended to describe a process of development that involves application prototyping and iterative development.
Rapid Application Development has been in existence for nearly 20 years, but is as valid today as it was when it was initially conceptualized. 1. The Problem
Processes developed in the 1970’s, such as the Waterfall development methodology, often resulted in the development of applications that did not meet client needs because applications took so long to build that requirements had changed before the system was complete. Thus, for larger projects, these methodologies frequently resulted in complete, but unusable, systems. The cause of the problem was identified in the strict adherence to completion of one lifecycle stage before moving on to the next lifecycle stage. Specifically, building an application based on requirements that have been frozen at a point in time means that the longer development takes, the more likely that business needs will change and invalidate the requirements that the system being developed is based upon. 2. The RAD Solution
There have been many responses to this problem from the 1980’s through today. In 1986 Barry Boehm wrote A Spiral Model of Software Development and Enhancement, which initially defined the concepts of prototyping and iterative development and had a focus on risk reduction. During the late 1980’s Scott Shultz and James Martin refined the ideas of prototyping and iterative development into a methodology called Rapid Iterative Production Prototyping (RIPP) that focused on developing systems in a short timeframe with small teams of highly qualified, motivated, and experienced staff. James Martin (who was nominated for a Pulitzer prize and is frequently called “the Guru of the Information Age”) further expanded and formalized Rapid Iterative Production Prototyping and in 1991 published the book Rapid Application Development, the details of which are explained in the remainder of this article.
Core Partners Inc.
5 South Market Street, #302, Frederick, MD 21701 tel: (301) 695-2673 fax: (301) 695-1506
Other solutions have arisen out of the need for adaptable development techniques, most notably the agile methodologies developed during early 2000’s, the most popular of which is Extreme Programming. Kent Beck wrote the first book on the topic in 1999 and expanded it with a second edition in 2005. Extreme programming is a somewhat controvercial methodology that deemphasizes formalized requirements gathering and instead puts a heavy focus on developing programming code in short development cycles with constant feedback from the user.
C. Advantages and Disadvantages
Speed and quality are the primary advantages of Rapid Application Development, while potentially reduced scalability and feature sets are the disadvantages. 1. Increased Speed
As the name suggests, Rapid Application Development’s primary advantage lies in an application’s increased development speed and decreased time to...