An Alternative Prototyping Classification

An Alternative Prototyping Classification
P. J. MAYHEW AND P. A. DEARNLEY
School of Information Systems, University of East Anglia, Norwich NR4 7TJ
This paper begins by examining the existing prototype classifications which are based on current prototyping practices.
An alternative classification is proposed which has as its foundation the participants of any prototyping situation.
Justification for following this course of action is provided.
Received July 1986, revised September 1986
1. INTRODUCTION
During the past few years there has been an everincreasing awareness that a static paper description of a
computer-based information system, however formally
specified or rigorously defined, is far from adequate for
communicating the dynamics of the situation. Much
better to be able to illustrate this using a working model
of the system. It is this working model, albeit crude and
incomplete, but always speedily constructed, that is
known as a prototype. Several articles exist which
provide an introduction to prototyping, for example
Brittan,1 and Dearnley and Mayhew.2 As more people
became interested in the building and use of system
prototypes, so the need for a structure in which to discuss
them became apparent. Two such frameworks have been
proposed, Floyd3 and Law,4 both of which are based
on observations of the different types of prototyping
currently being adopted. This paper provides an
alternative prototyping classification based on the
underlying components involved in the prototyping
process. The proposed classification is founded in the
potential for prototyping rather than in current practice.
One important result of adopting this type of approach
is that it offers the possibility to improve upon the vital
activities of prototype planning and prototype evaluation.
2. FLOYD'S CLASSIFICATION
A first attempt at a classification of the approaches to
prototyping appears in Floyd.3 This distinguishes three
broad classes of prototyping, exploratory, experimental
and evolutionary (see Fig. 1).
- exploratory
- experimental
- evolutionary
Fig. 1. Floyd's Classes of Prototyping.
Exploratory prototyping is useful during the early stages
of software development, as it focuses on the communications problem area between the prospective users and
the software developers. The prototype acts as a catalyst
to encourage creative participation and stimulate
suggestions from all involved parties. The central aim of
exploratory prototyping is to assist in the clarification of
requirements for the target system.
Experimental prototyping involves building a prototype of a proposed solution to a particular problem. The
prototype is then evaluated by experimental use, in order
to determine the adequacy of the proposed solution
before costly implementation work begins. The proposed
solution, and hence the prototype, may contain all the
intended functions of the target system; alternatively, it
may be testing only those functions of particular interest.
Of Floyd's three classes of prototyping, experimental is
the closest to the traditional engineering meaning of the
term 'prototyping'.
Evolutionary prototyping is the most controversial of
the three categories. The emphasis here is on the gradual
adaptation of the system in order to cope with changing
requirements. The product itself can be looked upon as
a sequence of versions, each version being constructed,
used and evaluated before being treated as a prototype
for its successor. For this reason it has been suggested
that this approach to development should be called
'versioning' rather than evolutionary prototyping.
However, the theory, tools and techniques involved
during this type of development (whatever it is called),
are also likely to be relevant for the two previous
categories of prototyping, thus justifying its inclusion.
Floyd's classification not only provided a structure in
which to debate the topic of prototyping, it also provoked
developers into questioning their use of prototyping.
Typical questions concerned the aim of building each
prototype, the category it fell into, the appropriateness of
using particular types of prototype at certain stages of
systems development, and the possibility of improved
development by using a different series of prototypes.
This questioning process fuelled the discussions on
prototyping.
3. LAW'S EXTENDED CLASSIFICATION
More recently, an extended prototyping classification has
been presented in Law.4 In this article five main types
of prototyping have been distinguished. There are exploratory, experimental, performance, organisational
and evolutionary (see Fig. 2). The distinction between
these different types is in no way absolute, and relates
to the chief consideration of each type, which in turn
THE COMPUTER JOURNAL, VOL. 30, NO. 6, 1987 481
CPJ 30
P. J. MAYHEW AND P. A. DEARNLEY
relates to its timing within the development process. A
description of the five categories follows.
Exploratory prototyping can be described as 'prototyping the logical specification' and aims to assist in
establishing user requirements. (This is the same as in
Floyd's classification.)
Experimental prototyping, or 'prototyping the design'
attempts to ascertain the feasibility and acceptability of
proposed solutions to the particular problem. (The same
as in Floyd's classification.)
- exploratory
tion. Every prototype system will be made up of four
main components, as follows:- Prototyper (P)
- User (U)
- Software (S)
- Hardware (H)
Each component will interact with all other components.
One method of representing this situation which focuses
attention on each of these interactions is illustrated in
Fig. 3. Each corner of the pyramid represents one of the
four main components, and the edges joining these
represent the interaction between them. Using this
'PUSH' pyramid to interpret each of Law's five
prototyping categories produces some interesting results.
- experimental
- performance
- organisational
- evolutionary
Fig. 2. Law's extended classification.
Performance prototyping, also referred to as 'synthetic' prototyping,5 is used to indicate whether the
target system in its intended environment will be able to
handle its anticipated workload. The application prototype is run in the operational situation with a simulated
workload. The necessary simplification of the prototype
makes this a difficult process; however, performance
prototyping is of value in helping to detect incompatible
combinations of problem, hardware, software and
workload. Performance prototyping is considered as a
special case of experimental prototyping.
Organisational prototyping puts the prototype in its
intended operating environment, in the users' normal
workplace. The aims of this are twofold; first to
ascertain that the users' requirements will be met, and
secondly to clarify the needs of the surrounding
organisation. These needs might for instance include
obtaining new or making changes to any of the following:
manual procedures, staff, equipment, job descriptions
and training. Organisational prototyping is also included
as a special case of experimental prototyping. It is
particularly valuable in situations where the system is to
be installed in many places, and/or where the system is
particularly large, supporting hundreds of terminal.6
Evolutionary prototyping refers to the situation that
exists when the prototype has been in 'operation'.
Through its use necessary alterations become apparent,
and then the operational version serves as a prototype for
the development of an enhanced system. (The same as in
Floyd's classification.)
The intention of Law's classification is also to provide
a useful terminology for both talking about and appreciating the scope of prototyping.
4. AN ALTERNATIVE APPROACH TO
CLASSIFICATION
An alternative view is one which has as its foundation the
central participants involved in any prototyping situa-
Fig. 3. Prototyping main components.
Exploratory prototyping has been described as prototyping the specification, and as such predominantly
involves the prototyper, the user and the software
components. This can be represented as in Fig. 4(i). This
type of prototyping concentrates on the communication
between the prototyper and the user, represented by the
[PU] pyramid edge.
Experimental prototyping provides an opportunity
to determine the adequacy of a proposed solution to a
particular problem. The essential components involved
in this type of prototyping are the prototyper, the
software and hardware, as illustrated in Fig. 4(ii).
Experimental prototyping can be broken down into three
subtypes depending upon which particular interaction is
considered the most important. In this context, experimental prototyping is constructed to validate some element of the software design, represented by the PS edge
in the figure. The interaction between the software and
hardware, represented by the SH edge, is the central
concern of performance prototyping, as described in
Law's classification. Finally, a prototype may be built to
assist in the selection of hardware, represented by the PH
edge. This idea of hardware prototyping, although
missing from the above classifications, is not new, and
has been discussed by Brittan.1-7
An organisational prototype is one which is used in the
target environment, in order to clarify the wider system
requirements and implications. The three main participants in this instance are the user, the software and the
hardware as illustrated in Fig. 4(iii). The prototype may
concentrate on the interaction between the user and the
482 THE COMPUTER JOURNAL, VOL. 30, NO. 6, 1987
AN ALTERNATIVE PROTOTYPING
CLASSIFICATION
S
Functional
Ergonomic
1
Performance
\
/
Experimental
\<
Exploratory
P
Hardware
Fig. 5. Component interactions and prototype types.
Class
Interaction
Comment
Exploratory
Prototyper/User
Requirements elicitation and
validation
Experimental
Prototyper/Software
Testing software design
Performance
Software/Hardware
Will proposed system be able
so cope? (experimental)
Hardware
Prototyper/Hardware
Hardware suitability
(experimental)
Ergonomic
User/Hardware
Functional
User/Software
Organisational - hardware
set-up cosiderations
Organisational - complete
system suitability
Fig. 6. Alternative Classification and Component Interactions.
T h e resulting classification, as introduced a b o v e , is
presented in Figs 5 and 6.
Fig. 4. (i) Exploratory, (ii) Experimental. (Hi) Organisational.
5. S U M M A R Y
hardware represented by the U H edge, or alternatively it
may concentrate on the interaction between the user and
the software, represented by the U S edge. These are
identified as ergonomic prototyping and functional proto­
typing respectively. The ergonomic prototype is useful
for assessing the suitability of particular hardware a n d its
situation. The functional prototype can be used to check
facilities provided by the system, while at the same time
hightlighting any additional procedures, manual, infor­
mal or otherwise, necessitated by the prototype system.
The notion that an organisational prototype will always
fall into one of these two categories is somewhat
simplistic; however, in some circumstances it will be
advantageous to be able to separate the two functions.
The main components of an evolutionary prototype are
the user, the software and hardware. It can therefore be
argued from the above description that evolutionary
prototyping is simply an extension of organisational
prototyping, with a longer time lapse between
enhancements.
It follows from this interpretation of Law's five
categories that an alternative prototype classification can
be based on the interactions between the four main
components of prototyper, user, software and hardware.
This alternative classification has one prototype category
for each pair of component interactions. This results in
the following six categories :- exploratory
- experimental
- performance
- hardware
- ergonomic
- functional
These can also be collected into three distinct classes:
- exploratory
- experimental
- organisational
as illustrated in Fig. 7.
It can be seen from this description that the individual
categories of exploratory, experimental and performance
prototyping remain the same as in the Law classification.
However, the main differences between this ' c o m p o n e n t based ' classification and those of Floyd and L a w outlined
above, are as follows :Organisational prototyping is not a particular instance of
experimental prototyping. Organisational prototyping involves
users operating a prototype in their own environment, in order
to assess not only its suitability but also the associated organ-
T H E C O M P U T E R J O U R N A L , VOL. 30, N O . 6, 1987
483
2-2
P. J. MAYHEW AND P. A. DEARNLEY
• exploratory
- exploratory
• experimental
- experimental
-performance
- hardware
• organisational
- ergonomic
- functional
Fig. 7. Alternative classification.
isational implications; whereas an experimental prototype
allows the prototyper to evaluate a proposed solution to a
particular problem.
Evolutionary prototyping can be thought of as an extension
of organisational prototyping. Both are operated by users in
the actual target environment; however, the difference between
them is essentially one of completeness. An evolutionary
prototype is actually in operation, and one would expect it to
be both comprehensive and relatively stable. An organisational
prototype may be built to investigate a particular solution
within the organisation, and may be incomplete and subject to
frequent change.
The introduction of a hardware category. This is typified by
a prototype being used in order to simplify the hardware
selection process and is consistent with that proposed by
Brittan.
Organisational prototyping can be subdivided into ergonomic, concentrating on hardware set-up considerations, and
functional, concentrating on the suitability of the surrounding
support requirements.
The proposed classification has as its foundation the
underlying central components of the prototyping
process, in preference to relying upon what practitioners
are currently doing. Thus it covers all possible categories,
rather than just those which are being employed at
present. Concentration on the interaction between these
central components in any particular prototyping
situation encourages a greater appreciation of the scope
for gaining insight or learning, in this situation, and hence
also of the potential rewards for constructing and using
system prototypes. This increased awareness assists the
developer to decide upon which particular categories of
prototype to use in the prevailing circumstances.
Clearly any one prototype may contain elements of
many of the categories outlined above; however, it is
important to be able to recognise and separate each one
of these individual intentions. This classification focuses
attention on each particular area of interaction, thereby
assisting in clarifying the particular mission of a
prototype. The exact aim of building a prototype is of
paramount importance during the prototype planning
and the prototype evaluation activities, both so crucial to
productive prototyping. A better understanding of the
planning and evaluation activities must improve the
entire prototyping process, and is also a much-needed
step towards clarifying the hitherto uncertain question of
controlling the process as a whole.
The proposed classification does not specifically
include an evolutionary category; however, it is
recognised that prototyping is most often carried out in
an evolutionary manner, for example, an exploratory
prototype to clarify user requirements may evolve into an
experimental prototype to verify design details, and may
subsequently evolve into an organisational prototype to
discover the wider implications. With the increasing
availability of sophisticated application development
tools it is likely that many of these 'evolving' prototypes
will actually be implemented as the target system, as
opposed to being translated in some manner into a
specification for the target system. This accentuates the
need to take a, disciplined approach to the design of
prototypes. /
Finally, as with its predecessors, this framework is
intended to encourage further discussion and research
into other aspects of all types of prototyping.
REFERENCES
1. J. N. G. Brittan, Design for a changing environment: The
Computer Journal 23 (1) (1980).
2. P. A. Dearnley and P. J. Mayhew, In favour of system
prototypes and their integration into the systems development cycle. The Computer Journal 26, (1), 36-42 (1983).
3. C. Floyd, A systematic look at prototyping. In Approaches
to Prototyping, edited R. Budde, K. Kuhlenkamp,
L. Mathiassen and H. Zullighoven. Springer-Verlag,
Heidelberg (1984).
4. D. Law, Prototyping: A State of the Art Report, NCC
(1985).
5. P. Hughes, PILOT - a synthetic prototype generator for
484 THE COMPUTER JOURNAL, VOL. 30, NO. 6, 1987
database applications. In Modelling Techniques and Tools
for Performance Analysis, edited D. Potier, North-Holland,
Amsterdam, (1985).
6. P. B. Liversey, Experience with prototyping in a multinational organisation. In Approaches to Prototyping, edited
R. Budde, K. Kuhlenkamp, L. Mathiassen and H. Zullighoven. Springer-Verlag, Heidelberg (1984).
7. L. Bally, J. Brittan and K. Wagner, a prototype approach
to information system design and development. Information and Management (1) 21-26 (1977) North-Holland,
Amsterdam.