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.
© Copyright 2026 Paperzz