378 Part III • Acquiring Information Systems
that the task can be concentrated on without interruption.
A remote location also helps set up a forum for user repre-
sentatives to work through areas of disagreement; achiev-
ing shared understanding is especially important when
cross-functional systems are being developed. The JAD
session is led by a facilitator who is not only skilled in sys-
tems analysis and design techniques but is also skilled in
managing group interactions; a person outside the organi-
zation is sometimes used in this facilitator role in order to
have a neutral third party who can help resolve conflicts
and keep the group focused on the JAD session outcomes.
As shown in Figure 9.12, computer-aided software
engineering (CASE)tools include front-endanalysis tools
such as diagramming tools, analysis tools, and computer
display and report generator tools to support requirements
definition and system designs; back-endtools for generat-
ing code (in one or more computer languages) from dia-
grams and other design documents; and central reposito-
ries for the processing logic, data structures, other
specifications, and project management documents for a
software system. Full-cycle CASE systems, also called
Integrated-CASE (I-CASE)tools, combine front-end
and back-end functions to produce a working system.
Returning to Figure 9.11, in the Construction phase
computer code is generated using the CASE tool. The busi-
ness team members help validate screens and other design
features, and an iterative approach is then used to make design
changes and generate new code for validation. A cutover ap-
proach is used to convert the organization to the new system.
By using this implementation approach, system testing must
be undertaken at virtually the same time that user training and
other organizational preparations are being accomplished.
The structured checkpoints and system reviews that
are hallmarks of an SDLC approach are also used in a RAD
approach. However, unlike the traditional SDLC approach,
when users sign off on the CASE-based design document,
the expectation is that they will also be involved in the
Construction step, during which additional design changes
can be made as necessary. Besides intensive usability test-
ing with end-user involvement, rigorous quality assurance
procedures are also built into the RAD methodology.
RAD is a methodology that works well in a business
environment characterized by rapid change. The smaller de-
sign teams and shorter development times associated with
RAD also can lead to considerably lower total development
costs. For example, the U.S. Navy has reported system de-
velopment savings of up to 50 percent and annual mainte-
nance savings of 20 percent (Valacich et al., 2009). On the
other hand, increased speed can sometimes also have its
downside. For example, noncritical functionality or quality
standards might be sacrificed, such as consistent user inter-
faces across screens and data element naming standards.
Figure 9.13 summarizes some of the advantages and
disadvantages of RAD. Like prototyping, a RAD methodolo-
gy is highly dependent on involvement by key users. If these
key users are not freed up to work on the RAD project, the
custom application might still be produced quickly but is less
likely to be an optimal software solution for the business.
Agile Methodologies
No one systems development methodology works in every
circumstance better than all other methodologies. This is
why structured, rapid, and other methodologies all have
been developed. Systems development is difficult for a va-
riety of reasons, including the following:
- Requirements are about dealing with business prob-
lems not software features, yet how we apply differ-
ent methods often tries to separate these two aspects
too much. - Diagramming tools: support graphic representations for process, data, and
control structure diagrams - Computer display and report generators: used to prototype user interface for
input (screen displays, forms) and reports as part of requirements definition - Analysis tools: automatic checkers for missing, inconsistent, or incorrect
specifications in diagrams, forms, and reports - Central repository: integrated storage of system specs, diagrams, reports, and
project management documents - Documentation generators: produce technical and user documentation in
standard formats - Code generators: automatic generation of program and database definition code
from diagrams, forms, reports, and other design documents
FIGURE 9.12 Types of CASE Tools (Based on Valacich, George, and Hoffer, 2009)