CMP2019M Human-Computer Interaction
Week 5 – Requirements Analysis and User-Centred Design
Last week
• Designing for Human Cognition – Accessibility
• Making technology accessible
• Using technology to make the world accessible
Combining the last two weeks
• http://theuserisdrunk.com
This week
A look at how to design technology using HCI methods:
• Understandingusers
– Iterative design
– Requirements analysis
• User-centreddesign
What is good design?
What makes digital products appeal to people?
What are the requirements of different user groups?
Part I: Understanding Users
Iterative Design
Overview
• Iterative and experience-centered design process
• Introduction to methods for requirement establishment in HCI
• Focus on approaches that can help us understand users:
– Requirements analysis: Focus groups and interviews – Design phase: Participatory design and personas
• Putting it all to the test: Paper prototyping
Begin
Iterative Design Requirements
Evaluate
Design
Deliver
Implement
Iterative Design
• Cyclic(softwaredevelopment)processthatstarts with requirements establishment, leads over to the design and implementation of solutions which are then evaluated
• After evaluation, either exit, or enter new iteration in which requirements are adapted and design and implementation are updated
• System evolves throughout development
Experience-Centered Design
• Experience-centereddesign=commitmentto dialogue with users and communities of interest
• At each stage of the iterative process there are different methodologies that have been found useful for informing design
• Lots of overlap – use the most appropriate one to find out the information you need to improve your design at each stage of the process
Experience-Centered Design
• Requirementsestablishment
– Ethnography
– Probes (cultural, experiential, evocative) – Diary studies
– Focus groups
– Card sorting tasks
– Interviews
– Drama / Role Play
– Fictional Inquiry
Experience-Centered Design
• Design
– Participatory design (focus groups) – Personas
– Scenarios
– Pastiche Scenarios
– Paper prototyping
Experience-Centered Design
• Development
– Software engineering methods – Tools, languages, …
Experience-Centered Design
• Evaluation
– Early stages
• Paper prototyping
• Experience prototyping (Wizard of Oz) – Later stages
• Working prototype – lab usability study • Diary study
• Analysis of data log files
• Interviews
Experience-Centered Design
• The point of all of these is to “invite participants to creatively express something about themselves, their values, their relationships, and the ways they make sense of experience” (Wright & McCarthy, 2010, p.84).
• “…to elicit personally meaningful reflections… to understand how people experience and make sense of situations, relationships and life events.” (Wright & McCarthy, 2010, p.84).
Experience-Centered Design
• …Because understanding that, is what will lead you to design useful, interesting, successful technology
• …..and (more engineeringly) it’s the best way to avoid costly errors in the development process
• A poor requirements phase can cost 100 times more to fix later in a project (Boehm & Basili, 2001).
Requirements Analysis
Requirements Establishment
• Functional&Non-functionalrequirements
• These are software engineering practices – HCI is part of the SDLC, not an extra thing
Functional Requirements
• Functionalrequirementsare“astatementaboutan intended product that specifies what it should do” (Sharp, Rogers, & Preece, 2010)
• Put simply: Tangible system features
Non-functional Requirements
• Describe product or system characteristics with respect to performance – not just efficiency, but also softer qualities such as user experience
• Describe how a system is supposed to act
• Ideallyneedtobemeasurablesoprojectprogress and success can be assessed
Detailed Requirements
• The “how” – how will the functional requirements be met?
• We never know in advance.
• We must honestly, openly try to understand them.
• “…to elicit personally meaningful reflections… to understand how people experience and make sense of situations, relationships and life events.” (Wright & McCarthy, 2010, p.84).
Requirements: Example 1
Requirements: Example 1
• “Alessi has also produced 10,000 gold-plated versions, which were never intended for use as the citric acid in the lemon discolours the juicer. Starck is rumoured to have said: “It’s not meant to squeeze lemons, it is meant to start conversations.”
http://www.independent.co.uk/property/interiors/the- secret-history-of-philippe-starcks-lemon-squeezer- 1972849.html
Requirements: Example 1
Requirements: Example Requirements: Example 2
• [Insert example here.]
Requirements: Example 3
• [Insert example here.]
Requirements: Example 3
Requirements: Example 4
Requirements: Example 4
• “On top of that, the save and load times for The Settlers are unreasonably long. Load times on handhelds are practically a death sentence anyway, but watching the progress slowly creep up, and having to stop the game to wait for it to save really kills any sort of pacing the game had.”
http://uk.ign.com/articles/2007/09/10/the-settlers- review
Requirements: Example 5
Requirements: Example 5
Requirements: Example 5
Requirements: Example 6
Requirements: Example 7
Requirements: Example 7
• Usuallygothroughrevolvingdoors?
• …or go for wheelchair access / emergency exit instead?!
Requirements: Quick Guide
• Identify what is important to stakeholders
– This will allow you understand what is not acceptable (e.g., getting fired from my job because I need to play game during office hours)
• Involvethestakeholder
– And more than one of them
• Be prepared – use props, examples, prototypes to support discussion (more on this later)
Requirements: Summary
• Functional and non-functional requirements go hand in hand – define system features and execution
• Revisit throughout development process, reassess, ensure that nothing went wrong along the way
• Understandthatusersmayhavedifferenttakeson requirements, show behaviours that were not anticipated, …
Part II: User-Centred Design
Iterative Design Cycle Begin
Requirements
Evaluate
Design
Deliver
Implement
Requirements Establishment
1) Ethnography 2) Focus groups 3) Interviews
There are many other approaches – this is just a selection to give you tools to use for this class!
Ethnography
Ethnography
Ethnography
Ethnography
Ethnography
• Everything is viewed naively – viewed as strange
• No theoretical framework in advance
• Gives a detailed and nuanced understanding of peoples lives
– Other methods may be difficult – people may not answer questionnaires or interviews 100% honestly
Direct observations of how people actually live, work etc., allows the designer to gain understanding of how technology will fit intuitively into their lives
Ethnography =
Direct observations of how people actually live, work etc., allows the designer to gain understanding of how technology will fit intuitively into their lives.
52
Focus Groups
• Discussing ideas with target audience to elicit their feedback on developers’/designers’ thoughts – not just observing, but also interacting!
• These are very commonly used – Designers meet stakeholders
– Social, personal interaction
– Public discussion
– Highlights agreement, disagreement – People express their understanding
Focus Groups
• The designer has a plan…
– They have a rough idea of the information they want to elicit
• Functional requirements
– They provide props, materials, some guidance on discussion
– They record participant responses
• Problems with focus groups?
Interviews
• Interviews are a common method for establishing requirements
• Different types – Structured
– Unstructured
– Semi Structured
Structured Interviews
• Theintervieweraskspre-determinedquestions – Similar to a questionnaire
• Exactly same questions used with every participant
• Closedquestions
– Require an answer from a pre-determined set of alternatives
– Works if the range of possible answers is known – And people are in a rush
• Only useful if goals are very well understood
Unstructured Interviews
• Exploratory conversations around a particular topic
• Questionsareopen
– No expectation of the format or content of answers
– Useful when you want to explore the range of possible opinions
• But you still need a plan – you need to be aware of what information you need to find out.
• Results in rich, unstructured data
Semi-Structured Interviews
• Use both open and closed questions
• Basic script so that the same topics are covered
• Begin with pre-planned questions, then probe participant to expand upon that point
• Don’t lead people to conclusions
– “as an older person you probably like tea…”
• Probe – “Is there anything else you’d like to tell me”
Requirements Establishment
1) Ethnography – good to observe persons in natural environment without interfering with their activities, but no insights into personal opinions and ideas
2) Focus groups – good to get input from groups of people and their discussion of your ideas, will lead to interesting insights, but are hard to manage
3) Interviews – a way of obtaining individual feedback, but need to make sure you are not leading participants on
Iterative Design Cycle Begin
Requirements
Evaluate
Design
Deliver
Implement
Design
1) Participatory Design 2) Personas
There are many other approaches – this is just a selection to give you tools to use for this class!
Participatory Design
• The involvement of end-users in the development process; not just in the testing phase, but as actual designers
• Goal:“[…]increasethepublic’sengagementwith research, facilitate learning and change, ensure that technologies are aligned to people’s needs and remove designer subjectivity.” (Khaled & Vasalou, 2014)
Participatory Design
• Allows you to gain new insights into the user’s perspectives.
• They may have insights that you do not have, and that are impossible to imagine!
Participatory Design
Participatory Design
“My natural preference would probably be able- bodied but that’s because obviously there’s not to my knowledge, there’s no games I’ve ever come across where there’s been a guy in like a wheelchair or any sort of.”
Participatory Design
• Goal:“[…]increasethepublic’sengagementwith research, facilitate learning and change, ensure that technologies are aligned to people’s needs and remove designer subjectivity.” (Khaled & Vasalou, 2014)
Participatory Design
• Benefits: You can work directly with your audience to adapt your games to their needs.
• Challenges: Are all questions appropriate? What if you’re working with vulnerable audiences? Takes time! Costs money! You’ll have to find the right people!
Personas
• Alternative to directly involving end-users in design
• Fictional characters that are created by designers to represent target audience
• Still requires insights into needs and wishes of target audience, but does not require direct contact
Personas
• Can be based off literature, own experiences, group discussions, observations (ethnography!)
• Still subjective, so a bit tricky – keep that in mind when playing through scenarios
Personas
• Alternative to directly involving end-users in design process
• Fictional characters that are created by designers to represent target audience
• Still requires insights into needs and wishes of target audience, but does not require direct contact
• Can be based off literature, own experiences, group discussions, observations (ethnography!)
• Still subjective, so a bit tricky
– keep that in mind
http://www.newstatesman.com/node/150072
Personas: Example
• Sarah, 70 years old, widow, lives alone
• Has Arthritis but otherwise healthy and active
• Enjoys reading, going for walks, spending time with her children and grandchildren
• Littleexperienceusingcomputers,childrenbought her a tablet so they can Skype her
• Arthritis sometimes makes it hard to use tech, but also other things in daily life
Personas: Quick Guide
• Include ‘hard facts’ about person
• Talk about strengths and weaknesses
• Try to create a ‘full’ image – include hobbies, interests, whatever makes the person unique
• Don’t focus too much on the software you’re trying to design – this will follow later
• When in doubt, read up about topics
• Sometimes you’ll need to create several personas
Task:
Design an app for your best friend – create a persona.
Work on your own.
Task:
Design an app for your dog – create a persona.
Work with a partner.
Which task was easier?
What problems did you encounter?
What would your dog think?
Task:
Design an app for a person with a visual impairment – create a persona.
Work with a partner.
What were your thoughts?
What problems did you encounter?
Remember: Quick Guide
• Identify what is important to stakeholders
– This will allow you understand what is not acceptable (e.g., getting fired from my job because I need to play video game during office hours)
• Involvethestakeholder
– And more than one of them
• Be prepared – use props, examples, prototypes to support discussion
Iterative Design Cycle Begin
Requirements
Evaluate
Design
Deliver
Implement
Evaluation
1) Wizard-of-Oz
2) (Paper) Prototype
There are many other approaches – this is just a selection to give you tools to use for this class!
Wizard-of-Oz
• “The phrase Wizard of Oz has come into common usage to describe a testing or iterative design methodology wherein an experimenter (the “wizard”), […] simulates the behavior of a theoretical intelligent computer application.”
• Longversion: http://deepblue.lib.umich.edu/bitstream/handle/202 7.42/174/71952.0001.001.pdf
(Paper) Prototyping
• The creation of a working model of your idea that allows you to test its feasibility
• Created using paper, pens, glue, scissors, figures, cards, dice, construction paper, …
– Allows many iterations in a short period of time
– Can come up with and quickly evaluate many competing ideas
– Allows non-technical members to participate in design process – requires kindergarten skills
90
(More on this next week!)
Remember
• The point of user-centered and participatory design is to “invite participants to creatively express something about themselves, their values, their relationships, and the ways they make sense of experience” (Wright & McCarthy, 2010, p.84).
• Not all people are the same!
• Make no assumptions, or at least try the best to stop your brain from getting ahead of you!
The bottom line:
sit down with your target audience and find out about their preferences. Test your stuff. Test it a lot.
But also remember to make room for yourself to be creative, and to surprise users.
Do you have any questions?