Requirements Gathering, Part 3 - Seneca

advertisement
SYS366
Week 4, Lecture 1
Introduction to Requirements Gathering:
Part 3 – Getting to Software Requirements
1
Today

Identifying Software Requirements




Functional Requirements
Technical Requirements
Data Requirements
Fact Finding Method
2
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.
3
Successful Project Requirements


Detailed plans
Organized, methodical sequence of tasks
and activities
4
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
5
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
6
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?
7
Requirements Gathering
Scope of the System
Functional
Requirements
Technical
Requirements
Data
Requirements
8
Today

Identifying Software Requirements




Functional Requirements
Technical Requirements
Data Requirements
Fact Finding Method
9
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
10
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
11
Today

Identifying Software Requirements




Functional Requirements
Technical Requirements
Data Requirements
Fact Finding Method
12
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
13
Today

Identifying Software Requirements




Functional Requirements
Technical Requirements
Data Requirements
Fact Finding Method
14
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
15
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!
16
Today

Identifying Software Requirements




Functional Requirements
Technical Requirements
Data Requirements
Fact Finding Method
17
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
18
Fact Finding Methods







Interviews
Questionnaires
Review Documentation
Observation
Prototypes
JAD sessions
RAD
19
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
20
Interviews

We are going to concentrate on
interview techniques; the rest of the
slides explain the other methods for fact
finding
21
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
22
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
23
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
24
Determine who you are going to
interview

Stakeholders

Operational staff will provide information
about how the work is actually done
25
Prepare for the interview

Structured Interview



Formal style
Requires significant preparation
Unstructured Interview


Informal
No pre-determined questions or
objectives
26
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
27
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)
28
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
29
Structured Interview

Questioning Strategies
High-level: very general
Medium-level: moderately
specific
Low-level: very specific
How can
order processing
be improved?
How can we
reduce the number
of times that customers
return items they’ve ordered?
How can we eliminate
shipping the wrong products?
30
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
31
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
32
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?
33
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
34
The other fact finding
methods


You can read the remaining slides for
yourself
We are going to work on the Interview
Template
35
Fact Finding Methods







Interviews
Questionnaires
Review Documentation
Observation
Prototypes
JAD sessions
RAD
36
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
37
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
38
Questionnaires

Similar process to interviewing


Determine who will receive the
questionnaire
Design the questionnaire



Determine objective of questionnaire
Design questions
Follow up questionnaire
39
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
40
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
41
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)
42
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
43
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
44
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
45
Fact Finding Methods







Interviews
Questionnaires
Review Documentation
Observation
Prototypes
JAD sessions
RAD
46
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
47
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
48
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)
49
Fact Finding Methods







Interviews
Questionnaires
Review Documentation
Observation
Prototypes
JAD sessions
RAD
50
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)
51
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
52
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
53
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
54
Fact Finding Methods







Interviews
Questionnaires
Review Documentation
Observation
Prototypes
JAD sessions
RAD
55
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
56
Fact Finding Methods







Interviews
Questionnaires
Review Documentation
Observation
Prototypes
JAD sessions
RAD
57
Other Methods

Joint Application Development (JAD)
 A series of workshops that bring together
all stakeholders (users and systems
personnel)
58
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
59
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
60
Fact Finding Methods







Interviews
Questionnaires
Review Documentation
Observation
Prototypes
JAD sessions
RAD
61
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
62
Other Methods

Rapid Application Development (RAD)

Can result in:



Inconsistent GUI designs
Poorly documented systems
Software that is difficult to maintain
63
Download