requirements elicitation: discovering user needs
TRANSCRIPT
Requirements elicitation:Discovering user needs
Sari Kujala, Marjo Kauppinen and Marie Monkam Ngatcheu1.2.2021
Content
• Overview of learning activities and Assignment 4• Requirements elicitation: Goal, process and techniques• Discovering hidden needs by observing and interviewing• Planning, conducting and analyzing interviews• Conclusions
2
Overview of learning activities
3
Assignment 3: RE activities
Assignment 4: Good RE practices for your agile team
Assignment 5: Good RE practices that support customer value creation
Assignment 6: Solution planning and roadmapping
Final discussions in the teams of Assignment 6
Stud
y se
ssio
ns a
nd re
flect
ions
The goal of the course: Students are able to gain in-depth knowledge about RE and create a strong foundation for continuous learning.
Anal
ysis
of r
esea
rch
artic
les
4
Assignment 4: A proposal ofgood RE practices for your agile team
Analyse the articles of Hofmann and Lehner (2001) and Inayat et al. (2015).
Based on these two articles and the material of the study sessions, make a proposal and explain clearly
• which good RE practices you would recommend for your agile team and why? or• You can also define your own question that you answer based on the articles and
the material of the study sessions.
• Assignment 4 can be done in pairs or individually.• Estimated workload: 10 hours per student• Deadline: 10.2. at 5 pm plus the total of extra 24 hours for Assignments 4-5
• Hofmann H. and Lehner F. (2001) Requirements Engineering as a Success Factor in Software Projects, IEEE Software 18(4) 58-66.
• Inayat et al. (2015) A Systematic Literature Review on Agile Requirements Engineering Practices and Challenges, Computers in Human Behavior 51: 915–929.
5
Elicitation
Analysis
Representation
Validation
Requirements change management
Requirements definition
Acceptance testing
Customer value
evaluation
Testing
RE activities: The focus of this session
Problem
Customer& user needs
Stakeholder needs
Requirements elicitation• The goal of requirements elicitation is to discover
information for solution planning and software development• Why is the solution developed?• What are the user, customer and business needs?
• What is the problem to be solved?
• Communication skills needed• Negotiation may be included
6
Requirements elicitation process• Identifying goals • Understanding the application domain• Identifying stakeholders including user and customer
groups• Identifying the sources of information: - Customers, users and experts, - Existing systems and processes, - Existing documentation etc.
• Selecting techniques• Collecting information• Analyzing the results
Based on Nuseibeh and Easterbrook (2000) and Zowghi and Coulin (2005)
7
Group discussion
8
What are requirements elicitation techniques?• Discussing in your team for 8 minutes
• Introduce yourself to other students• You can come back to the main session after you feel that your group has answered
the question.
Requirements elicitation techniques1. Degree: Identifying needs and the problem to be solved• Introspection• Interviews• Questionnaires• Field observation• Ethnography• Task analysis
2. Degree: Identifying the solution, collecting feedback and testing assumptions• Storyboarding• Prototyping• Use case analysis• User stories• Log data
9
Group methods: Identifying and negotiating different needs, co-designing• Focus groups and workshops
A comparative study of elicitation techniques
Rapid prototyping and four usability tests
Existing product
Field interviewsExisting product changed
Source: Kujala and Mäntylä (2000)10
As the problem was not understood, rapid prototyping led to worse version of the product.
The interviews helped to identify the problem to be solved and led to more usable and attractive product version.
Discovering hidden user needs by observing and interviewing
Example: A hidden need
Ship engine room system example
Risk of head injury, trip, and fall, as well as oil spill. While carrying used oil filters in a receptacle full of oil, the mechanic needs to climb down stair steps while bending his back and knees to avoid hitting his head. (Gernez et al. 2018)
A freight elevator example
14
Designers observed a ”dance” of users: a complicated process for using elevator to send packages and notifying others to receive them.
Poll: Which techniques have you used for eliciting requirements?
15
How to get good information about hidden needs by interviewing?Act like a detective• Interview and observe users in their own environment• Focus on evidence not only opinions- Current situation
• Keep the conversation concrete- Ask the person to show how things - Gather critical incidents (how it happened last time, yesterday)
• Treat users as experts, they will tell more
16
Ethnographic style interviews: What to ask?• USERS
• What are the users like?• GOALS
• What is a good end result in their work?• What do they enjoy?
• TASKS AND TOOLS• How do they achieve their goals?
• PROBLEMS AND OPPORTUNITIES• What are the pros and cons of the current tools and processes?
• ENVIRONMENT
17
Break of 10 minutes
18
Planning, conducting and analysing interviews
Plan the interview• Establish objectives• Choose participating users and other stakeholders• Form a user study team and decide roles• Prepare interview questions• Plan a preliminary schedule• Prepare for the interview• Plan how data will be analyzed and reported
20
How to select the interviewees?
If you select wrong ones, you get biased information
1. Select typical and representative users from the identified user groups
2. Select different users to represent broader cross-selection of the target group• Lead users vs. reality check with ordinary users• Potential future users• Remember indirect users and tasks: installers, service, cleaners,
owners
21
Identify different users by describing different user characteristicsPersonal characteristics• Age, sex, lifestyle, skills, physical constraints etc.
Task related characteristics• Goals, tasks, professions, usage (heavy vs. light, frequency)
Geographic and social characteristics• Location, cultures, communities, organization
22
Describe main user groups and prioritize them
10 Admission clerks
- Collect patient data
-Want effectiveness
500 Nurses -View medical data
-Want to heal patients
-Need easy access and accurate data
5 Administrators
-Install and maintain software
-Love technology
-Want security
User groups in hospital
Prepare interview questions• Write down max 20 questions on the paper• Start with an easy question • Keep the questions simple
• Easy to understand, only one question at the time
• Use open questions:• “Tell in your own words”, “How..”,• Ask the user to tell about his work or situation generally (Grand
Tour question)
• Avoid leading or complex questions:• “Is this fun/easy to use?”
24
Users’ language
• Be careful not to use technical terms!• Also familiar terms can have different meaning for
users• Collect users’ terminology during the interview and
use their language• Remember that all kind of information is not easy to
tell or remember (e.g. skills)
25
Is this questions neutral (not leading)?
Is this system easy to use?
More neutral would be:How do you feel about using this system?
26
Is this questions neutral (not leading)?
Is it more important to do things quickly or accurately in your work?
More neutral would be:What is important in doing things in your work?
27
Break of 5 minutes
28
Interviewing
• Create a comfortable atmosphere for your interview• Tell about the purpose of the interview, the topics
included, and guarantee confidentiality• Give feedback how the interview is proceeding
29
Asking questions• Ask one question at a time
• Listen to interviewee• Don’t be too quick in offering an interpretation• Let user freely express himself, let a moment to think about
• Use your questions flexibly • Try to understand the situation from the user’s point of view• If something interesting or unclear is said, ask more!
30
Interviewing: practical hints
• Record the interview, so you save interviewee’s time
• Interview with a pair who makes notes
• Don’t use laptop for making notes
31
Analyzing problems
Identify negative aspects of the current tasks and tools• Labor-intensive or complicated task steps or sequence• Details difficult to remember or complete• Task steps performed using paper and pencil• Frustrating, embarrassing or annoying issues and moments
32
Analyzing opportunities
Identify positive aspects of the current tasks and tools• What is important to users?• What are users not willing to change?• What makes users happy?• What is rewarding, enjoyable and supporting users’ identity?• What are the best memories?
33
User need table
Kujala, Kauppinen and Rekola (2001).Bridging the Gap between User Needs and User Requirements. In Avouris, N. and Fakotakis, N. (Eds.) Advances in Human-Computer Interaction I, Typorama Publications, pp. 45-50. 34
Task sequence Problems and opportunities Step 1: When trapped in an elevator, passenger makes an emergency alarm.
- Passengers want to get out of the elevator as soon as possible - All kinds of passengers must be able to make an alarm call (blind, foreigners etc.) - Sometimes passengers may make false alarms unintentionally. - Passengers may be in panic.
Step 2: Unoccupied service centre operator receives the emergency alarm call and asks for information (description of the failure).
- Different versions and types of remote monitoring systems. - Passenger is the only information source. - Service centre operator does not notice the emergency alarm call.
Step 3: Etc. Etc.
Customer journey map
35Source: Forester Research, Inc.
Conclusions
• Successful requirements elicitation means collecting information from real users and other stakeholders
• A step by step analysis of the user needs• Identifying and describing the current situation helps in
improving it• Identify the problems and opportunities and
redesign users’ tasks and help them to meet their goals
36
References (1/2)• Courage and Baxter (2005) Understanding your users: A practical guide to
requirements methods, tools, and techniques. San Francisco: Morgan Kaufmann.
• Carrizo, Dieste, and Juristo (2014) Systematizing requirements elicitation technique selection. Information and Software Technology 56, 6: 644–669.
• Davis, Dieste, Hickey, Juristo, and Moreno (2006) Effectiveness of requirements elicitation techniques: Empirical results derived from a systematic review. Requirements Engineering, 14th IEEE International Conference, 179–188.
• Gernez E., Nordby K., Seim O., Brett P.O., and Hauge, P. (2018) Human-centered, collaborative, field-driven design – a case study. In Proceedings of International Marine Design Conference, pp. 291-305.
• Kujala, S. (2002) User Studies: A Practical Approach to User Involvement for Gathering User Needs and Requirements. Acta Polytechnica Scandinavica, Mathematics and Computing Series No. 116,the Finnish Academies of Technology. Summary available: http://lib.hut.fi/Diss/2002/isbn9512259001/
2/1/2137
References (2/2)• Kujala, S. (2008) Effective user involvement in product development by
improving the analysis of user needs. Behaviour and Information Technology, 27(6) pp. 457-473.
• Kujala, S. and Kauppinen, M. (2004) Identifying and Selecting Users for User-Centered Design. In Proceedings of Nordic Conference on Computer-Human Interaction, pp. 297-303.
• Kujala, Kauppinen and Rekola (2001) Bridging the Gap between User Needsand User Requirements. In Avouris, N. and Fakotakis, N. (Eds.) Advances in Human-Computer Interaction I, Typorama Publications, pp. 45-50
• Kujala, S. and Mäntylä, M. (2000). How Effective Are User Studies? In Proceedings of HCI'2000 Conference, pp. 61-71.
• Zowghi and Coulin (2005) Requirements elicitation: A survey of techniques, approaches, and tools. In Engineering and managing software requirements. Springer, 19–46.
38