Team Project:
Requirements elicitation & user interface prototyping

Due date: ?

Project description

Imagine that you are working for a firm that produces personal electronics products, and you have been given the job of designing the software for a new "sports performance monitor" device.  (The marketing department hasn't come up with a spiffy name for this thing yet; if you have a good idea, feel free to use it.)  The device is intended for enthusiasts of running, cycling, and cross-country skiing, and will measure various factors as they exercise.  The basic unit, designed to fit on the user's wrist, will include a chronograph (measuring time), an LCD display with a backlight (for viewing the display in the dark), and a tiny speaker.  It would also be possible to include an altimeter (measuring altitude) and/or a GPS device (measuring location), but it is not clear how useful these additional devices would be.  Initial estimates indicate that the basic unit will cost $30, adding the altimeter will increase the cost by $20, and adding the GPS device will also increase the cost by $50.

Your responsibility is to design a prototypical user interface for the device, guided by the comments and stories of real potential users. More specifically, you will elicit requirements through interviews, develop a prototype based on these requirements, and document your prototype. You will be assigned two "potential users" to interview. It is up to you to schedule interviews as soon as possible; your interviewees are under no responsibility to agree to last-minute meetings. If you like, and if your interviewees agree, you may come back and validate your prototype with them. This will make your report more interesting, but it is not required; note that you will have to start the project early in order to do this.

What to submit

Elicitation plan. Describe what information you hope to elicit from the users, present your elicitation instruments, and explain why you have chosen these instruments. You should use the notion of scenarios (described at length in class) as part of your elicitation plan, but this need not be the only type of tool that you use.

Elicitation results. Give the responses you elicited from your interviewees, and describe and justify the conclusions you draw from their responses.

Prototype development. Motivated by the user information you have gathered, develop a prototype of the user interface. You will need to "fill in the blanks" in many places; this amounts to making preliminary design decisions. In such cases, justify your design decisions in terms of user requirements.

Prototype documentation. Create a Statechart representation of the prototype, and describe the states and events of the Statechart diagram in some detail. You may include other forms of documentation if they seem useful.

Each of the above will be weighted equally in the grading.

Grading criteria

Attentiveness to problem. You will need to think at length about the product from a user-centered perspective --- both when developing the elicitation plan and the prototype. Your decisions should be well justified and based on the user requirements you discover.

Attentiveness to users. Your time spent eliciting requirements is very important; be sure to use it as effectively as possible. The quality and number of your questions and recorded answers are important grading criteria for this project.

Quality of documentation. Your Statechart diagrams should be clear and accurate, and the states should be annotated to represent the appearance and behavior of the device in each state.

Critical analysis. As in the previous project, you'll be asking a lot of questions and making a lot of decisions, particularly in the development of the elicitation plan and the prototype. Be sure to include your questions and decisions in your written document.