Chapter 6: Thinking about requirements and describing them.

16
Chapter 6: Thinking about requirements and describing them

Transcript of Chapter 6: Thinking about requirements and describing them.

Page 1: Chapter 6: Thinking about requirements and describing them.

Chapter 6:

Thinking about requirements and describing them

Page 2: Chapter 6: Thinking about requirements and describing them.

Introduction

• Process of compromise between constraints and tradeoffs

• How to get them and typical problems

• End result: requirements specification

Page 3: Chapter 6: Thinking about requirements and describing them.

Usability Requirements Defined

• Focus on the users and not just technical specifications.

• Early work-based areas of focus (Bennett, 1984):– Learnability: ease of learning; time and

effort required to reach certain level of performance

– Throughput: ease of use; tasks accomplished by users; speed of task execution; errors made

– Flexibility: accommodation to changes in task and environment beyond original specifications

– Attitude: positive attitude engendered in users by the application

Page 4: Chapter 6: Thinking about requirements and describing them.

Usability Requirements Defined (cont’d)

• A newer approach to focus areas (Quesenbery, 2003):– Effective– Efficient– Engaging– Error tolerant– Easy to learn

• Consider all together; interdependent

• Focus on each dimension in balance

Page 5: Chapter 6: Thinking about requirements and describing them.

Usability Requirements Defined (cont’d)

• Qualitative: – Subjective and not always easy to

measure or quantify– Example: “The system should be easy to

use.”

• Quantitative:– Expressed in terms of specific

performance measures (usability metrics)– Examples: completion times, number of

errors on a task, and number of commands used.

Page 6: Chapter 6: Thinking about requirements and describing them.

Example: Laser bar code scanning system

• Possible usability requirements:– Learnable by cashiers with ≤ 1 hour

of training.– Relearning period of ≤ 10 min. after

not using for up to 1 year.– Feedback in less than 2 seconds.– Sensitivity to barcodes without

perfect scanner to barcode alignment.

Page 7: Chapter 6: Thinking about requirements and describing them.

Constraints / Trade-offs

• Examples:– Costs / budget / timescales– Technology available; interoperability

with other hardware and software– Agenda of individual stakeholders– Contradictory requirements– Organizational policies

• Evaluate each trade-off in terms of its impact on the users’ ability to use the system effectively.

• Document all constraints and trade-offs in requirements specifications and any negotiations or decisions made for dealing with them.

Page 8: Chapter 6: Thinking about requirements and describing them.

Problems with Requirements Gathering

• Not enough user/stakeholder involvement in the process.

• Lack of requirements management due to poor record keeping.

• Shared understanding between all involved groups.

• Capturing relevant application domain-related information existing in a variety of places.

• Cooperation from users and stakeholders.• Organizational and political factors may

influence the specifications.• Getting balanced views.• Change of stakeholders over the duration of

the design and development of the application.

Page 9: Chapter 6: Thinking about requirements and describing them.

Requirements Specifications

• Produced by analyzing info gathered from:– Stated requirements– Observations of users, task, and

environments

• Conclusions translated into precise and comprehensive requirements for the design of the system.

Page 10: Chapter 6: Thinking about requirements and describing them.

Requirements Specifications (cont’d)

• Tips:– Use language simply, consistently,

and concisely.– Use diagrams appropriately.– Supplement natural language with

other descriptions of requirements.– Specify requirements quantitatively.

• Errors in specifying requirements will result in errors in the design and the design will not meet the users’ needs.

• This document will reflect compromise.

Page 11: Chapter 6: Thinking about requirements and describing them.

What Next?

• Prototyping– Saves time, money, and headaches.– Ensure that you have interpreted

needs accurately.

• What is prototyping?– An experimental, rough, incomplete

design.– Used early to communicate and share

ideas with users and stakeholders.– Used later for exploring and

demonstrating.

Page 12: Chapter 6: Thinking about requirements and describing them.

Prototyping Methods

• Low-fidelity prototypes:– Generally paper based but can be

created in programs like Paint or PowerPoint

– Useful for requirements-gathering – Cheap, fast to produce, and easily

changed– Examples:

•Sketching•Screen mockups•Storyboards

Page 13: Chapter 6: Thinking about requirements and describing them.

Low-Fidelity Paper Prototype

Page 14: Chapter 6: Thinking about requirements and describing them.

Prototyping Methods (cont’d)

• High-fidelity prototyping– Provide a functional version of the system for

user to interact with– Advantages:

•Show complete functionality.•Show look, feel, layout, and behavior of final

product.•Fully interactive and can be used as a

marketing tool.– Disadvantages:

•Time consuming•Not as effective for requirements gathering

because not as easily changed during testing.•Look so finished and professional that users

are less willing to comment.

Page 15: Chapter 6: Thinking about requirements and describing them.

High-Fidelity Prototype

Page 16: Chapter 6: Thinking about requirements and describing them.

Questions?