August 12, 2009
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.
The RAD Solution:
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 further expanded and formalized Rapid Iterative Production Prototyping and in 1991 published the book Rapid Application Development.
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. Extreme programming is a somewhat controversial 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.
Core Elements of Rapid Application Development:
RAD has many core elements that make it a unique methodology including prototyping, iterative development, time boxing, team members, management approach, and RAD tools.