Hemant Vishwakarma THESEOBACKLINK.COM hello@theseobacklink.com
Email Us - hello@theseobacklink.com

Article -> Article Details

Title What is Rapid Application Development (RAD)Model in Software Engineering?
Category Computers --> Computer Science
Meta Keywords rapid application development,rapid application development model,rapid application development model
Owner Animesh

ntroduction to Rapid Application Development (RAD)Model

Looking for some faster way of development? Does not want to implement an Agile methodology fully? Suffering from the slowness of waterfall methodology? Are you irritated on the restarting the development over and over for every change or new requirements? If all of the question's answers are yes, Well, You need Rapid Application Development(RAD) methodology.

RAD is a framework that is for event-driven system development like call back or state machine.

RAD was invented by James Martin in the year of 1991. There are many upgrades and tweaks happened since then to finetune RAD model. But it is still a very popular methodology among software developers. It is very useful due to its semi agile and micro waterfall work principles.

Software Development Models:

A software cycle deals with various parts and phases from planning to testing and deploying. All these activities are carried out in different ways, as per the needs. Each way is known as a Software Development Lifecycle Model (SDLC).

[caption id="attachment_15858" align="aligncenter" width="510"]Traditional Software Development Life Cycle Traditional Software Development Life Cycle[/caption]

Software life cycle models describe phases of the software cycle and the order in which those phases are executed. There are lots of models, and many companies adopt their own, but all have very similar patterns.

The issues with the traditional development model

Users are always better when it comes to providing exact requirements and specifications. In the traditional system if some requirement or specification gets changed after it was provided it is not easy to alter. The new and exact requirement will then come as a change requirement and may not be picked up for development in the first place itself. By the time it is picked and delivered, the necessity of the same may have changed again or may have been scrapped.

My Journey in Waterfall model

I can very well remember the days after our final code went to production. Numerous calls, tickets, bugs and change requests bombarded our mailboxes. We were puzzled if we had developed the wrong product. We were like seating in a war room to fix and test all the issues. After spending days and nights before production, we could not even go for a vacation for at least three months.

In this war room like situation if we got a regression bug. That was Cherry on the top. We used to start interacting with clients whose name, we never heard before!!

[caption id="attachment_16088" align="aligncenter" width="766"]Waterfall model Waterfall model[/caption]

Sound familiar?? I know that you are smiling.

Rapid Application Development Model:

RAD is a linear sequential software development process model that emphasizes an extremely short development cycle using a component-based construction approach. If the requirements are well understood and defined, and the project scope is a constraint, the RAD process enables a development team to create a fully functional system within a very short time period.

Professor Clifford Kettemborough of Whitehead College, University of Redlands, defines Rapid Application Development as “an approach to building computer systems which combine Computer-Assisted Software Engineering (CASE) tools and techniques, user-driven prototyping, and stringent project delivery time limits into a potent, tested, reliable formula for top-notch quality and productivity. RAD drastically raises the quality of finished systems while reducing the time it takes to build them.”

Online Knowledge defines Rapid Application Development as “a methodology that enables organizations to develop strategically important systems faster while reducing development costs and maintaining quality. This is achieved by using a series of proven application development techniques, within a well-defined methodology.”

RAD mainly focuses on rapid prototyping. Once the quick prototype is created, the same is displayed to all. Stakeholders for feedback
on the contrary over a lengthy development and testing cycle. The concept of RAD is to treat a requirement as soft clay than a solid iron. It is a very necessary model due to the highly volatile market condition and super competitive market.

Over minimal iterations, these feedbacks are incorporated into the prototype and finally merged to the original code line.

History of RAD(Rapid Application Development)

Stanley Marcus of Neiman Marcus said, “There are only two things of importance. One is the customer, and the other is the product. If you take care of customers, they come back. If you take care of the product, it doesn’t come back. It’s just that simple. And it’s just that difficult.”

With the traditional, Waterfall model has a rigid, cascading, one-way steps of stage-wise of development. This code-driven approach is a major roadblock to the new generation software development.

Rapid Application Development(RAD) otherwise known as  Rapid application Building(RAB) was a response to the plan driver waterfall process, inspired by the structured system analysis and design method(SSADM).

RAD in current days follows an open standard otherwise known as Dynamic System Development Method.

Barry Boehm initially came up with a spiral model which was(is now also) a risk driven development. In this approach, he introduced process modelling than methodology phases.

During the initial phase, Prototyping was seen as a way of reducing the risk. Later Tom Gilb's rework on the prototype refinement became the Rapid Iterative Production Prototyping (RIPP). James Martin then further extended the RIPP model to today's RAD(Rapid Application Development) model.

Definition of Rapid application development

As per fundamentals of information system 7th edition by Ralph Stair and George Reynolds -" a system development approach that employees tools, techniques and methodologies designed to speed application development".

RAD promotes a very highly collaborative, team-based yet individual excellence dependent approach by evolving the requirements and delivering micro components. It promotes "to try before the client actually buys" culture.

to read more click here