requirements gathering. why are requirements important? to understand what we are going to be doing...

32
Requirements Gathering

Upload: hortense-mcdaniel

Post on 27-Dec-2015

218 views

Category:

Documents


0 download

TRANSCRIPT

Requirements Gathering

Why are requirements important?

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

Functional vs. NonFunctional

Historically requirements

Features, functions that the system should do

Properties of the overall system

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

Usability requirements

Not just “requirements”

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

Physical Environment

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

Implications?

Technical Environment

Computers/platforms for application Technology to interact with Networking Mobility

Implications?

Social Environment

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

– Interruption– Privacy

Implications?

Reminder: 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

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

Stakeholder analysis

Cell phone

Airport check-in kiosk

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

• More next week…

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

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

Examples

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

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

• Fashion website for buying clothes

(Not All) Requirements Gathering Methods

1. Observation

2. Thinking Out Loud & Cooperative Evaluation

3. Interviews

4. Questionnaires

5. Focus groups

6. Study Documentation

7. Look at competitive products

Observation

Watch user(s) doing activity of interest to you Possibly video or audio record (with

permission)

Challenges: people may change behavior when they know they are being watched

Think out loud

Problem: how do you know WHY someone does what they do?

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

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

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

Example: airport check-in kiosk

What could you observe? How could you use think aloud?

Interview Users

Semi-structured: predetermine sets of questions Example 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 7.4 for more tips and discussion

Domain Expert Interviews

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

Focus Groups

Interview groups of users – 3 to 10 at a time– Use several different groups with different roles or

perspectives

Relatively low cost, quick way to learn a lot Use structured set of questions

– More specific at beginning, more open as progresses– Allow digressions before coming back on track

More challenging to lead than single interview– Some people quiet, some dominating– Easier to get off track

Questionnaires (or Surveys)

Easier to give to broader audience Shorter, more focused than interview

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

Numerical scales:

On a scale of 1 to 7, how comfortable are you…

Could also use just words– Strongly agree, agree, neutral, disagree, strongly

disagree

Questionnaires - Example

See ID 7.5 for more tips

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)

Example: airport check-in

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

questions? What about focus group?

What are differences between methods?

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”

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

Which Methods to Use?

Depends on– Resources– Current knowledge of tasks and users– Context

Difficult to use talking out loud in public

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

See pg. 343 in ID

Personas masquerading as marketing

He wishes there were an easier way.

It would be good for her to have a device on hand to …

He knows that a better system could be implemented ...

She wants a system that will…

He needs a way to...

Personas ARE:

Representations of user characteristics…– Is a user characteristic that your user already

knows and wants your exact product? (wishful thinking)

– Understands bad designs?

Method of communicating useful and relevant user information