Page 186 -
P. 186
Chapter 6 • agile Modeling and prototyping 153
User feedback can help analysts understand what is working and what isn’t. It can also help with
suggestions on what features to add next.
When this kind of prototyping is done, the system is accomplished in modules so that if the
features that are prototyped are evaluated by users as successful, they can be incorporated into
the larger, final system without undertaking immense work in interfacing. Prototypes done in this
manner are part of the actual system. They are not just mock-ups, as in nonoperational prototyp-
ing, considered previously. Unless otherwise mentioned, all further references to prototyping in
this chapter refer to the selected-features prototypes.
Prototyping as an Alternative to the SDLC
Some analysts argue that prototyping should be considered as an alternative to the SDLC. Recall
that the Systems Development Life Cycle, introduced in Chapter 1, is a logical, systematic
approach to follow in the development of information systems.
Complaints about going through the SDLC process center on two interrelated concerns.
The first concern is the extended time required to go through the development life cycle. As the
investment of analyst time increases, the cost of the delivered system rises proportionately.
The second concern about using the SDLC is that user requirements change over time.
During the long interval between the time that user requirements are analyzed and the time that
the finished system is delivered, user requirements are evolving. Thus, because of the extended
development cycle, the resulting system may be criticized for inadequately addressing current
user information requirements.
A corollary of the problem of keeping up with user information requirements is the sugges-
tion that users cannot really know what they do or do not want until they see something tangible.
In the traditional SDLC, it often is too late to change an unwanted system once it is delivered.
To overcome these problems, some analysts propose that prototyping be used as an alterna-
tive to the SDLC. When prototyping is used in this way, an analyst effectively shortens the time
between ascertainment of human information requirements and delivery of a workable system.
In addition, using prototyping instead of the traditional SDLC might overcome some of the prob-
lems of accurately identifying user information requirements.
Drawbacks to supplanting the SDLC with prototyping include prematurely shaping a system
before the problem or opportunity being addressed is thoroughly understood. Also, using proto-
typing as an alternative may result in producing a system that is accepted by specific groups of
users but that is inadequate for overall system needs.
The approach we advocate here is to use prototyping as a part of the traditional SDLC.
In this view, prototyping is considered as an additional, specialized method for ascertaining
users’ information requirements as they interact with prototypes and provide feedback for
the analyst.
Developing a Prototype
Prototyping is a superb way to elicit feedback about a proposed system and about how readily it
is fulfilling the information needs of its users, as depicted in Figure 6.2. The first step of proto-
typing is to estimate the costs involved in building a module of the system. If costs of program-
mers’ and analysts’ time as well as equipment costs are within the budget, building of the proto-
type can proceed. Prototyping is an excellent way to facilitate the integration of the information
system into the larger system and culture of the organization.
Guidelines for Developing a Prototype
Once the decision to prototype has been made, four main guidelines must be observed when
integrating prototyping into the requirements determination phase of the SDLC:
1. Work in manageable modules.
2. Build the prototype rapidly.
3. Modify the prototype in successive iterations.
4. Stress the user interface.
As you can see, the guidelines suggest ways of proceeding with the prototype that are necessarily
interrelated. Each guideline is explained in the following subsections.