Top Banner
Requirements: Gathering
42

Requirements: Gathering. Why To understand what we are going to be doing We build systems for others, not for ourselves Requirements definition:

Dec 20, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Requirements: Gathering. Why  To understand what we are going to be doing  We build systems for others, not for ourselves  Requirements definition:

Requirements: Gathering

Page 2: Requirements: Gathering. Why  To understand what we are going to be doing  We build systems for others, not for ourselves  Requirements definition:

Why

To understand what we are going to be doing

We build systems for others, not for ourselves

Requirements definition: the stage where failure occurs most commonly

Getting requirements right is crucial

Page 3: Requirements: Gathering. Why  To understand what we are going to be doing  We build systems for others, not for ourselves  Requirements definition:

Functional vs. NonFunctional

Historically requirements

Features, functions that the system should do

Properties of the overall system

“-ilities” (quality, evolveability, flexibility, etc.)

Usability requirements

Page 4: Requirements: Gathering. Why  To understand what we are going to be doing  We build systems for others, not for ourselves  Requirements definition:

Not just “requirements”

Overall goals, success criteria User characteristics Task analysis Environment – physical, social,

technical Constraints Usability goals, criteria

Page 5: Requirements: Gathering. Why  To understand what we are going to be doing  We build systems for others, not for ourselves  Requirements definition:

User Characteristics

Attitude, morale, willingness to change, motivation, reading level, typing skill, education, frequency of use, training, color-blindness, handedness, gender,…

Novice, intermediate, expert System experience, task experience, computer

literacy Cultural factors

Uses of icons, colors, words, metaphors

Page 6: Requirements: Gathering. Why  To understand what we are going to be doing  We build systems for others, not for ourselves  Requirements definition:

Task Analysis

• Process of analyzing and documenting how people perform their tasks or activities

Learn what users do, why they do it, how they do it, when they do it, with what tools or people they do it

• Task-subtask decomposition

Page 7: Requirements: Gathering. Why  To understand what we are going to be doing  We build systems for others, not for ourselves  Requirements definition:

Physical Environment

Amount of space to work Lighting levels / directions Noise level Temperature, humidity, dust… Standing / sitting Power availability Dangers

Implications?

Page 8: Requirements: Gathering. Why  To understand what we are going to be doing  We build systems for others, not for ourselves  Requirements definition:

Technical Environment

Computers/platforms for application Technology to interact with Networking Mobility

Implications?

Page 9: Requirements: Gathering. Why  To understand what we are going to be doing  We build systems for others, not for ourselves  Requirements definition:

Social Environment

How do users interact with system? Roles?

How do users interact with others? Social implications of problem or

solution? Interruption Privacy

Implications?

Page 10: Requirements: Gathering. Why  To understand what we are going to be doing  We build systems for others, not for ourselves  Requirements definition:

Stakeholders

Primary – targeted end users Secondary – receive output or

provide input to system Tertiary – others directly receiving

benefits from system success or failure

Facilitating – design, development, maintenance

Page 11: Requirements: Gathering. Why  To understand what we are going to be doing  We build systems for others, not for ourselves  Requirements definition:

Stakeholder analysis

Cell phone

Bus location web page

Nuclear power plant control system

Page 12: Requirements: Gathering. Why  To understand what we are going to be doing  We build systems for others, not for ourselves  Requirements definition:

Typical Real-World Constraints

Elapsed time to market Cost/effort to design and implement Size/footprint/weight/power/price Computer power/memory (related to cost

and power Consistency with overall product line Backward compatibility Differentiation from competitive products

Page 13: Requirements: Gathering. Why  To understand what we are going to be doing  We build systems for others, not for ourselves  Requirements definition:

Usability Requirements

Usability goals: such as learnability, consistency, robustness, etc.

Ways to measure and judge success Time to complete key tasks - min, max Time to become proficient - do given set of

tasks in given time Subjective satisfaction

Page 14: Requirements: Gathering. Why  To understand what we are going to be doing  We build systems for others, not for ourselves  Requirements definition:

Example

What factors (environmental, user, usability) would affect the following systems?

• Self-service filling and payment system for a gas station

• On-board ship data analysis system for geologists searching for oil

• Fashion website for buying clothes

Page 15: Requirements: Gathering. Why  To understand what we are going to be doing  We build systems for others, not for ourselves  Requirements definition:

Bus location web page

User characteristics Context: Environment, types of

users Constraints: device, market, etc. Functional requirements Non-functional requirements

Page 16: Requirements: Gathering. Why  To understand what we are going to be doing  We build systems for others, not for ourselves  Requirements definition:

Gather, Organize, Represent

Gather data Interviews, observation,

surveys/questionnaires, documentation, immersion

Organize data Notes, cards, brainstorming, computer tools

Represent data Lists, outlines, matrices Narratives Hierarchies, Networks, Flow charts

Page 17: Requirements: Gathering. Why  To understand what we are going to be doing  We build systems for others, not for ourselves  Requirements definition:

Formative & Summative Evaluation Formative evaluation

Conducting this process to help guide the formation (ie, design) of a UI

Summative Evaluation Conducting this process to help summarize

(sum up) the effectiveness of an existing or developmental UI

Many techniques can be used for both formative and summative evaluation Our focus right now is on formative

evaluation Will revisit some of the methods again later

Page 18: Requirements: Gathering. Why  To understand what we are going to be doing  We build systems for others, not for ourselves  Requirements definition:

(Not All) Requirements Gathering Methods

1. Observation2. Thinking Out Loud & Cooperative

Evaluation3. Interviews4. Questionnaires5. Focus groups6. Study Documentation7. Look at competitive products8. Ethnography - learn by immersion/doing

Page 19: Requirements: Gathering. Why  To understand what we are going to be doing  We build systems for others, not for ourselves  Requirements definition:

Observation & Thinking Out Loud

Watch user(s) doing activity of interest to you

Video or audio record (with permission)

Think out loud - encourage user to verbalize what they are thinking Not everyone is good at this Hard to keep it up for long time while

also doing something; need breaks

Page 20: Requirements: Gathering. Why  To understand what we are going to be doing  We build systems for others, not for ourselves  Requirements definition:

Observing Tips

Carefully observe everything about users and their environment

Think of describing it to someone who has never seen this activity before

What users say is important, so are non-verbal details

Page 21: Requirements: Gathering. Why  To understand what we are going to be doing  We build systems for others, not for ourselves  Requirements definition:

Cooperative (Participative) Evaluation

Sit with user doing activity of interest to you Talk with user as the do their activity

Ask questions Why are you doing that? How did you know the result was what you

wanted? Are there other ways to achieve the same goal? How did you decide to do things this way?

Relaxed version of thinking out loud Observer and participant can ask each other

questions

Page 22: Requirements: Gathering. Why  To understand what we are going to be doing  We build systems for others, not for ourselves  Requirements definition:

Example: mall kiosk

What could you observe? How could you use coop eval?

Page 23: Requirements: Gathering. Why  To understand what we are going to be doing  We build systems for others, not for ourselves  Requirements definition:

Interviews

Structured Efficient Require training

Unstructured Inefficient No training

Semi-structured Good balance Often appropriate

Page 24: Requirements: Gathering. Why  To understand what we are going to be doing  We build systems for others, not for ourselves  Requirements definition:

Semi-Structured Interviews Predetermine data of interest - know why you

are asking questions - don’t waste time Plan for effective question types

How do you perform task x? Why do you perform task x? Under what conditions do you perform task x? What do you do before you perform…? What information do you need to…? Whom do you need to communicate with to …? What do you use to…? What happens after you…? What is the result or consequence of…? What is the result or consequence of NOT…?

See ID 13.2 for more tips and discussion

Page 25: Requirements: Gathering. Why  To understand what we are going to be doing  We build systems for others, not for ourselves  Requirements definition:

Domain Expert Interviews

Expert describes how it should be done (not necessarily how it is done)

Page 26: Requirements: Gathering. Why  To understand what we are going to be doing  We build systems for others, not for ourselves  Requirements definition:

Questionnaires

General criteria Make questions clear and specific Ask some closed questions with range

of answers Sometimes also have a no opinion option,

or other answer option Do test run with one or two people

Page 27: Requirements: Gathering. Why  To understand what we are going to be doing  We build systems for others, not for ourselves  Requirements definition:

Seven-point Likert Scale (use odd #)

Could also use just words Strongly agree, agree, neutral,

disagree, strongly disagree

Questionnaires - Example

See ID 13.3 for more tips

Page 28: Requirements: Gathering. Why  To understand what we are going to be doing  We build systems for others, not for ourselves  Requirements definition:

Other Typical Questions

Rank the importance of each of these tasks (give a list of tasks)

List the four most important tasks that you perform (this is an open question)

List the pieces of information you need to have before making a decision about X, in order of importance

Are there any other points you would like to make? (open-ended opinion question; good way to end)

Page 29: Requirements: Gathering. Why  To understand what we are going to be doing  We build systems for others, not for ourselves  Requirements definition:

Open ended questions

Can ask questions similar to semi-structured interview …but you can’t follow up, so take care

what you ask Keep as short and simple as

possible

Page 30: Requirements: Gathering. Why  To understand what we are going to be doing  We build systems for others, not for ourselves  Requirements definition:

Focus Groups

Group of individuals - 3 to 10 Use several different groups with different roles or

perspectives And to separate the powerful from those who are

not Careful about few people dominating discussion

Use structured set of questions More specific at beginning, more open as progresses Allow digressions before coming back on track

Relatively low cost, quick way to learn a lot Audio or video record, with permission

Page 31: Requirements: Gathering. Why  To understand what we are going to be doing  We build systems for others, not for ourselves  Requirements definition:

Example: mall kiosk

Who to interview? What questions? Who to give questionnaire to? What

questions? What about focus group?

What are differences between methods?

Page 32: Requirements: Gathering. Why  To understand what we are going to be doing  We build systems for others, not for ourselves  Requirements definition:

Study Documentation

Similar in some ways to the expert interview

Often describe how things should be done rather than how they are done Try to understand why not done “by the

book”

Page 33: Requirements: Gathering. Why  To understand what we are going to be doing  We build systems for others, not for ourselves  Requirements definition:

Look at Competitive Products

Looking for both good and bad ideas Functionality UI style

Do user task performance metrics to establish bounds on your system

Page 34: Requirements: Gathering. Why  To understand what we are going to be doing  We build systems for others, not for ourselves  Requirements definition:

Ethnography

Deeply contextual study Immerse oneself in situation you want to

learn about (has anthropological and sociological roots) Observing people in their cultural context

Behavior is meaningful only in context For UI designers: understand current

methods, activities, environment, problems to aid design

Page 35: Requirements: Gathering. Why  To understand what we are going to be doing  We build systems for others, not for ourselves  Requirements definition:

Ethnography

Things of interest to evaluator Structure and language used in work Individual and group actions Culture affecting work Explicit and implicit aspects of work

Example: Office work environment Business practices, rooms, artifacts, work

standards, relationships between workers, managers, …

Page 36: Requirements: Gathering. Why  To understand what we are going to be doing  We build systems for others, not for ourselves  Requirements definition:

Drawbacks of Ethnographic Methods

Time required Can take weeks or months for large systems

Scale Most use small numbers of participants just to

keep somewhat manageable Type of results

Highly qualitative, may be difficult to present/use

Acquired skill – “learn by doing” Identifying and extracting “interesting” things

is challenging

Page 37: Requirements: Gathering. Why  To understand what we are going to be doing  We build systems for others, not for ourselves  Requirements definition:

Which Methods to Use?

Depends on Resources Current knowledge of tasks and users Context

Can’t use talking out loud if work involves two people working together

Essential to use some methods Not likely you will use all methods

See pg. 214 in ID

Page 38: Requirements: Gathering. Why  To understand what we are going to be doing  We build systems for others, not for ourselves  Requirements definition:

Which Methods to Use?

• Self-service filling and payment system for a gas station

• On-board ship data analysis system for geologists searching for oil

• Fashion website for buying clothes at large department store

Page 39: Requirements: Gathering. Why  To understand what we are going to be doing  We build systems for others, not for ourselves  Requirements definition:

Bus Location Web Page

Create a requirements plan which methods What to look for/ask/do for each?

Page 40: Requirements: Gathering. Why  To understand what we are going to be doing  We build systems for others, not for ourselves  Requirements definition:

(Not All) Requirements Gathering Methods

1. Observation2. Thinking Out Loud & Cooperative

Evaluation3. Interviews4. Questionnaires5. Focus groups6. Study Documentation7. Look at competitive products8. Ethnography - learn by immersion/doing

Page 41: Requirements: Gathering. Why  To understand what we are going to be doing  We build systems for others, not for ourselves  Requirements definition:

Assignment 1

Semi-structured interview 1 person List of questions Summarize responses

Think about your project topic Due: Wednesday at noon

Page 42: Requirements: Gathering. Why  To understand what we are going to be doing  We build systems for others, not for ourselves  Requirements definition:

Brainstorming, cont.