32
18.1.2021 CS-E4940 Requirements engineering Marjo Kauppinen, Sari Kujala, Nagadivya Balasubramaniam, Karolina Drobotowiczi and Marie Monkam Ngatcheu Intro to the course – Basics of Requirements Engineering (RE) Focusing on User Needs

Intro to the course – Basics of Requirements Engineering

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Intro to the course – Basics of Requirements Engineering

18.1.2021CS-E4940 Requirements engineeringMarjo Kauppinen, Sari Kujala,

Nagadivya Balasubramaniam, Karolina Drobotowiczi and MarieMonkam Ngatcheu

Intro to the course –Basics of Requirements Engineering (RE) Focusing on User Needs

Page 2: Intro to the course – Basics of Requirements Engineering

Outline of the first study session• Introduction to the course

• Learning goals• Assignments• Workload• Schedule of the study sessions

• Requirements engineering (RE)• Reasons for investing in RE• Basics of RE activities• User needs

• Summary and reflection

2

Page 3: Intro to the course – Basics of Requirements Engineering

3

Learning together about requirements engineering (RE)

Sharingyour own views, knowledge, and experiences

is an important part of the course.

Goal of the course

Page 4: Intro to the course – Basics of Requirements Engineering

4

Requirementsengineering

SOFTWARE and SERVICE ENGINEERING

Why to invest in RE?

What are the main RE activities?

What kind of good RE practices are there?

What kind of approaches are there to RE?• Engineering and agility • Customer value creation• Critical and creative thinking

How does RE link to other processes?• Solution planning• Customer value evaluation

Learning goals of the courseSOLUTION PLANNING AND DEVELOPMENT

Page 5: Intro to the course – Basics of Requirements Engineering

5

Memorizing

Relating

Comparing

Applying

Dee

p le

arni

ng

Critiquing

Explaining

After the course, students are able to

• explain why RE is important• explain what the main RE activities are

• relate good RE practices with RE activities and approaches

• compare different RE approaches• combine RE with solution planning and customer value

• apply RE practices in solution planning• critically evaluate RE approaches, practices

and solution concepts

Learning goal: Deep learning

Surface learning

Crit

ical

and

cr

eativ

e th

inki

ng

How do these relate to each other?

Page 6: Intro to the course – Basics of Requirements Engineering

University educationDiscussing in small groups• What things are important to you in university studies?

• Introduce yourself to each other

• It would be great if your group will share your views in the main session.

• You can come back to the main session after you feel that your group has answered the question.

• We will invite you back to the main session after 8 minutes.

6

Page 7: Intro to the course – Basics of Requirements Engineering

7

Deep and continuous learning as a goal of university education

University knowledge1 = declarative knowledge• is about concepts, models, methods and theories• is based on research results• forms a solid foundation for professional knowledge

1 Based on Biggs J. and Tang C. (2007) Teaching for Quality Learning at University, third edition, McGraw

Motivation Curiosity Commitment Freedom

Critical and creative thinking

Page 8: Intro to the course – Basics of Requirements Engineering

8

Deep and continuous learning as a goal of university education

University knowledge = declarative knowledge• is about concepts, models, methods and theories• is based on research results• forms a solid foundation for professional knowledge

Based on Biggs J. and Tang C. (2007) Teaching for Quality Learning at University, third edition, McGraw

Professional knowledge = functioning knowledge • is pragmatic• results from the experience of the learner who can apply

declarative knowledge to work in practice

Reflect on

Page 9: Intro to the course – Basics of Requirements Engineering

The course is based on the results from several research projects

Need for speedBusiness value of software systemsCustomer value evaluation

Services for sustainable eatingService design and co-creation

Quality through requirementsRE activities and good RE practices

Competitive advantage by stakeholder-riven RERE and roadmappingRE and creativity

Value with flexible requirements engineeringCustomer valueSolution planning and RE

Research collaboration withBaswareF-SecureFuturice

GE HealthcareIlmarinen

Itella (Posti)KeskoKoneMetsoNokia

OP BankQentinelReaktorSonera

SSHStonesoftSuunto

Tekla (Trimble)Vaisala

1999

Res

earc

h to

pics

Ethics as part of RESolution planning and RE in software ecosystems

Page 10: Intro to the course – Basics of Requirements Engineering

Topics and schedule of the study sessions

Date Topic18.1. at 15.15-17.45 Intro to the course and basics of RE

25.1. at 15.15-17.45 Creative and critical thinking

1.2. at 15.15-17.45 RE activities and discovering user needs

8.2. at 15.15-17.45 RE process and good RE practices

15.2. at 15.15-17.45 Solution planning and roadmapping

1.3. at 15.15-17.45 Customer value creation and evaluation

8.3. at 12.15-14 Ethics

15.3. at 12.15-14 Summary

10

Page 11: Intro to the course – Basics of Requirements Engineering

11

Assignments

Done individually• Assignment 1: Motivation letter• Assignment 2: Critical and creative thinking• Assignment 3: RE activities

Done in pairs or individually• Assignment 4: Good RE practices for your agile team• Assignment 5: Good RE practices that support customer value creation

Done in teams of 3-4 students• Assignment 6: Solution planning and roadmapping

Page 12: Intro to the course – Basics of Requirements Engineering

12

Assignment 1: Motivation letter– Why do you want to participate in this course?

– What do you know about requirements engineering (RE)?– Have you studied user-centred design?– Have you studied service design and design thinking?

– What things support your learning?

– Do you want to get pass/fail or a grade from the course?

– Your bio and photograph• What is your background?• What have you studied?• Have you done RE or user-centred design related work in practice?

– Deadline: 25.1. at 11 am

Page 13: Intro to the course – Basics of Requirements Engineering

13

Assignment 2: Critical and creative thinking

• What do you think when you think about critical and creative thinking?

• Collect two items (images, videos, songs, texts, etc.) that somehow represent critical and creative thinking to you.

• Write a 1-2 paragraph reflection, in which you explain why you selected these specific items and what kind of process the selection was.

• Deadline: 25.1. at 11 am

Page 14: Intro to the course – Basics of Requirements Engineering

14

Workload of the course: 5 credits = 135 hours

Course activity Workload [h] ScheduleAssignment 1: Motivation letter 2 25.1. at 11 am

Assignment 2: Critical and creative thinking 3 25.1. at 11 am

Assignment 3: RE activities 5 29.1. at 5 pm

Assignment 4: Good RE practices for your agile team 10 5.2. at 5 pm

Assignment 5: Good RE practices and customer value creation 15 19.2. at 5 pm

Assignment 6: Solution planning and roadmapping 35 To be confirmed by 29.1.

Study sessions 1-6 + short reflection per session 4 per session = 24 18.1. – 1.3. at 15.15 -17.45

Study sessions 7-8 + short reflection per session 3 per session = 6 8.3. and 15.3. at 12.15 - 14

Final discussion and preparation for it 20 April

Answering the feedback survey and feedback during the course 3 April

Students’ own assignment related to the topic he/she is interested in

To be agreed with teachers

To be agreed with teachers

Page 15: Intro to the course – Basics of Requirements Engineering

Grading: Pass or fail

• What do you think about getting pass or fail and not a grade (1-5) from this course? (advantages and disadvantages)

• For the opinion about grading: https://forms.gle/jh9mAXvjdu4vb9gcA

• After this, we’ll have a break of 10 minutes for standing up and stretching.

15

Page 16: Intro to the course – Basics of Requirements Engineering

16

Requirementsengineering

SOFTWARE and SERVICE ENGINEERING

Why to invest in RE?

What are the main RE activities?

What kind of good RE practices are there?

What kind of approaches are there to RE?• Engineering and agility• Customer value creation• Critical and creative thinking

How does RE link to other processes?• Solution planning• Testing and value evaluation

Learning goals of this study sessionSOLUTION PLANNING AND DEVELOPMENT

Page 17: Intro to the course – Basics of Requirements Engineering

WHY TO INVEST IN RE?

17

Page 18: Intro to the course – Basics of Requirements Engineering

18

Why to invest in RE?Fred Brooks’ classic essay in 1987

• “The most important function that the software builder performs for the client is the iterative extraction and refinement of requirements”.

Brooks F. (1987) No Silver Bullet: Essence and Accidents of Software Engineering. IEEE Computer 20(4) pp.10-19.

Discussing in small groups• Why is RE important?• What percentage of the development effort would you invest in RE?

• It would be great if your group will share your views in the main session.

• You can come back to the main session after you feel that your group has covered the questions.• We will invite you back to the main session after 8 minutes.

Page 19: Intro to the course – Basics of Requirements Engineering

Why to invest in RE?

• To gain a deep understanding of the problem to be solved• To gain a deep understanding of customer and user needs

• To decide what to build and develop

• To make critical decisions that can be expensive to change later• To avoid useless rework

Many changes happen if we do not invest enough in RE.

Successful teams allocate 15 to 30 percent of total project effort to RE activities [Hofmann and Lehner 2001].

19Hofmann H and Lehner F (2001) Requirements Engineering as a Success Factor in Software Projects. IEEE Software 18(4) 58-66.

Page 20: Intro to the course – Basics of Requirements Engineering

20

Requirements engineering [Nuseibeh and Easterbrook 2000]is the process of discovering the purpose of the system by identifying stakeholders and their needs, and documenting those in a form that is amenable to analysis, communication, and subsequent implementation.

Requirements engineering [Qure, CORE and Reflex projects*]means that requirements for a system are defined, managed and tested systematically. The purpose of RE is to ensure that the system satisfies customer and user needs i.e. the usage of the system provides value for customers and users.

Comparison: What are commonalities and differences of these definitions?

Role of RE in problem solving

* Our research projects that were done in collaboration with Finnish companies during 1999-2009.

Page 21: Intro to the course – Basics of Requirements Engineering

21

Why to invest in RERequirements engineering means that

requirements for a system are defined, managed and tested systematically. The purpose of RE is to ensure that the system satisfies customer and user needs i.e.the usage of the system provides value for customers and users.

Customer and user needs Customer value

RE has a significant role when discovering customer and user needs and

supporting customer value creation.

Page 22: Intro to the course – Basics of Requirements Engineering

WHAT ARE THE MAIN RE ACTIVITIES?

22

Page 23: Intro to the course – Basics of Requirements Engineering

23

Assignment 3: RE activitiesAnalyse the article of Nuseibeh and Easterbrook (2000) and the material of the first study session.According to the article,

“Whether viewed at the systems level or the software level, RE is a multi-disciplinary, human-centred process. The tools and techniques used in RE draw upon a variety of disciplines, and the requirements engineer may be expected to master skills from a number of different disciplines.”

Based on the article and the material of the first study session, write a reflection and explain

• What kind of activities does the multi-disciplinary, human-centered RE process consist of? or• How do RE activities relate to user needs?or• You can also define your own question that you answer based on the article and

the material of the first study session.

Maximum length of the reflection: 500 words and one page if you like to use a concept map, table or figure.

Deadline: 29.1. at 5 pm

Nuseibeh B and Easterbrook S (2000) Requirements Engineering: A Roadmap. Proceedings of the Conference on the Future of Software Engineering, ACM Press, pp. 35-46.

Page 24: Intro to the course – Basics of Requirements Engineering

24

Main RE activities

Elicitation

Analysis

Representation

Validation

Requirements change management

Requirements definition

Acceptance testing

Customer value

evaluation

Testing

Nuseibeh and Easterbrook (2000)• Elicitating• Modeling and analyzing• Communicating• Agreeing • Evolving

Page 25: Intro to the course – Basics of Requirements Engineering

25

A simple process of requirements definition

Elicitation

Analysis

Representation

Validation

Discovering customer and user needs actively

Three levels of requirements:Business requirements

User requirementsTechnical requirements

Using multidisciplinary teams to review requirements

Problem

Customer & user needs

Representing requirements as user stories and use cases

Prioritizing needs andidentifying critical requirements

Two types of requirements:Functional requirements

Quality requirements

More information about the types and levels of requirements and user story and use case methods can be found from the lecture material of the software design and modelling course (CS-C3180).

Page 26: Intro to the course – Basics of Requirements Engineering

USER NEEDS: WHAT ARE THEY?

26

Page 27: Intro to the course – Basics of Requirements Engineering

27

User needs• It is very difficult to find definitions for the term ”user need”.• Discovering customer and user needs = the foundation for successful RE.

User needs refer• problems that hinder users in achieving their goals, or• opportunities to improve the likelihood of users’ achieving their goals.

Kujala 2002

Kujala S (2002) User Studies: A Practical Approach to User Involvement for Gathering User Needs and Requirements. [PhD Thesis], Helsinki University of Technology.

Page 28: Intro to the course – Basics of Requirements Engineering

28

Customer and user needsWhat customer and user needs are

Characteristics of users• knowledge and skills• physical properties

Goals and processes• activities (tasks) to be performed to achieve a goal

Emotions of users• expectations• attitudes and fears

Physical and social environment• special physical conditions• social interaction when using the solution

Identifying problems

and opportunities

Page 29: Intro to the course – Basics of Requirements Engineering

29

Summary: Customer and user needsRE has a significant role when discovering customer and user needs actively and supporting customer value creation.

User needs refer• problems that hinder users in achieving their goals, or• opportunities to improve the likelihood of users’ achieving their goals.

When discovering what customer and user needs are, it is essential to understand:• goals and processes of users• physical and social environment• characteristics and emotions of users

Page 30: Intro to the course – Basics of Requirements Engineering

30

Summary: Main RE activities

Elicitation

Analysis

Representation

Validation

Requirements change management

Requirements definition

Acceptance testing

Customer value

evaluation

Testing

Nuseibeh and Easterbrook (2000)• Elicitating• Modeling and analyzing• Communicating• Agreeing • Evolving

Page 31: Intro to the course – Basics of Requirements Engineering

Reflection and feedbackAfter the first session,• Reflection• To give feedback: https://forms.gle/XHyUY9mriJKouYRg7

31

Page 32: Intro to the course – Basics of Requirements Engineering

32

References Biggs J and Tang C (2007) Teaching for Quality Learning at University, third edition, McGraw.

Brooks F (1987) No Silver Bullet: Essence and Accidents of Software Engineering, IEEE Computer 20(4) pp.10-19

Hofmann H and Lehner F (2001) Requirements Engineering as a Success Factor in Software Projects. IEEE Software 18(4) 58-66.

Kujala S (2002) User Studies: A Practical Approach to User Involvement for Gathering User Needs and Requirements, [PhD Thesis], Helsinki University of Technology.

Nuseibeh B and Easterbrook S (2000) Requirements Engineering: A Roadmap, Proceedings of the Conference on the Future of Software Engineering, ACM Press, pp. 35-46.