You are on page 1of 11

ISAM 5635 Parthenopi Konstantinou

RAPID APPLICATION DEVELOPMENT


Parthenopi Konstantinou
ISAM 5635

ABSTRACT

Today, many development organizations are adopting iterative development

methodologies emphasized by Rapid Application Development (RAD) cycles. Unlike

waterfall development life cycles, where testing is done at the end of the project, iterative

life cycles specify testing at multiple points during development. It is easy to understand

the importance of including system performance analysis and predictive tuning in the

process. Identifying the addressing flows early, especially performance limitations, has

as advantage the cuts of the cost to fix them and at the same time minimizes the impact

on the project schedule. RAD has been proven to be a valuable software strategy.

However, it is not without pitfalls and risks. RAD incorporates some defects that we need

to adjust. Research and capitalization should be invested in order to minimize them and

use them as of companies advantage.

(Source from www.credata.com)

1
ISAM 5635 Parthenopi Konstantinou

INTRODUCTION

Rapid Application Development (RAD) is a new, highly interactive systems development

approach that emerged in the 1990s. RAD is a concept that products can be developed

faster and of higher quality. In addition RAD attempts to address both weaknesses of the

structured development methodologies, which are: long development times and the

difficulty in understanding a system from a paper-based description. RAD

methodologies adjust the Systems Development Life Cycle (SDLC) phases to get some

part of the system developed quickly and into the hands of the users. What lies beneath

this approach is to get the users to better understand the system through interactive and

simultaneous revisions, which bring the system closer to what is needed.

How to use RAD

Most RAD methodologies recommend that analysts use special techniques and computer

tools to speed up the analysis, design, and implementation phases, such as CASE

(Computer-Aided Software Engineering) tools, JAD (Joint Application Design) sessions,

fourth-generation/visual programming languages that simplify the speed up programming

(e.g., Visual Basic), and code generators that automatically produce programs from

design specifications. It is the combination of the changed SDLC phases and the use of

theses tools and techniques that improves the speed and quality of systems development.

There are process-centered, data-centered, and object-oriented methodologies that follow

the basic approaches RAD. Two common methodologies of RAD are phased

development and prototyping [5].

2
ISAM 5635 Parthenopi Konstantinou

Phased Development:

The Phased development methodology breaks the overall system into a series of versions

that are developed sequentially. The analysis phase identifies the overall system concept,

and the project team, users, and system sponsors, then categorize the requirement into a

series of version. The most important and fundamental requirements are bundled into the

first version of the system. The analysis phase then leads into design and

implementation, but only with a set of requirements identifies for version 1. Once

version 1 is implemented, work begins won version 2 and follows the steps, and so on. In

the same way, any additional requirements identified during testing of the older version

are implemented in the next version. With this way the system gets in the hands of the

users very quickly [7].

Prototyping:

The prototyping methodology performs the analysis, design, and implementation phases

concurrently, and all three phases are performed repeatedly in a cycle until the system is

completed. In this case, the users of the system are an active participant of the system

development process. The prototype is handed to the users for testing and to provide

comments; which are the reanalyzed and redesigned, and a second prototype is

developed. The process continues in a cycle until the users and developers agree to a

final system [7].

3
ISAM 5635 Parthenopi Konstantinou

Purpose and Objectives

High Speed, High Quality, and Lower Cost

Those are primary concepts in the RAD environment. Systems developed using the RAD

development path meet the needs of their users effectively and have low maintenance

cost. The quality of a system is defined as the degree to which the system meets business

requirements (or user requirements) at the time it begins operation. This is fundamentally

different from the more usual definition of quality as the degree to which a system

conforms to written specifications. Rapid development, high quality and lower costs go

hand-in-hand if an appropriate development methodology is used [2]

Factors for Rapid Development

Fast development does not mean a quick and dirty process. There should be no

compromise between speed of development and quality. Several factors contribute to the

success of rapid development by improving both the quality of delivered system and the

speed of delivery. Important factors for rapid development include:

Gathering requirements using workshops or focus groups.

Prototyping and early, reiterative user testing of designs.

The re-use of software components: Use of a CASE repository to facilitated the

re-use of proven templates, components, and systems.

The use of integrated CASE toolset to enforce technical integrity in modeling and

designing the system, as well as, to generate bug-free code from fully validated

design.

4
ISAM 5635 Parthenopi Konstantinou

A rigidly paced schedule that defers design improvements to the next product

version.

Intensive involvement of the end user in the design of the systems.

The early, effective and continued involvement of users in the development process is

critical to the success of RAD. The involvement of users is an important factor in the

early detection of errors, and in general, the earlier a defect is found, the less time and

expense required to correct it. The relative cost of correcting errors varies over the

development life cycle. It is much less expensive to catch the error early than at the last

stage of the system development [1].

Stages of RAD

The Rapid Application Development path may be adapted to different CASE tools and

development environments. This section briefly describes the four stages of RAD.

Requirements Planning

The Requirements Planning stage consists of a review of the areas immediately

associated with the proposed system. This review produces a broad definition of the

system requirements in terms of the functions the system will support. The deliverables

from the Requirements Planning stage include an outline system area model (entity and

process models) of the area under study, a definition of the system's scope, and a cost

justification for the new system [7].

5
ISAM 5635 Parthenopi Konstantinou

User Design

The User Design stage consists of a detailed analysis of the business activities related to

the proposed system. Key users, meeting in workshops, decompose business functions

and define entity types associated with the system. They complete the analysis by

creating action diagrams defining the interactions between processes and data. Following

the analysis, the design of the system is outlined. System procedures are designed, and

preliminary layouts of screens are developed. Prototypes of critical procedures are built

and reviewed. A plan for implementing the system is prepared [7].

Construction

In the Construction stage, a small team of developers, working directly with users,

finalizes the design and builds the system. The software construction process consists of a

series of "design-and-build" steps in which the users have the opportunity to fine-tune the

requirements and review the resulting software implementation. This stage also includes

preparing for the cutover to production. In addition to the tested software, Construction

stage deliverables include documentation and instructions necessary to operate the new

application, and routines and procedures needed to put the system into operation [7].

Implementation

The implementation stage involves implementing the new system and managing the

change from the old system environment to the new one. This may include implementing

bridges between existing and new systems, converting data, and training users. User

acceptance is the end point of the implementation stage [7].

6
ISAM 5635 Parthenopi Konstantinou

Evaluation of RAD

RAD has proven to be valuable software strategy. However, it is not without pitfalls and

risks. It has various advantages and disadvantages that we need to address.

Advantages of RAD

First of all RAD is designed to help deliver the systems faster with minimize cost, and

insured quality. Deliverables sometimes are easier to port because they make greater use

of high-level abstraction, scripts and intermediate code. Also, the development is

conducted at a higher level of abstraction because RAD tools operate at that level. RAD

offers its users early visibility because of prototyping, greater flexibility because

developers can redesign at will, and reduction of the manual coding because of wizards,

code generators, code reuse. In addition, RAD tends to shorten the development cycles

and minimize defects because CASE tools may generate much of the code or other pre-

designed applications.

(Source from Article: Taking the Risk out of Rapid Application Development)

7
ISAM 5635 Parthenopi Konstantinou

Disadvantages of RAD

On the other hand, RAD might cause some adequate problems. The cost of the integrated

toolset and hardware covers a sufficient amount of money. It might be harder to gauge

progress because there are no classic milestones, or could less efficient because code isnt

hand crafted. In addition, there is the possibility of the loss of scientific precision

because no formal methods are used, or may accidentally empower a return to the

uncontrolled practices of the early days of software development. Also there is the danger

the requirements may not converge because the interests of customers may diverge from

one iteration to the next ([3] and [4]).

Danger of Rapid Development: The Nature of the Danger

Rapid application development is becoming increasingly essential to business survival.

There is, however, a danger inherent in rapid development. Enterprises are often tempted

to use RAD techniques to build-stand alone systems to solve a particular problem

isolation. Such systems if they meet users needs, they become institutionalized. If and

enterprise builds many such isolated systems to solve particular problems, the result is a

large, undisciplined mass of applications that do not work together. In practice, most

business applications are closely related to other applications and share database with

them, making a common infrastructure essential. In addition, as computing systems

grow, they become even more complex, and such systems are difficult to change unless

they have been created within skillfully designed architectures that allow one piece to be

8
ISAM 5635 Parthenopi Konstantinou

changed without changing the other pieces. Hence, the solution to any problem is to

develop a carefully planned set of architectures. The approach that develops systems

within an architectural environment is known as Information Engineering [6].

CONCLUSION

RAD has been proven to be a valuable software strategy. It is not without pitfalls and

risks. It requires the right mix of methodologies, tools, personnel and management. Its

use depends upon complexity of the domain or application, the organizational

environment, the skills of staff and management and the architectures and infrastructures

available. RAD is worthy of continued research and capitalization.

9
ISAM 5635 Parthenopi Konstantinou

REFERENCES

1. Article on line from the Web Developers Journal, Web Site On Line at

http://www.webdevelopersjournal.com/article/rad.htm

2. Web Site On Line, Creative Data by Steve C McConnell, Rapid Development:

Timing Wild Software Schedules at http://credata.com/research/rad.html

3. Web Site On Line at http://csweb.cs.edu/maner/domains/RAD/.htm

4. Newsletter on line, Web Site On Line at

http://www.pragmaticsw.com/Pragmatic/Newsletters/newsletter_2002_08.htm

5. Software Tech News Web Site On Line By Morton A. Hirschberg-U.S Army

Research Laboratory at

http://www.dacs.dtic.mil/awareness/newsletters/technews2-1/rad.html

6. Compuware Corporation, Article on line: Taking the risk out of rapid application

development at http://www.compuware.com

7. Alan Dennis and Barbara Haley Wixom, Systems Analysis and Design,

Ch.1 (p.8-14)

10
ISAM 5635 Parthenopi Konstantinou

11

You might also like