340 Part III • Acquiring Information Systems
relationships between these data. Problems with current
operations and opportunities for achieving business value
through new IT capabilities are identified. These new
capabilities are then documented in detail using similar
process- and data-oriented notations. A business case is
made for the feasibility of new systems, and one solution is
chosen. This solution is detailed in a requirements
statement agreed to by all parties. If a software vendor has
already developed a “packaged” system that meets these
requirements, this phase also includes steps to identify and
the package that best meets future needs and to make the
“make versus buy” decision. The Definition phase of the
life cycle is very much a cooperative effort between
business and systems professionals. Doing this phase right
can have significant impact on the competitive use of IT.
TheConstructionphase entails the designing, build-
ing, and testing of a system that satisfies the requirements
developed in the Definition phase. The system first is logi-
cally described, and then its physical design is specified.
Programs and computer files are designed, and computer
technology is chosen. Inputs such as business forms and
computer screens, as well as outputs such as reports, are
designed. After the physical design is accepted as feasible
(technically, economically, and operationally), the comput-
er software is programmed, documented, and tested. If a
packaged solution was chosen, then the construction phase
is used to customize the package to the local environment;
various forms of testing are still necessary to make sure the
tailored package works in the local environment along
with other systems with which it must interface. Users play
a major role in acceptance testing to verify that the
system’s business requirements have been met.
In the Implementationphase, business managers and
IS professionals work together to install the new system,
which often involves converting data and procedures from
an old system. The installation of a new system can occur
in a variety of ways, such as in parallel with operation of
the old system or in a total and clean cutover. The
implementation phase also includes training staff on the
new procedures and software as well as the operation and
continued maintenance of the system. Maintenance is
typically the longest stage of the systems life cycle and
incurs the greatest costs. It includes system changes
resulting from flaws in the original design, from changing
business needs or regulations, and from incorporating new
technologies. Each maintenance activity is a mini life
cycle following the same three phases. By monitoring an
information system for both performance and satisfying
business needs, it will eventually be discovered that the
information system has major flaws or inadequacies. Then
work is begun on a new information system by cycling
back to the Definition phase.
In the following chapters we will discuss in more
detail some specific methodologies for developing and
implementing custom software solutions (Chapter 9) and for
purchasing and implementing packaged software solutions
(Chapter 10). All these methodologies are based on the
generic three-phase life cycle for systems development
described previously. Although many IS organizations
customize these approaches—including expansion or
contraction of the specific number of phases or steps, or
using different names—there is agreement among IS spe-
cialists on the generic activities that are required for devel-
oping a quality system that meets the organization’s needs.
Structured Techniques for Life-Cycle
Development
Just as architects use blueprints as abstract representations
of a house, IS professionals have developed techniques for
representing system requirements and designs. In this sec-
tion, we describe some of these techniques, which are used
for both customer-developed and purchased application
software solutions.
Today, IS development projects range in size from a
single-user application for a desktop machine to one that
will be used by thousands of people in a large organization,
or by even thousands more external stakeholders (e.g.,
customers and business partners) via the Internet from
computers and smartphones. The scope of today’s large
development projects has brought system builders up
against both cognitive and practical limitations: The scale
and complexity of these projects exceed the capacity of one
developer or even a single team of manageable size.
Effective large system development requires more system-
atic approaches that allow partitioning of the problem so that
many developers can work on the project simultaneously.
Increasing the scale also increases the number of parties
involved. Systems projects today can require coordination
across multiple project managers and even involve IS
professionals in a customer or supplier organization (such as
some B2B applications discussed in Chapter 7) and in IS
contractor organizations located anywhere on the planet
across multiple time zones. System builders must be able to
communicate with other IS professionals about what system
modules do and how they do what they do. IS project
managers must be able to coordinate and monitor progress
and understand the commitments they are asking business
managers and IS project team members to make.
A body of tools has emerged to document system
needs and requirements, functional features and dependen-
cies, and design decisions. Called structured techniques,
these techniques exist for all phases of the systems develop-
ment process, and many variations have emerged. These