Software Prototyping: Designing Systems For Users

Date01 January 1983
DOIhttps://doi.org/10.1108/eb047485
Published date01 January 1983
Pages75-83
AuthorPhyllis Bova Spies
Subject MatterInformation & knowledge management,Library & information science
Software Prototyping:
Designing Systems For Users
PHYLLIS BOVA SPIES
The prototype model (the implementation of a
skeletal system that is enhanced during interaction
with users) represents a major change in the software
development process. This change is in direct re-
sponse to higher costs, greater expectations of online
systems users, new technologies for development, and
the more challenging problems posed by online, inter-
active systems. The "traditional systems development
methodologies tend to evolve toward increasing con-
trol and specificity, especially when confronted by
higher uncertainty."1 In contrast, new methodolo-
gies,
such as prototyping, exploit the dynamic process
of change and variability in both the user and system
environments.
Software prototyping provides these benefits:
1) Eliminates design errors, a major cause of
missed deadlines and corrective maintenance
work.
2) Reduces the time required to produce sys-
tems.
3) Provides the user with a tangible system to
facilitate understanding of potential problems
and proposed solutions.
4) Allows changes to occur early in the develop-
ment cycle when they are easier and cheaper
to make.
5) Ensures the user/system interface the atten-
tion and visibility it warrants.
6) Increases user satisfaction.
Software: Expensive and
Unreliable
The two major problems today in the data pro-
cessing industry are excessive costs and unreliable
software due to design errors. Ten years ago, hard-
ware costs significantly outweighed software develop-
ment costs. Today, however, software costs are many
times more than those for hardware. Furthermore,
software development represents only a fraction of
the total cost of computer program ownership.
Software maintenance costs are typically two-to-four
times higher than development costs.
Unreliable software, the result of design errors,
is a primary contributor to the software maintenance
effort. Design errors are the result of an incomplete
and/or inaccurate translation of the users' require-
ments. Most data processing organizations currently
spend a major share of their time, effort, and money
on fixing mistakes and making minor improvements
in short, performing maintenance. Some organiza-
tions spend so much effort on maintenance that little
time remains for developing new applications. Figure
1 illustrates the typical breakdown of software costs
during the life cycle of
a
system.
The costs of maintenance and testing account for
approximately 75 percent of the cost of software. As
an example, in typical releases of the IBM OS/360
operating system, approximately 70 percent of the
total program costs were incurred after the system
was made available to users.3 Those costs were for
maintenance.
Another factor affecting maintenance costs is the
point at which a design error is discovered during the
development cycle. The later an error is discovered,
the less likely it is to be fixed correctly. Problems of
late design error detection are intensified by both the
cost of correction and the demands of the development
schedule.
SUMMER 1983 75
Phyllis Bova Spies is Manager, Library Systems
Analysis and Design Department, Marketing and User
Services Division, OCLC, Inc.

To continue reading

Request your trial

VLEX uses login cookies to provide you with a better browsing experience. If you click on 'Accept' or continue browsing this site we consider that you accept our cookie policy. ACCEPT