1 Elicitation I. 2 Why do We Need Requirements Engineering? von Neumann: “There is no sense in...

48
1 Elicitation I Elicitation I

Transcript of 1 Elicitation I. 2 Why do We Need Requirements Engineering? von Neumann: “There is no sense in...

1

Elicitation I Elicitation I

2

Why do We Need Requirements Engineering?

von Neumann:

“There is no sense in being precise when you don’t even know what you are talking about”

3

von Neumann

If people do not believe that mathematics is simple, it is only because they do not realize how complicated life is.

4

Basic Needs for Elicitation

(Questions from Polya)

• What is unknown?

• Do you know any related problem?

• Can you reinvent the problem?

5

Elicitation

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

as possible to understand the object being studied.

6

Elicitation

• Identify sources of information

• Gather facts

• Communication

7

Identifying Sources of Information

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

• Documents• Books• Software Systems• COTS

8

Who is related to the software?

interested

customer

developers

users

clients

OwnerEspecialist

Hired

Partner

Tierd party clients

Investor

Quality Control (QC)Technical writers

Software Engineer

clients

Non-clients

9

Criteria

• Experience

• Knowledge about the domain

• Volume of investment

• Function

10

Sources of Information

UofD

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

11

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?

12

Abstract tree of people interested in the software

CFO

Accounting

Acquisition Sales

Revenue Manager

Emplyee A Employee B

•requirements

•requirements •requirements

•requirements •requirements

•requirements

•requirements

13

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

14

Enterviews Interviews

• Estructured?????– Usually 1 to 1– Can be 1 to n or n to 1– Requires some knowledge about the problem to

formulate the questions

15

Structured Interview

• What to ask– Objective questions with precise target– One question should be related to the other

• How to ask

• Ask whom

16

Non-Structured Interview

• More flexible

• Informal

• Mostly used during eploratory phases

17

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.

18

Interviews

• +– direct contact with the actors– Can validate information immediately

• -– Tacit knowledge– Cultural diferences

19

Reading

• Books– Summary per chapter– Highlight the most important parts– Use a key-word index– vocabulary

20

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

21

Reading

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

22

Document Reading

• +– Easy access to different sources of information

– Volume of information

• -– Information can very dispersed

– Considerable amount of work is required to identify relevant facts

23

Questionnaires

• What should one ask ?– Asks for some knowledge about the problem– similar to the structured interview

24

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

25

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 - XXX keeps statistical data about the software development process

Nu

mb

er o

f A

nsw

ers

No Yes

26

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

27

Examples

• QualitativeHow do you see your background regarding the development od

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

– Objetive: verify the opinion regarding training policy

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

28

Questionnaires

• +– Standard questions– Statistical treatment possible

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

disappointing

29

Meetings• An extension of an interview or

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

• Brainstorm

• JAD

• Requirements Workshop – Uses facilitators– Previous planning

30

Meetings

Requirements Workshop

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

31

Meetings

Requirements Workshop

• Facilitator– Trained– Team spirit– Respected by all participants

–“Powefull”“Powerfull” enough to make decisions when conflicts arise

32

Meetings

Requirements Workshop • During the meeting

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

desirable)

– follow up e agenda for next meetings

33

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

34

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

35

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

36

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

37

Meetings

JAD (Joint Application Design)

Involves• Objectives• System Requirements• External Project

38

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)

39

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

40

Meetings

JAD’s Phases

• Customization• Meetings

– Present the tasks

– Join ideas

– Evaluate

– Compromise

• Closing

41

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

42

Meetings

JAD - Documents

Plans:– Participant matrix

– Identification of the JAD/PROJECT

– Estimative

43

Meetings

• +– Gives the RE multiple options– Collective work

• -– Dispersion– Cost

44

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

45

Protocol Analysis

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

• Speak loud during the tasks

• SOme claim one can use the memory

• Goal – identify the rationale used to perform a task

46

Protocol Analysis

• +– Elicit facts not shown – Better understanding about tasks and rationales

behind them

• -– Focus on performance (not necessarily true)– Not always what I say is what I do !!!

47

Ethnography

• Deeply integrate to the environment

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

• Slow

• Long Term results

48

Ethnography

• +– Focus from the inside to the outside– Contextualized

• -– Time– Lack of systematization