requirements elicitation: discovering user needs

38
Requirements elicitation: Discovering user needs Sari Kujala, Marjo Kauppinen and Marie Monkam Ngatcheu 1.2.2021

Upload: others

Post on 24-Jan-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Requirements elicitation: Discovering user needs

Requirements elicitation:Discovering user needs

Sari Kujala, Marjo Kauppinen and Marie Monkam Ngatcheu1.2.2021

Page 2: Requirements elicitation: Discovering user needs

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

Page 3: Requirements elicitation: Discovering user needs

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

Page 4: Requirements elicitation: Discovering user needs

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.

Page 5: Requirements elicitation: Discovering user needs

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

Page 6: Requirements elicitation: Discovering user 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

Page 7: Requirements elicitation: Discovering user needs

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

Page 8: Requirements elicitation: Discovering user needs

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.

Page 9: Requirements elicitation: Discovering user needs

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

Page 10: Requirements elicitation: Discovering user needs

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.

Page 11: Requirements elicitation: Discovering user needs

Discovering hidden user needs by observing and interviewing

Page 12: Requirements elicitation: Discovering user needs

Example: A hidden need

Page 13: Requirements elicitation: Discovering user needs

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)

Page 14: Requirements elicitation: Discovering user needs

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.

Page 15: Requirements elicitation: Discovering user needs

Poll: Which techniques have you used for eliciting requirements?

15

Page 16: Requirements elicitation: Discovering user needs

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

Page 17: Requirements elicitation: Discovering user needs

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

Page 18: Requirements elicitation: Discovering user needs

Break of 10 minutes

18

Page 19: Requirements elicitation: Discovering user needs

Planning, conducting and analysing interviews

Page 20: Requirements elicitation: Discovering user needs

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

Page 21: Requirements elicitation: Discovering user needs

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

Page 22: Requirements elicitation: Discovering user needs

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

Page 23: Requirements elicitation: Discovering user needs

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

Page 24: Requirements elicitation: Discovering user needs

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

Page 25: Requirements elicitation: Discovering user needs

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

Page 26: Requirements elicitation: Discovering user needs

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

Page 27: Requirements elicitation: Discovering user needs

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

Page 28: Requirements elicitation: Discovering user needs

Break of 5 minutes

28

Page 29: Requirements elicitation: Discovering user needs

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

Page 30: Requirements elicitation: Discovering user needs

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

Page 31: Requirements elicitation: Discovering user needs

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

Page 32: Requirements elicitation: Discovering user needs

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

Page 33: Requirements elicitation: Discovering user needs

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

Page 34: Requirements elicitation: Discovering user needs

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.

Page 35: Requirements elicitation: Discovering user needs

Customer journey map

35Source: Forester Research, Inc.

Page 36: Requirements elicitation: Discovering user needs

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

Page 37: Requirements elicitation: Discovering user needs

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

Page 38: Requirements elicitation: Discovering user needs

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