Upload
hortense-mcdaniel
View
218
Download
0
Tags:
Embed Size (px)
Citation preview
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
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
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
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...