Sei sulla pagina 1di 6

Computer Science Department

CS 470 Fall I

RAD: Rapid Application Development


By Sheldon Liang
CS 470 Handouts Rapid Application Development Pg 1 / 5

RAD: Rapid Application Development


By Sheldon Liang
0. INTRODUCTION
Rapid application development (RAD), is a software development process developed
initially by James Martin in the 1980s. The methodology involves ICU

-- I - iterative development,
-- C - construction of prototypes, and
-- U -use of Computer-aided software engineering (CASE) tools.

ICU: Intensive Care Unit (for survival not for better)

Traditionally the rapid application development approach involves compromises in


usability, features, and/or execution speed. It is described as a process through which the
development cycle of an application is expedited. Rapid Application Development thus
enables quality products to be developed faster, saving valuable resources.

Pros
1. Increased speed of development through methods including rapid prototyping,
virtualization of system related routines, the use of CASE tools, and other techniques.
2. Decreased end-user functionality (arising from narrower design focus), hence reduced
complexity
3. Larger emphasis on simplicity and usability of GUI design

Cons
1. Reduced Scalability, and reduced features when a RAD developed application starts as a
prototype and evolves into a finished application
2. Reduced features occur due to time boxing when features are pushed to later versions in
order to finish a release in a short amount of time

1. WHAT IS RAD
1.1 What is Rapid Application Development (Definition & Methodology)

DEFINITION - RAD (rapid application development) is a concept that products can be


developed faster and of higher quality through (methodology):
• Gathering requirements using workshops or focus groups
• Prototyping and early, reiterative user testing of designs
• The re-use of software components
• A rigidly paced schedule that defers design improvements to the next product version
• Less formality in reviews and other team communication

Some companies offer products that provide some or all of the tools for RAD software
development. These products include requirements gathering tools, prototyping tools, computer-
aided software engineering tools, language development environments such as those for the Java
CS 470 Handouts Rapid Application Development Pg 2 / 5

platform, groupware for communication among development members, and testing tools. RAD
usually embraces object-oriented programming methodology, which inherently fosters software
re-use. The most popular object-oriented programming languages, C++ and Java, are offered in
visual programming packages often described as providing rapid application development.

1.2 What is used for Rapid Application Development

A programming system that enables programmers to quickly build working programs. In general,
RAD systems provide a number of tools to help build graphical user interfaces that would
normally take a large development effort. Two of the most popular RAD systems for Windows
are Visual Basic and Delphi.

Historically, RAD systems have tended to emphasize reducing development time, sometimes at
the expense of generating efficient executable code. Nowadays, though, many RAD systems
produce extremely fast code. Conversely, many traditional programming environments now
come with a number of visual tools to aid development. Therefore, the line between RAD
systems and other development environments has become blurred.
2. BETTER UNDERSTANDING OF RAD
2.1 Comparison and Further understanding: RAD and JAD

RAD is a methodology for compressing the analysis, design, build, and test phases into a series
of short, iterative development cycles. This has a number of distinct advantages over the
traditional sequential development model. RAD projects are typically staffed with small
integrated teams comprised of developers, end users, and IT technical resources. Small teams,
combined with short, iterative development cycles optimizes speed, unity of vision and purpose,
effective informal communication and simple project management.

Rapid Application Development - Development Methodology (RAD)

We highly recommend this book for additional information on rapid application development.
By clicking on the book, you will be sent to Amazon.com where you can purchase the book for
$28 which is a 20% savings.

The traditional software development cycle follows a rigid sequence of steps with a formal sign-
off at the completion of each. A complete, detailed requirements analysis is done that attempts
to capture the system requirements in a Requirements Specification. Users are forced to "sign-
off" on the specification before development proceeds to the next step. This is followed by a
complete system design and then development and testing.

But, what if the design phase uncovers requirements that are technically unfeasible, or extremely
expensive to implement? What if errors in the design are encountered during the build phase?
The elapsed time between the initial analysis and testing is usually a period of several months.
What if business requirements or priorities change or the users realize they overlooked critical
needs during the analysis phase? These are many of the reasons why software development
projects either fail or don’t meet the user’s expectations when delivered.
CS 470 Handouts Rapid Application Development Pg 3 / 5

RAD is a methodology for compressing the analysis, design, build, and test phases into a series
of short, iterative development cycles. This has a number of distinct advantages over the
traditional sequential development model.

Iteration allows for effectiveness and self-correction. Studies have shown that human beings
almost never perform a complex task correctly the first time. However, people are extremely
good at making an adequate beginning and then making many small refinements and
improvements. We should encourage and exploit this rather than fight it.

RAD projects are typically staffed with small integrated teams comprised of developers, end
users, and IT technical resources. Small teams, combined with short, iterative development
cycles optimizes speed, unity of vision and purpose, effective informal communication and
simple project management.

An important, fundamental principle of iterative development is that each iteration delivers a


functional version of the final system. It is a properly engineered, fully working portion of the
final system and is not the same as a prototype. For example, the first iteration might deliver
100% of 10%, the second iteration 100% of 25%, etc.

2.2 Joint Application Development (JAD) Methodology

Joint Application Design, or JAD, is a process originally developed for designing a computer-
based system. It brings together business area people (users) and IT (Information Technology)
professionals in a highly focused workshop. The advantages of JAD include a dramatic
shortening of the time it takes to complete a project. It also improves the quality of the final
product by focusing on the up-front portion of the development lifecycle, thus reducing the
likelihood of errors that are expensive to correct later on.

The Joint Application Development (JAD) methodology aims to involve the client in the design
and development of an application. This is accomplished through a series of collaborative
workshops called JAD sessions. Two employees of IBM, Chuck Morris and Tony Crawford,
CS 470 Handouts Rapid Application Development Pg 4 / 5

developed the JAD methodology in the late 1970s and began teaching the approach in to the
1980s.

In contrast to the Waterfall approach, JAD is thought to lead to shorter development times and
greater client satisfaction, both of which stem from the constant involvement of the client
throughout the development process. On the other hand, with the traditional approach to systems
development, the developer investigates the system requirements and develops an application,
with client input consisting of a series of interviews.

Rapid application development (RAD), a variation on JAD, attempts to create an application


more quickly through strategies that include fewer formal methodologies and reusing software
components.

Development Methodology - Joint Application Development (JAD)

The JAD process does for computer systems development what Henry Ford did for the
manufacture of automobiles (a method of organizing machinery, materials, and labor so that a
car could be put together much faster and cheaper than ever before – the assembly line). The goal
in systems development is to identify what the users really need and then set up a system or
process that will provide it. Traditional methods have several built-in delay factors that get worse
as more people become involved.

The following description of the Traditional Systems Design process is from "Joint Application
Development" by Jane Wood and Denise Silver ¹. It may sound familiar.

In most organizations, the systems development life cycle begins with the identification of a
need, assignment of a project leader and team, and often the selection of a catchy acronym for
the project. The leader pursues a series of separate meetings with the people who will use the
system or be affected by it.

The leader continues these meetings over time. Often the key people involved are not so easy
to reach. But eventually, having documented everything possible, the leader translates copious
notes into a personal terminology. That’s when it becomes apparent that the requirements from,
say Accounting, don’t mesh with what the Sales department wants. So the leader calls Sales and
finds out the contact there is in the field and will not be back until tomorrow. Next day the leader
reaches Sales, gets the information, calls Accounting, and of course the person in Accounting is
now out of the office, and so on.

When everyone is finally in agreement, alas, the leader discovers that even more people
should have been consulted because their needs require something entirely different. In the end,
everyone is reluctant to "sign off" on the specifications.

Other times, signing off comes easily. But when the system is delivered, it often has little to do
with what the users really need:

"A user sign off is a powerless piece of paper"² when matched against the fury of top
management.
CS 470 Handouts Rapid Application Development Pg 5 / 5

Slow communication and long feedback time is one reason the traditional process is so time-
consuming. You can see why the communication problem grows worse as more people must be
brought into consensus.

JAD centers around a structured workshop session. Everyone gets together in a room and talks it
out. Everyone hears what the rest of the group has to say. There’s no delay between question and
answer, no "telephone tag" or waiting for memos to come back. JAD eliminates many of the
problems with traditional meetings. Meetings are not well regarded as a productive form of
work. JAD turns meetings into workshops. They are less frequent, more structured, and more
productive. An agenda provides the structure, a facilitator directs the process, visual aids clarify
concepts being discussed and the group dynamics, with constant feedback, stimulates creativity.

JAD sessions are:

1. Very focused
2. Conducted in a dedicated environment
3. Quickly drive major requirements and interface "look & feel"
4. JAD participants typically include:
* Facilitator – facilitates discussions, enforces rules
* End users – 3 to 5, attend all sessions
* Developers – 2 or 3, question for clarity
* Tie Breaker – Senior manager. Breaks end user ties, usually doesn’t attend
* Observers – 2 or 3, do not speak
* Subject Matter Experts – limited number for understanding business & technology

Potrebbero piacerti anche