1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software...

63
1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements

Transcript of 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software...

Page 1: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

1

SYS366

Week 4, Lecture 1Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements

Page 2: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

2

Today Identifying Software Requirements

Functional Requirements Technical Requirements Data Requirements

Fact Finding Method

Page 3: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

3

Identifying Software Requirements

“Software Requirements specify the things that the software does on behalf of the user or another system.” *

* Use Case Modeling, by Bittner & Spence, page 6.

Page 4: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

4

Successful Project Requirements

Detailed plans

Organized, methodical sequence of tasks and activities

Page 5: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

5

Requirements Gathering Analyst needs to find out what the

user requires in the new system or what the user requires to be changed in an existing system Gather the requirements by doing

fact finding Document the requirements

Page 6: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

6

Requirements Gathering For an existing system, analyst needs

to find out: Functionality

Some of the functionality of the existing system will be included in the new system (can be acquired from existing documentation and code)

Data needs Some of the data of the existing system

will need to be migrated into the new system

Page 7: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

7

Requirements Gathering For a new system, analyst needs to

find out: Functionality

What are the activities the system needs to perform?

How is the user to interact with the system?

Are other systems to interact with the system?

Data needs What information is needed?

Page 8: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

8

Requirements GatheringScope of the System

Functional Technical DataRequirements Requirements

Requirements

Page 9: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

9

Today Identifying Software Requirements

Functional Requirements Technical Requirements Data Requirements

Fact Finding Method

Page 10: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

10

Functional Requirements

Describe what a system does or is expected to do

Include: Descriptions of the processing

which the system will be required to carry out

Page 11: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

11

Functional Requirements

Include: Details of the inputs into the system

from paper forms and documents or the interactions between people and the system or transfers from other systems

Details of the outputs that are expected from the system in the form of printed documents and reports, screen displays and transfers to other systems

Page 12: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

12

Today Identifying Software Requirements

Functional Requirements Technical Requirements Data Requirements

Fact Finding Method

Page 13: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

13

Technical Requirements Describe the aspects of the system that

are concerned with how well it provides the functional requirements.

Include: Performance criteria Anticipated volumes of data Security requirements (let’s talk about the

Bank of Montreal!) Privacy Requirements

Page 14: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

14

Today Identifying Software Requirements

Functional Requirements Technical Requirements Data Requirements

Fact Finding Method

Page 15: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

15

Data Requirements Describe what information the

system is going to need or produce – really a part of Functional and Technical Requirements

Include Details of the data that must be held

in the system

Page 16: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

16

Themes To Guide Investigation

What are business processes and operations?

How should the business processes be performed?

What are the information requirements?

Understand the Users’ Needs!

Page 17: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

17

Today Identifying Software Requirements

Functional Requirements Technical Requirements Data Requirements

Fact Finding Method

Page 18: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

18

Fact Finding Methods Conduct interviews and discussion with

users Distribute and collect stakeholder

questionnaires Review existing reports, forms, and

procedure descriptions Observe business processes and

workflows Build prototypes Conduct JAD sessions

Page 19: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

19

Fact Finding Methods Interviews Questionnaires Review Documentation Observation Prototypes JAD sessions RAD

Page 20: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

20

Interviews Primary technique for fact finding and

information gathering Most effective way to understand business

functions and business rules Usually requires multiple sessions Usually conducted with

customers/clients/users Clients are not always able to express their

requirements clearly it is up to the analyst to ask the right questions to help the client express their requirements

Page 21: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

21

Interviews We are going to concentrate on

interview techniques; the rest of the slides explain the other methods for fact finding

Page 22: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

22

Conducting effective interviews

Determine who you are going to interview

Know what information that stakeholder can provide for you

Prepare for the interview Conduct the interview Follow up on the interview

Page 23: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

23

Determine who you are going to interview

Can be business or technical stakeholders Business stakeholders provide the

functional and data requirements Technical stakeholders provide the

technical and data requirements

Page 24: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

24

Determine who you are going to interview

Stakeholders Executives

Will provide information related to strategic issues about the business

Need statistical and summary information Management

Will provide a broad perspective about the business as well as information about the system being developed

Need statistical and summary information

Page 25: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

25

Determine who you are going to interview

Stakeholders Operational staff will provide

information about how the work is actually done

Page 26: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

26

Prepare for the interview

Structured Interview Formal style Requires significant preparation

Unstructured Interview Informal No pre-determined questions or

objectives

Page 27: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

27

Structured Interview Preparing for the interview

Establish the objectives for the interview

Have a clear agenda Prepared in advance with a list of open

and closed ended questions Set the time and location for the

interview Inform all participants of the objective,

time and location

Page 28: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

28

Structured Interview Questions

Questions should allow you to keep on track and avoid getting off topic during the interview

Questions can be prepared from any of the following:

Observations made when existing form and reports may have been reviewed

Observations made when reviewing the strategic, tactical or operational plans

Observations made when observing employees doing current job tasks

Keep length of questions reasonable (15-20 words or less)

Page 29: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

29

Structured Interview Questions

Phrase questions to avoid misunderstandings - use simple terms and wording

Do not ask questions that give clues to expected answers

Avoid asking two questions in one Do not ask questions that can raise

concerns about job security or other negative issues

Page 30: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

30

Structured Interview Questioning Strategies

How canorder processing

be improved?

How can wereduce the number

of times that customersreturn items they’ve ordered?

How can we eliminate shipping the wrong products?

High-level: very general

Medium-level: moderatelyspecific

Low-level: very specific

Top Down

Bottom UP

Page 31: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

31

Structured Interview Questions

Open ended questions Encourages unstructured responses

and generates discussion Useful when you need to understand

a larger process or to draw out opinions or suggestions from the person being interviewed

Page 32: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

32

Structured Interview Questions

Closed ended questions Limited or restricted response – a

simple definitive answer Used to get information that is more

specific or when you need to verify facts

Page 33: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

33

Structured Interview Sample interview questions

Open-ended What do you think about the current

system? How do you decide what type of

marketing campaigns to run? Closed-ended

How do customers place orders? How many orders to you receive a day?

Page 34: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

34

Structured Interview Conduct the interview

Dress appropriately; Arrive on time Welcome the participants; introduce the attendees;

state the objective and agenda Ask permission if you want to tape record the

interview Ask questions from script Listen closely to the interviewee and encourage

them to expand on key points Take thorough notes Identify and document unanswered questions At end of interview, review outstanding questions

that require follow up Set date and time for the next, follow-up interview

Page 35: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

35

The other fact finding methods You can read the remaining slides

for yourself We are going to work on the

Interview Template

Page 36: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

36

Fact Finding Methods

Interviews Questionnaires Review Documentation Observation Prototypes JAD sessions RAD

Page 37: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

37

Questionnaires A document which contains a number of

questions Can be paper form or electronic form

(email or web-based) Allows the analyst to collect information

from a large number of people People outside the organization (i.e. ,

customers) Business users spread across a large

geographic area

Page 38: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

38

Questionnaires Limited and specific information from a

large number of stakeholders Preliminary insight Not well suited for gathering detailed

information Open-ended questions vs. close-ended

questions

Page 39: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

39

Questionnaires Similar process to interviewing

Determine who will receive the questionnaire

Design the questionnaire Determine objective of questionnaire Design questions

Follow up questionnaire

Page 40: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

40

Questionnaires Determine who will receive the

questionnaire Select a sample audience who are

representative of an entire group Assume 30-50% return rate for paper

and email questionnaires Assume a 5-30% return rate for web-

based questionnaires

Page 41: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

41

Questionnaires Design the Questionnaire

Clearly state the following in the questionnaire:

The purpose of the questionnaire Why the respondent was selected to

receive the questionnaire When the questionnaire is to be

returned

Page 42: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

42

Questionnaires Design the Questionnaire

Let the respondent know when/where they can see the accumulated questionnaire responses

Consider providing an inducement to have the respondent complete the questionnaire (I.e. a pen)

Page 43: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

43

Questionnaires Design the Questionnaire

Keep the questionnaire brief and user friendly

Provide clear instructions on how to complete the questionnaire

Arrange the questions in a logical order; going from easy to more complex topics

Page 44: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

44

Questionnaires Design the Questionnaire

Phrase questions to avoid misunderstandings, use simple terms and wording

Do not ask questions that give clues to expected answers

Avoid asking two questions in one Limit the use of open ended questions

that will be difficult to tabulate

Page 45: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

45

Questionnaires Design the Questionnaire

Do not ask questions that can raise concerns about job security or other negative issues

Include a section at the end of the questionnaire for general comments

Test the questionnaire whenever possible on a small test group before finalizing it

Page 46: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

46

Fact Finding Methods Interviews Questionnaires Review Documentation Observation Prototypes JAD sessions RAD

Page 47: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

47

Review Existing Reports, Forms, and Procedure Descriptions

Purposes

Preliminary understanding of processes

Guidelines / visual cues to guide interviews

Identify business rules, discrepancies, and redundancies

Be cautious of outdated material

Page 48: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

48

Reviewing existing documentation Most beneficial to new employees or

consultants hired to work on a project Types of documentation that is

reviewed: Company reports Organization charts Policy and Procedures manuals Job Descriptions Documentation of existing systems

Page 49: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

49

Reviewing existing documentation Allows the analyst to get an

understanding of the organization prior to meeting with employees

Allows the analyst to prepare questions for either interviews or questionnaires (other fact finding techniques)

Page 50: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

50

Fact Finding Methods

Interviews Questionnaires Review Documentation Observation Prototypes JAD sessions RAD

Page 51: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

51

Observation An effective way to gather requirements

if obtaining complete information was not effective through other fact finding techniques (I.e. interviews and questionnaires)

Or An effective way to verify information

gathered from other fact finding sources (such as interviews)

Page 52: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

52

Observation Observation can be done by having the

analyst observe the client from a distance (without actually interrupting the client) or by actually doing the work of the client

Page 53: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

53

Observation Should be carried out for a period of

time and at different time intervals, not just once, so that the analyst can observe different workloads and to ensure that what the client does is consistent over different periods of time

Page 54: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

54

Observation Allows the analyst to follow an

entire process from start to finish Can upset the client if they feel

threatened by new activity going on around them – the client may behave differently from what they normally do

Page 55: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

55

Fact Finding Methods

Interviews Questionnaires Review Documentation Observation Prototypes JAD sessions RAD

Page 56: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

56

Prototypes A demonstration system

Represents a graphical user interface Simulates system behavior for various events Any data displayed on a GUI screen is hard-

coded; not retrieved from a database Constructed to visualize the system Allows the customer to provide feedback An effective way to gather requirements

for a new system Supports JAD or RAD type sessions

Page 57: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

57

Fact Finding Methods

Interviews Questionnaires Review Documentation Observation Prototypes JAD sessions RAD

Page 58: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

58

Other Methods Joint Application Development (JAD)

A series of workshops that bring together all stakeholders (users and systems personnel)

Page 59: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

59

Other Methods Joint Application Development (JAD)

Consists of the following types of attendees:

Facilitator: the person who conducts the meeting and keeps it on track (generally the analyst)

Note taker: the person who records the information for the session

Clients/Customers/Users: the people who communicate the requirements, take decisions and approve the project

Developers: the people who are part of the development team and need to gather information

Page 60: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

60

Other Methods Joint Application Development

(JAD) Takes advantage of the group

dynamics Increased productivity May require more than one session One session may last a few hours,

several days or several weeks

Page 61: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

61

Fact Finding Methods Interviews Questionnaires Review Documentation Observation Prototypes JAD sessions RAD

Page 62: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

62

Other Methods Rapid Application Development

(RAD) An approach to software development

where the system solution is delivered – fast

Most appropriate for systems which are not the organization’s core business

Page 63: 1 SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements.

63

Other Methods Rapid Application Development

(RAD) Can result in:

Inconsistent GUI designs Poorly documented systems Software that is difficult to maintain