1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting...

66
1 Elicitation I Elicitation I

Transcript of 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting...

Page 1: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

1

Elicitation I Elicitation I

Page 2: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

2

Requirements Challenge

• Complex– HCI : Always complicate and complex

• Eliciting Requirements– Need to be always exploring– Many possible solutions– No right or wrong– What is the problem again ?

Page 3: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

3

Once more What is RE ?

• A systematic process of developing requirements through an iterative and co-operative process of analyzing the problem, documenting the resulting observations in a variety of representation formats, and checking the accuracy of the understanding gained.

[MaCaulay – Requirements Engineering (applied Computing)]

Page 4: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

4

Software Myths (From Easterbrook Lectures)

• Cost of Software is Lower than cost of physical devices

• Software is easy to change

• Computers are more reliable than physical devices

• Software can be formally proved to be correct

• Software reuse increases safety and reliability

• Computers reduce risk over mechanical systems

Page 5: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

5

Why do we develop a software ?

• Competition, critical facts

• New technology has been developed

• New Requirements

• Company is growing– Business is changing

• Something Changed in your world

• Continue a previous project

Page 6: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

6

A Place to Start• Nowadays almost always there is a system in

place– Studying what we have prompts to requirements

and helps to avoid past mistakes

• Using what we have– Can reduce costs– Makes it easier to break problems downs

• But Can mislead you too !!

• Is the problem presented to us the real problem ?

Page 7: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

7

Ok. How Elicitation fits ?

• First part of Requirements Process

• But it goes throughout the whole software

• Never stops

Page 8: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

8

• Another Definition for Requirements:– An externally Observable Characteristic of a

Desired System

• 2 Buttons in a mouse– If the user needs 2 buttons this is a requirement– If the user only need a way of moving slides

back and forth, this is too detailed to be a requirement

Page 9: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

9

Tackling the problem not the solution

My Elevator is too slow• My Elevator is slow

•You have a throughput problem not a speed problem !

Page 10: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

10

Tackling the problem not the solution

• Well it’s a problem because people complaint about the lines

•Why is that a problem ?

•How About Adding mirrors to the wall ?

• My Elevator is slow

•How better should it be?

As better as needed for stopping complaints

Page 11: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

11

Basic Needs for Elicitation

(Questions from Polya)

• What is unknown?

• Do you know any related problem?

• Can you reinvent the problem?

Page 12: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

12

Elicitation

Elicit [Var. elicit + make it clearer + extract]1.discover, make explicit, get as much information

as possible to understand the object being studied.

Page 13: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

13

Elicitation

• Identify sources of information

• Gather facts

• Communication

Page 14: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

14

Elicitation• Gathering information may be hard

– Communication can be difficult (different languages and knowledge)

– Stakeholder may be (often are) hard to meet– They may have conflicting objectives– Stakeholder often have different viewpoints regarding the

same thing– Knowledge is usually distributed among many different

sources– The mere presence of an outsider may change the process– Hidden agendas– Fear of change

Page 15: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

15

Identifying Sources of Information

• Actors in the Universe of Discourse – Clients– Users– Developers

• Documents• Books• Software Systems• COTS

Page 16: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

16

Who is related to the software?

interested

customer

developers

users

clients

OwnerEspecialist

Partner

Third party clients

Investor

Quality Control (QC)Technical writers

Software Engineer

clients

Non-clients

Page 17: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

17

Criteria

• Experience

• Knowledge about the domain

• Volume of investment

• What the stakeholder does daily

Page 18: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

18

Sources of Information

UofD

UofDSource of Information = { a,b,c,d,e,f} U {g,h}

Page 19: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

19

Heuristics to identify sources of information

• Who is the client?• Who owns the system?• Is there any customized system available?• What are the books related to the

application?• Is it possible to reuse software artifacts? • What are the documents most cited by the

actors of UofD?

Page 20: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

20

Facts gathering• Document Reading• Observation• Interviews• Reunions • Questionnaires• Anthropology• Active participation from actors• Protocol Analysis• Reverse Engineering• Reuse

Page 21: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

21

Tacit Knowledge

• The kind of knowledge that is trivial for the actor being interviewed but not for the interviewer

• Because it is trivial, people almost never remebers to mention it. The interviewer in his/her turn, not knowing about the tacit knowledge can not ask about it.

Page 22: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

22

Interviews

• Most used Technique– But should not be the only one

• Can be used for:– Learn What the present system does

– What stakeholders need

• Can be – Structured

– Unstructured (Informal)

Page 23: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

23

Structured Interview

• What to ask– Objective questions with precise target

– One question should be related to the other

• How to ask• Ask whom • Usually 1 to 1• Can be 1 to n or n to 1• Requires some knowledge about the problem to formulate

the questions• Tape it ?

Page 24: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

24

Pros • Assure you will organize thoughts and

activities

• Targets specific things

• Easier to summarize it later

• Pushes stakeholder to be systematic “on the target”

• Facilitates to remove “distortion” from interviewees subjectively

Page 25: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

25

Cons

• Requires more time

• You need to have extensive (or at least good) knowledge of the business

• May lead you to not explore things you should

• May looks like stakeholders are been “pushed against the wall”

Page 26: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

26

Non-Structured Interview

• More flexible– But still with a pre-defined guideline of

questions

• Informal– But always keep control

• Mostly used during exploratory phases– Sometimes interesting to be used later also to

solve conflicts or to further explore alternatives

Page 27: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

27

Pros

• Good when you are new to the business

• Can be used to explore ideas and doubts

• Usually the stakeholders feel better and may disclose more information

• Helps to see the “big picture”

Page 28: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

28

Cons

• What you get may not be relevant to your system

• Hard to summarize findings

• Do not favor to obtain specific knowledge

• Not everybody can do it well – Interviewing skills highly desirable

• Might lead you to repeat questions in the future (It can be quite annoying to be answering the same thing over and over)

Page 29: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

29

The Interview Process

Prepare

Carry out

Follow up

Page 30: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

30

Interviews

• Follow Up – Essential – After the interview write down what you

understood– Send it to the user(s) involved and ask for a

feedback (Have I got it right?)– Ask if the user(s) want to add anything

Page 31: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

31

Some tips

• Start the interview with some small talk. Try to set people at easy

• Easy questions always come first– Personal information

– Organization/Sector structure

• Even if it is an structured interview probe for details when needed. But be careful not to get lost

• If the time allows, towards the end use open-ended questions.– Is there anything else you think we should know about ?

Page 32: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

32

Interviews

• +– direct contact with the actors

– Can validate information immediately

– Can target discoveries

• -– Information coming from several source can be hard to organize

and often contradicting

– May intimidate the stakeholder

– Tacit knowledge

– Cultural diferences

Page 33: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

33

Reading

• Books– Summary per chapter

– Highlight the most important parts

– Use a key-word index

– Vocabulary

• Company reports• Organization Charts• Policy Manuals• Job Description• Documentation of existing systems

Page 34: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

34

Reading

• Macrosystem Documents (A more careful reading)– Underline repeated words

– Synonymies

– Take note of unknown terms

– Search for relationships among terms

– Vocabulary

– Try to understand and document the structure of the documents

Page 35: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

35

Reading

• Macro system Documents – Understand the structure of the documents– How they relate/point to each other

Page 36: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

36

Reading

• Reading Similar Documents:– Identify structures– Relate structures – vocabulary

Page 37: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

37

Document Reading

• +– Easy access to different sources of information

– Volume of information

– Helps you to prepare to use other techniques

• -– Information can be very dispersed

– Considerable amount of work is required to identify relevant facts

– Written documents are often “late”• Process change – Document don’t

Page 38: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

38

Questionnaires

• What should one ask ?– Asks for some knowledge about the problem

• Therefore you should have a minimum understanding about the problem

– similar to the structured interview

Page 39: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

39

QuestionnairesTypes• qualitative

– Allows the one answering to further considerations– Makes a later analysis more difficult– Control questions – We can stimulate conflicts in order

to verify the consistency of what is being told

• quantitative– grading ( Yes, No/ Good, mdeium, bad/ 0,1,2,3,4)– Question has to be well formed to allow a good

distribution of the answers

Page 40: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

40

Examples

• Quantitative

05

1015202530354045505560

Nu

m. d

e R

esp

ost

as

5. A XXX mantém dados estatísticos sobre o processo de desenvolvimento de software?

SIMNÃO

5 – Do you think that it is important to allow recording more than two channels at the same time? (PVR development )

Nu

mb

er o

f A

nsw

ers

No Yes

Page 41: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

41

Examples

05

1015202530354045505560

Nu

m. d

e R

esp

ost

as

1 2 3 4 5

8. Durante o processo de produção é verificada uma alteração nos requisitos. Esta alteração:

(Não é registrada) (É registrada, mas não no documento de requisitos)

(É registrada formalmente no documento de requisitos)

8 – How easyly can you retrieve information from Patient’s Medical Records ?

Nu

mb

er o

f A

nsw

ers

Not easy at all Kind of easily easily

Page 42: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

42

Examples

• QualitativeHow do you see your background regarding the

development of quality software? What do you think would be necessary to improve your performance? What knowledges would like to get? Why ?

– Objective: verify the opinion regarding training policy

– Why ?: A mature organization has to have well defined training policies.

– Control question.

Page 43: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

43

Questionnaires • +

– Standard questions– Statistical treatment possible– Can reach a large number of people– Can reach people virtually anywhere in the world

• -– Answers are constrained– Few or no interaction/participation– Number of questionnaires returned can be disappointing– Difficult to design

• Avoiding ambiguities• What questions should I ask?• How should I phrase them?

Page 44: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

44

Meetings• An extension of an interview or

• Direct and Intense participation– Short and intense periods– focus

Page 45: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

45

Types of Meetings

• Brainstorm

• JAD

• Requirements Workshop – Uses facilitators– Previous planning

Page 46: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

46

Meetings

Requirements Workshop

• Preparation– Adequate place– Choosing Participants– Prepare the material ahead– agenda

Page 47: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

47

Meetings

Requirements Workshop

• Facilitator– Trained– Team spirit– Respected by all participants– “Powerful” enough to make decisions when

conflicts arise

Page 48: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

48

Meetings

Requirements Workshop • During the meeting

– relax participants– Focus on ideas not people– Be open to brainstorming – Register the meeting (minutes are highly

desirable)

– follow up and agenda for next meetings

Page 49: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

49

Meetings

Requirements Workshop

• Problems– People with a reign attitude– Passive attitude– People arriving late– Negative/mocking comments– It is always hard to resume a meeting after a

disruptive interruption

Page 50: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

50

Meetings

Brainstorm• Generate and condensate ideas• Frequently, the best ideas are combinations

of two or more ideas• Prioritize the ideas • It is better to be done locally, but it is

possible to have it over the web or using video-conference

Page 51: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

51

Meetings

Brainstorm

Phase I – Generating ideas• Goal: Generate the more ideas possible

• Rules– Do not allow critics or debate at this point– Let the imagination flows– Change and combine ideas

Page 52: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

52

MeetingsBrainstormPhase II –Reducing the number of ideas• Discard ideas that are not worth to invest• Group ideas – make meaningful names and group

ideas according them• Anotate small descriptions about the rationale

regarding the ideas and its authors• Prioritize

– vote

– categorize - critical, important, useful

Page 53: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

53

Meetings

JAD (Joint Application Design) – A Special type of Requirements Workshop

Involves• Objectives• System Requirements• External Project

Page 54: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

54

Meetings

Principles of JAD

• Group dynamic• Visual resources• Organized and rational process• Documenting using the idea of “What you see is

what you get” (WYSISYG)

Page 55: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

55

Meetings

JAD

Target• Identify high level (abstract) requirements• Define and Associate the scope• Plan the activities for each phase of the project• Post and approve resulting documents

Page 56: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

56

Meetings

JAD’s Phases

• Customization• Meetings

– Present the tasks

– Join ideas

– Evaluate

– Compromise

• Closing

Page 57: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

57

MeetingsJAD - Documents

Requirements– High level requirements

– Goals

– Anticipated benefits

– Strategies and future considerations

– Hypothesis and constraints

– Security, auditing and control

– System scope

– System users and their locations

– Functional areas outside the application

Page 58: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

58

Meetings

JAD - Documents

Plans:– Participant matrix

– Identification of the JAD/PROJECT

– Estimative

Page 59: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

59

JAD

• Used to speed up the investigation of system requirements, design a solution, define new procedures

• Critical Factor : To have ALL the relevant participants present

• Typically used for 3-6 months long projects.– Larger projects may require one JAD at the

beginning of each iteration

Page 60: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

60

Meetings

• +– Gives the RE multiple options– Collective work

• -– Dispersion– Cost

Page 61: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

61

Observation

• To watch people while they’re doing their jobs

• Take careful notes

• Be careful about Taping/Recording

Page 62: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

62

Observation

• +– low cost– Easy task (Not always)

• -– Depends on the actor not being influenced

because he knows he’s being observed– Depends on the observer’s skills– Tends to be superficial due to the weak

exposition to the UofD

Page 63: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

63

Protocol Analysis

• Analyze the work the person “besides” you is doing

• User speaks loud during the tasks

• Some people claim during an interview/questionnaire/meetings one can use the memory instead of what he/she really does

• Goal – identify the rationale used to perform a task

Page 64: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

64

Protocol Analysis

Similar to Observation but here Users would talk aloud explaining what they are doing

• +– Elicit facts not shown

• Easier to avoid tacit knowledge

– Better understanding about tasks and rationales behind them

• -– Focus on performance (not necessarily true)

– Not always what I say is what I do !!!

– May be hard to use in some environments (e.g. hospitals)

Page 65: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

65

Ethnography

• Deeply integrate to the environment

• The Analyst becomes a client or even the responsible for some tasks

• Slow

• Long Term results

Page 66: 1 Elicitation I. 2 Requirements Challenge Complex –HCI : Always complicate and complex Eliciting Requirements –Need to be always exploring –Many possible.

66

Ethnography

• +– Focus from the inside to the outside– Contextualized– Almost no Tacit Knowledge

• -– Time– Lack of systematization