Najjar, L. J. (1990). Rapid prototyping (TR 52.0020). Atlanta, GA: IBM Corporation.




Rapid Prototyping

April, 1990

Lawrence J. Najjar

IBM Corp.
Software Usability Department
R16B
Atlanta, GA 30328

Abstract

Rapid prototyping is a process for creating a realistic model of a product’s user interface. A rapid prototyped user interface is easy to change and gets customers involved early in the design of the product. This report suggests that successful rapid prototyping is done quickly and iteratively by domain experts. It suggests steps for the rapid prototyping process and describes advantages and disadvantages of rapid prototyping. To prototype successfully, the report recommends that you pick a rapid prototyping tool that meets your needs, form a small prototyping team, get lots of customer feedback, and iterate until customers are delighted with your user interface.

Preface

This report is a general, non-technical introduction to rapid prototyping. It is intended for information developers, managers, marketers, planners, programmers, and usability representatives who help develop product user interfaces.

Biography

Larry Najjar is a human factors engineer in IBM’s Industrial Sector Division Software Usability department in Atlanta, Georgia. He earned his MS in Engineering Psychology from the Georgia Institute of Technology in 1983. After graduating, he worked for Systems Research Laboratories in Hanover, Maryland where he helped design and prototype the hardware and software user interface for an advanced word processing and transcription work station. In 1984, he joined IBM’s Systems Integration Division in Rockville, Maryland where he helped design and prototype the hardware and software user interface for tower and en route air traffic controllers. In 1989, he transferred to the Industrial Sector Division in Atlanta. He helps improve the usability of software for health and electronic data interchange products and coordinates the development of a proprietary rapid prototyping tool. Larry is a member of the Human Factors Society.

Acknowledgement

The author is grateful to Emily Walker for her efforts to identify and obtain publicly available articles referenced in this report, to Betsy Freeman for providing copies of the IBM documents on rapid prototyping, and to Laurie Najjar for her valuable editorial suggestions.

Overview

Due to the intense competition in software, products that are successful in the marketplace are:

Pricing aside, it is difficult and time-consuming to develop products with these characteristics. However, one way to minimize effort and time spent is to use the rapid prototyping process of product development.

Rapid prototyping involves creating a realistic model of a product’s user interface to get prospective customers involved early in the design of the product. Using rapid prototyping, you model the look and feel of the user interface without investing the time and labor required to write actual code. Then you show the prototype to prospective customers, revise the prototype to address their comments, and keep repeating these two steps. Your goal is to produce a complete, agreed-upon design of the product’s user interface before writing a single line of actual code. When walkthroughs and usability tests show you that customers are delighted with your prototype user interface, then programmers can model it when they code the actual product.

Elements of Successful Rapid Prototyping

Successful rapid prototyping is performed:

Traditional Development Process versus Rapid Prototyping Process

The traditional process used to develop a product follows the general steps shown in Figure 1. During Step 1, “Analyze Proposed System,” marketing and planning identify a customer need and determine whether the company can develop a product that will profitably meet that need. In Step 2, “Specify Requirements,” marketing and planning draft general requirements for the proposed product. In Step 3, “Design System,” development writes detailed specifications for the proposed product. In Step 4, “Develop System,” development creates the product. In Step 5, “Release Product,” the company releases the product.

Rapid prototyping process

Figure 1. Traditional and Rapid Prototyping Product Development Processes

There are two obvious differences between the traditional product development process and the rapid prototyping process shown in Figure 1. These differences are customer involvement and iterative design. Customers are involved only indirectly at the beginning of the traditional process, when marketing and planning specify requirements. In rapid prototyping, customers are involved directly throughout the development process. Also, the traditional process goes from requirements, to design, to development in a fixed series of steps. In rapid prototyping, the process is iterative. This makes it easier to change or add requirements that will make the product more popular with customers.

Performing Rapid Prototyping

Before you begin rapid prototyping, you should select a rapid prototyping tool and form a rapid prototyping team.

Select a Tool

To prototype successfully, first select an appropriate rapid prototyping tool. There are hundreds of rapid prototyping tools available. They range from simple graphics packages that allow you to draw screens to complex systems that allow you to create animation. Each tool is better for some functions than for others. There is no one, perfect rapid prototyping tool. Identify your prototyping needs, then find the tool that most closely meets those needs. You can learn about different prototyping tools by consulting computer magazines, technical reports, and books that describe prototyping tools (see Appendix A, “Sources of Information on Prototyping Tools”).

Form a Team

Another way to help make your rapid prototyping effort successful is to form a rapid prototyping team. The team should include a domain expert, an information developer, a marketer or planner, a programmer, and a usability representative. Their variety of skills allows the members of the small team to quickly and efficiently prototype a user interface that meets customer needs and development constraints. For example, the marketer can ensure that the proposed product has the features the customers want, and the programmer can ensure that the features will work with the proposed product architecture.

Rapid Prototyping Process

After you select a tool and form a team, you can begin the rapid prototyping process. Figure 1 shows suggested steps for developing a product with the rapid prototyping process.

Compared to the traditional process of product development, rapid prototyping produces realistic screens earlier in the design process, puts more emphasis on the customer throughout the development process, and allows designers to make changes more quickly and easily.

Rapid Prototyping Pros and Cons

Rapid prototyping has some clear advantages and disadvantages. These are described below.

Advantages of Rapid Prototyping

Rapid prototyping has many advantages over the traditional process used to develop a product, including those describe below.

Disadvantages of Rapid Prototyping

Rapid prototyping also poses some special challenges that are usually worth overcoming. Some of the disadvantages of rapid prototyping are described below.

Summary

Rapid prototyping helps you build the product right the first time and puts design emphasis on meeting customer needs. It can save time and money, and improve the usability of your product. To prototype successfully, be sure to:

References

  1. Boehm, B. W., Gray, T. E., and Seewaldt, T. (1984). Prototyping versus specifying: A multiproject experiment. IEEE Transactions on Software Engineering, 10, 3, 290-303.
  2. Gomaa, H., and Scott, D. B. (1981). Prototyping as a tool in the specification of user requirements. In Proceedings of the 5th International Conference on Software Engineering (pp. 333-339). New York: Association for Computing Machinery/Institute of Electrical and Electronics Engineers.
  3. Alavi, M. (1984). An assessment of the prototyping approach to information systems development. Communications of the ACM, 27, 6, 556-563.

Appendix A. Sources of Information on Prototyping Tools