SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 4 · In Introspection technique Requirements analyst...

30
SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 4 TEAM SKILL 2: UNDERSTANDING USER AND STAKEHOLDER NEEDS REQUIREMENTS ELICITATION TECHNIQUES - I Engr. Ali Javed 3 rd May, 2013

Transcript of SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 4 · In Introspection technique Requirements analyst...

Page 1: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 4 · In Introspection technique Requirements analyst “imagines” what kind of system is required for doing the required job, or by using

SOFTWARE REQUIREMENTS ENGINEERING

LECTURE # 4

TEAM SKILL 2: UNDERSTANDING USER AND

STAKEHOLDER NEEDS

REQUIREMENTS ELICITATION TECHNIQUES - I

Engr. Ali Javed 3rd May, 2013

Page 2: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 4 · In Introspection technique Requirements analyst “imagines” what kind of system is required for doing the required job, or by using

Instructor Information 2

Course Instructor: Engr. Ali Javed

Assistant Professor

Department of Software Engineering

U.E.T Taxila

Email: [email protected]

Website: http://web.uettaxila.edu.pk/uet/UETsub/perSites/[email protected]

Contact No: +92-51-9047747

Office hours:

Monday, 09:00 - 11:00, Office # 7 S.E.D

Lab Instructor: Engr. Asra, Engr. Sobia

Page 3: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 4 · In Introspection technique Requirements analyst “imagines” what kind of system is required for doing the required job, or by using

The Challenge of Requirement Elicitation

Yes But Syndrome

Undiscovered Ruins

User and Developer Syndrome

Requirement Elicitation

The Requirement Elicitation Process

Requirement Elicitation Techniques

Interviews

Questionnaires

Background Reading

Introspection

Social Analysis

Presentation Outline 3

Engr. Ali Javed

Page 4: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 4 · In Introspection technique Requirements analyst “imagines” what kind of system is required for doing the required job, or by using

The Challenge of Requirements Elicitation

Requirements elicitation is complicated by three endemic

syndromes.

The "Yes, But" syndrome

It has been observed that the users' reactions after checking software for

the first time are: "Wow, this is so cool; we can really use this, and so

on ….. "Yes, but, hmmmm, now that I see it, what about this . . . ?

Wouldn't it be nice if . . . ? And so on . . . ”

The "Undiscovered Ruins“ Syndrome

In many ways, the search for requirements is like a search for undiscovered

ruins: the more you find, the more you know remain.

The "User and the Developer" syndrome

The third syndrome arises from the communication gap between the user

and the developer.

4

Engr. Ali Javed

Page 5: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 4 · In Introspection technique Requirements analyst “imagines” what kind of system is required for doing the required job, or by using

Requirements Elicitation Process 5

Engr. Ali Javed

Background Knowledge

Requirements Gathering

Requirements Classification

Requirements Conflict

Requirements Prioritization

Page 6: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 4 · In Introspection technique Requirements analyst “imagines” what kind of system is required for doing the required job, or by using

Methods of Collecting Data

Qualitative Data and Quantitative Data

Qualitative data is data that is mainly words, sounds or images.

Quantitative data is data that is mainly numbers.

6

Engr. Ali Javed

Page 7: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 4 · In Introspection technique Requirements analyst “imagines” what kind of system is required for doing the required job, or by using

Methods of Collecting Data

Structured and Unstructured Data

Structured data is organized, unstructured data is relatively disorganized.

Structured data can be produced by closed questions, unstructured data can be produced by open questions.

7

Engr. Ali Javed

Page 8: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 4 · In Introspection technique Requirements analyst “imagines” what kind of system is required for doing the required job, or by using

Interviews

Questionnaires

Background Reading

Introspection

Social Analysis

Requirements Workshops

Brainstorming and Idea Reduction

Story Boarding

Role Playing

Prototyping

Requirements Reuse

Requirements Elicitation Techniques 8

Engr. Ali Javed

Page 9: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 4 · In Introspection technique Requirements analyst “imagines” what kind of system is required for doing the required job, or by using

Interviews [1]

One of the most important, popular, and most commonly used requirements gathering techniques is the user interview

A simple, direct technique that can be used in nearly every situation.

In this method the requirement engineering analyst’s discuss with different types of

the stakeholders to understand the requirements of the system

There are two main types of interviews:

Closed Interviews

Open Interviews

9

Engr. Ali Javed

Page 10: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 4 · In Introspection technique Requirements analyst “imagines” what kind of system is required for doing the required job, or by using

Closed Interviews

In closed interviews the requirements engineer prepares some predefined questions and he

tries to get the answers for these questions from the stakeholder’s

Open Interviews

In open interviews the requirements engineer does not prepares any predefined questions

and he tries to get the information from the stakeholder’s in open discussions

Closed ended Question

A close-ended question is one that demands mostly a brief yes or no response. [3,4]

Open ended Question

An open-ended question is one that demands far more than a brief yes or no response. [3,4]

10

Interviews

Engr. Ali Javed

Page 11: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 4 · In Introspection technique Requirements analyst “imagines” what kind of system is required for doing the required job, or by using

Generally the interviews start wit predefined questions

However in the process of interview a lot of different considerable things may arise that leads

to open discussion

Interviews are effective for understanding the problem in the existing system and to find the

requirements of the stakeholders

To make the interview session effective the requirements engineer and the stakeholders has to

perform in the following ways::

Interviewer should be patient enough to listen the stakeholder’s views and the requirements, he should

be open minded

Stakeholders should be expressive in the interview session, they should express their views in definite

context

11

Interviews [1]

Engr. Ali Javed

Page 12: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 4 · In Introspection technique Requirements analyst “imagines” what kind of system is required for doing the required job, or by using

The Interview Context [1] 12

Establishing the user profile

Assessing the Problem

Understanding the user environment

Recap for understanding

Analyst’s inputs on user’s problem

Assessing your Solution

Assessing the Opportunity

Assessing Reliability, Performance and Support needs

Any other requirements

Wrap up

Analyst’s Summary

Engr. Ali Javed

Page 13: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 4 · In Introspection technique Requirements analyst “imagines” what kind of system is required for doing the required job, or by using

Rich collection of information

Uncovers opinions, feelings, goals, as

well as hard facts

Can review in detail, and adapt

follow-up questions to what the person

tells you

Large amount of qualitative data can be hard to

analyze

Not as many people from various parts of the

company are interviewed, because of cost so there

exists high possibility for bias

Usually many follow ups are required

for clarification

Interviewing is a difficult skill to master

13

Engr. Ali Javed

Interviews [1]

Page 15: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 4 · In Introspection technique Requirements analyst “imagines” what kind of system is required for doing the required job, or by using

15

Engr. Ali Javed

Questionnaires [1]

Questionnaires are one of the methods of gathering requirements in less cost and reach a large number of

people only in lesser time

Can be manual (paper form) or electronic (soft form distributed through e-mail)

The results extracted from the Questionnaires must be clearly analyzed

The results from the Questionnaires mainly depends on the two factors::

Effectiveness and the design of Questionnaires

Honesty of the respondents

A well designed and effective questionnaire can be used to decide the actual user requirements, objectives

and the constraints

Page 16: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 4 · In Introspection technique Requirements analyst “imagines” what kind of system is required for doing the required job, or by using

The steps involved in designing and conducting the Questionnaires are::

The purpose of survey should be clearly defined

The Sampling group (respondents of the survey) should be decided

Clearly state Why the respondent was selected for questionnaire

Provide clear instructions on how to complete the questionnaire

Avoid asking two questions in one

Do not ask questions that give clues to answers

Keep the questionnaire brief and user friendly

Preparing and developing the questionnaire

Conducting the questionnaire process

Gathering and analyzing the results

16

Engr. Ali Javed

The Designing of Questionnaires

Page 17: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 4 · In Introspection technique Requirements analyst “imagines” what kind of system is required for doing the required job, or by using

The Designing of Questionnaire is a multi stage process and should be viewed accordingly

Assume 30-50% return rate for paper and email questionnaires

Assume a 5-30% return rate for web-based questionnaires

17

Engr. Ali Javed

The Designing of Questionnaires

Page 18: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 4 · In Introspection technique Requirements analyst “imagines” what kind of system is required for doing the required job, or by using

The Arrangement of Questionnaires

The steps in arranging a Questionnaire are::

The questions should be arranged well, so that

general questions are followed by the particular

questions

Arrange the questions such that easy questions come

first

The questions relevant to the main subject should be

given high priority

18

Engr. Ali Javed

Page 19: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 4 · In Introspection technique Requirements analyst “imagines” what kind of system is required for doing the required job, or by using

An economical way to get feedback

from the users, because it can reach to a

large number of users in a short period of

time

They are easier to analyze than

interviews, because they consist of

multiple choice True & False questions

It is hard to create questionnaires that will give

all possible options customer wants to give

There is always a high risk of question ambiguity

(not clear)

Usually many follow ups are required for regular

feedback, subsequently adding to the cost

19

Questionnaires

Engr. Ali Javed

Page 20: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 4 · In Introspection technique Requirements analyst “imagines” what kind of system is required for doing the required job, or by using

Background Reading

Background Reading is used to gather information about the organization, which is helpful to

gain an understanding of the organization’s structure, its working, and the existing system

Background Reading technique is not solely used for eliciting requirements because you can

not get the real user needs by just studying the existing documents

It is used as a complementary approach with other techniques

Sources of information:

company reports, organization charts, policy manuals,

job descriptions, reports, documentation of existing systems, etc.

Appropriate for

when you are not familiar with the organization being investigated.

20

Engr. Ali Javed

Page 21: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 4 · In Introspection technique Requirements analyst “imagines” what kind of system is required for doing the required job, or by using

Analyst gets an understanding of the

organization before meeting the people who

work there.

Helps analysts to prepare for other types of

fact finding e.g. Helps to prepare questions for

interviews and questionnaires

May provide detailed requirements for the

current system.

Written documents often do not match upto reality

Can include much irrelevant detail

This technique can not solely be used for gathering

requirements because of absence of user involvement

21

Background Reading

Engr. Ali Javed

Page 22: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 4 · In Introspection technique Requirements analyst “imagines” what kind of system is required for doing the required job, or by using

Introspection

In Introspection technique Requirements analyst “imagines” what kind of system is required

for doing the required job, or by using available equipment etc

Introspection is the first and the most obvious method for trying to understand what properties

a system should have in order to succeed.

22

Engr. Ali Javed

Page 23: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 4 · In Introspection technique Requirements analyst “imagines” what kind of system is required for doing the required job, or by using

Appropriate for

when users are not available, don’t want to answer your questions or shows lack of feedback

or input then Requirement engineer’s can use this technique to imagine the things which he

assumes that the user would require

23

Engr. Ali Javed

Introspection

Page 24: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 4 · In Introspection technique Requirements analyst “imagines” what kind of system is required for doing the required job, or by using

Introspection is an easier technique to apply

Introspection can be very inaccurate at times

because Requirement Analyst imagines what

is required rather than asking from the user

what he requires

This technique is unlikely to reflect the

stakeholder’s goals and actual user experiences

24

Introspection

Engr. Ali Javed

Page 25: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 4 · In Introspection technique Requirements analyst “imagines” what kind of system is required for doing the required job, or by using

Social Analysis

Social Analysis is also known as Observation

Observation is a process of collecting requirements by observing the people doing their normal work

This method is used to find the additional requirements needed by the user, when the user is unable to explain their expected requirements

This Social Analysis can be of the following types::

Passive Observation

Active Observation

Explanatory Observation

25

Engr. Ali Javed

Page 26: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 4 · In Introspection technique Requirements analyst “imagines” what kind of system is required for doing the required job, or by using

Social Analysis

Passive Observation

This social analysis is carried out without the

direct involvement of the observer in the society

The observation of the peoples work is carried

out by recording using videotapes, video cameras

and surveillance cameras

The documentation of the problem and

requirements are prepared from the recorded

data

26

Engr. Ali Javed

Page 27: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 4 · In Introspection technique Requirements analyst “imagines” what kind of system is required for doing the required job, or by using

Social Analysis

Active Observation

This social analysis is carried out with the direct involvement of the observer in the society

The observers encourages people to work with the existing product to perform the operations

on the product

The observer provides the domain knowledge to the user and makes the report of the

requirements of the people by observing their day to day work with the product

27

Engr. Ali Javed

Page 28: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 4 · In Introspection technique Requirements analyst “imagines” what kind of system is required for doing the required job, or by using

Social Analysis

Explanatory Observation

In this type of observation the user talks loudly,

explaining what they are doing while using the

product

The observer takes notes using the explanation given

by the user

28

Engr. Ali Javed

Page 29: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 4 · In Introspection technique Requirements analyst “imagines” what kind of system is required for doing the required job, or by using

References 29

1. Managing Software Requirements: A Use Case Approach, Second Edition By

Dean Leffingwell, Don Widrig, Addison- Wesley

2. http://www.redstarresume.com/content/cms/Open-Ended+and+Closed-

Ended+Job+Interview+Questions/3525/

3. http://blog.simplyhired.co.uk/2011/07/open-vs-closed-tips-for-answering-these-

interview-questions.html

4. http://examples.yourdictionary.com/examples/examples-of-open-ended-and-closed-

ended-questions.html

Engr. Ali Javed

Page 30: SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 4 · In Introspection technique Requirements analyst “imagines” what kind of system is required for doing the required job, or by using

For any query Feel Free to ask 30

Engr. Ali Javed