Chap006 Class
Chap006 Class
6 REQUIREMENTS
DISCOVERY
1
Introduction to Requirements Discovery
Requirements discovery includes those techniques to
be used by systems analysts to identify or extract
system problems and solution requirements from the
user community.
3
Types of Requirements
A functional requirement - function or feature that must be
included in an information system to satisfy the business need and
be acceptable to the users.
5
An Ambiguous Requirements Statement
Requirement:
Create a means to transport a single
individual from home to place of work.
Management IT User
Interpretation Interpretation Interpretation
English-language requirements are full of ambiguities; Thus we use models with few symbols
and the jargon of the user. Diagrams generally accompany the graphical / text-based models.
8
Results of Incorrect Requirements
The system may cost more than projected. (budget)
The system may be delivered later than promised.
(missed delivery date)
The system may not meet the users’ expectations and that
dissatisfaction may cause them not to use it. (unsatisfied
requirements!)
Once in production, the costs of maintaining and enhancing
the system may be excessively high. (poorly designed and
constructed. Perhaps from faulty requirements)
The system may be unreliable and prone to errors and
downtime. (ditto)
The reputation of the IT staff on the team is tarnished
because any failure, regardless of who is at fault, will be
perceived as a mistake by the team. (Amen!) 9
Relative Cost to Fix an Error
Phase in Which Found Cost Ratio
Requirements 1
Design 3-6
Coding 10
Operation 40-1000
10
Criteria to Define System Requirements
Consistent – Requirements not conflicting/ambiguous
Complete – Requirements describe all possible inputs
and responses
Feasible – Requirements can be satisfied based on
available resources and constraints
Required – Requirements truly needed
Accurate – Requirements stated correctly
Traceable – Requirements directly map to the
functions / features of the system
Verifiable – Requirements are defined so that they can
be demonstrated during testing.
11
The Process of Requirements
Discovery – Four Activities
Activity 1. Problem discovery and
analysis
Be sure to treat the cause and not the
symptom
See the Fishbone diagram (next slide)
12
Ishikawa Diagram
The Ishikawa diagram is a graphical tool used to identify, explore, and
depict problems and the causes and effects of those problems. It is
often referred to as a cause-and-effect diagram or a fishbone diagram.
Main problem
of interest is
at the head.
13
The Process of Requirements
Discovery
Activity 2. Fact-finding is the formal process of
using research, interviews, questionnaires,
sampling, and other techniques to collect
information about problems, requirements, and
preferences. Also called information gathering.
15
The Process of Requirements
Discovery
Activity 3. Documenting and Analyzing
Requirements
A) Documenting Requirements.
a. Use Cases – for describing system functions from the
perspective of external users
b. Decision Tables – document complex business
policies and decision making rules
c. Requirements Tables – document specific
requirements….
17
Activity 3. Documenting & Analyzing Requirements
(continued.)
C) Formalizing Requirements.
Document serves as a contract
May go through many versions before acceptance
No standard format
Many names: requirements statement,
requirements specification, requirements
definition, functional specification.
Format usually tailored to the organization’s needs.
This document is the most widely read and
referenced document for all project
documents: owners, users, managers.
A ‘living document.’ Final draft must be Validated!!!
18
Documenting and Analyzing Requirements
A requirements definition document(s) should
consist of the following.
The functions and services the system should provide.
Nonfunctional requirements including the system’s
features, characteristics, and attributes.
The constraints that restrict the development of the
system or under which the system must operate.
Information about other systems the system must
interface with.
19
The Process of Requirements
Discovery
Activity 4. Requirements Management (that
is, managing ‘change’ to the Requirements)
Some studies cite that as much as 50% of the
requirements will change before the system is put
into production
These management techniques tell how changes to
requirements are handled.
Change proposals; submission, impacts to scope,
schedule, and cost.
Change approval or disapproval or logged.
Lots of sources deal with Change Control
20
Requirements Discovery
Methods
1. Sampling
2. Research / Site Visits
3. Observation in Work Place
4. Questionnaires
5. Interviews
6. Discovery Prototyping
7. Use Cases
21
Requirements Discovery - Sampling
1. Sampling is the process of collecting a
representative sample of documents, forms, and
records. (lots of statistics here.. Levels of uncertainty,
sample sizes, validity/reliability…)
See Organization Chart first!
Documents that led up to the project and discuss the
problems
Information systems project requests – past and present.
Company’s mission statement and strategic plan
Gather representative samples of documents, forms, records
used in the workplace. (blank forms are informative; filled in
forms show how forms are misused or not used…)
22
Requirements Discovery –
Research / Site Visit
2. Research and Site Visit
Sometimes companies visit other
companies with similar problems to gain
their insights, sharing valuable information;
May save much time and cost.
23
Requirements Discovery - Observation
3. Observation is a fact-finding technique wherein the
systems analyst either participates in or watches a person
perform activities to learn about the system.
Advantages?
‘can be highly reliable’ (see what is done)
‘reasonably inexpensive (employee time, copying, …)
‘ allows systems analyst to do work measurements.
Disadvantages?
people uncomfortable
need to watch at peak times / best times/
representative…
perform jobs correctly when watched…
OK, if really “OK”
Work sampling is a fact-finding technique that involves a
24
large number of observations taken at random intervals.
Observation Guidelines
Determine the who, what, where, when, why, and how of
the observation.
Obtain permission from appropriate supervisors or
managers.
Inform those who will be observed of the purpose of the
observation.
Keep a low profile.
Take notes during or immediately following the observation.
Review observation notes with appropriate individuals.
Don't interrupt the individuals at work.
Don't focus heavily on trivial activities.
Don't make assumptions.
25
Requirements Discovery – Questionnaires
4. Questionnaires are special-purpose
documents that allow the analyst to collect
information and opinions from respondents.
Advantages?
gather lots of data (mass produced)
Can be taken on their own time; maintain anonymity
Easy to tabulate responses
Disadvantages?
Number of respondents usually low
tend to be inflexible (no chance to reword; voluntary info; …)
Not possible to observe/analyze respondent’s body language
No guarantee respondents will answer or expand on all
questions.
Difficult to prepare. 26
Types of Questionnaires
Free-format questionnaires offer the respondent greater
latitude in the answer. A question is asked, and the
respondent records the answer in the space provided after the
question.
great for analysis
requires much time
what does “good” mean? Avoid key words…
27
Types of Fixed-Format Questions
Multiple-choice questions
yes / no
Rating questions
strongly agree / agree/ no opinion/ disagree/
strongly disagree
Ranking questions
% of new customer orders
% of order cancellations
% of people who actually look at these reports
% of reports generated that are of use to you…
28
Questionnaire Procedure
1. Determine what facts and opinions must be
collected and from whom you should get
them.
2. Based on the needed facts and opinions,
determine whether free- or fixed-format
questions will produce the best answers.
3. Write the questions.
4. Test the questions on a small sample of
respondents.
5. Duplicate and distribute the questionnaire.
29
Requirements Discovery - Interviews
5. Interviews are a fact-finding technique whereby the systems
analysts collect information from individuals through face-to-face
interaction.
Advantages?
Can motivate interviewee openly and freely
Can establish rapport
Can probe for more feedback
Can adapt or reword questions
Observe and react to non-verbal
Disadvantages?
Very time consuming
success highly dependent on interviewer’s skills
Location may make interviewing impractical
Can be used to: find facts, verify facts, clarify facts, generate enthusiasm,
get end-user involved, identify requirements, solicit ideas / opinions…
30
Types of Interviews
Unstructured interviews are conducted with only a
general goal or subject in mind and with few, if any,
specific questions. The interviewer counts on the
interviewee to provide a framework and direct the
conversation.
. May often get offtrack; analyst may need to redirect
interview back to main goal/subject
. Unstructured interviews usually don’t work too well for
systems analysis and design.
In structured interviews the interviewer has a specific
set of questions to ask of the interviewee.
31
Types of Interview Questions
Open-ended questions allow the interviewee to
respond in any way that seems appropriate.
How do you feel about ….
What do you think is the most important ….
32
Procedure to Conduct an Interview
1. Select Interviewees
1. See organizational chart for responsibilities
2. Make appointment
3. Learn about individual ahead of time
4. Limit time to <= 30 minutes
2. Prepare for the Interview
1. An interview guide is a checklist of specific questions the interviewer will
ask the interviewee.
3. Conduct the Interview (Some of these are repeated ahead)
1. Warm handshake and smile; Keep interviewee at ease.
2. Record interview?
3. Take notes? pros and cons..
4. Follow Up on the Interview
1. ALWAYS send a follow-up summarizing the interview.
2. Allows any changes / misconceptions derived;
3. Offers opportunity to add/clarify information that didn’t surface… 33
Interview Questions
Types of Questions to Avoid
Loaded questions
Leading questions
Biased questions
Interview Question Guidelines
Use clear and concise language.
Don’t include your opinion as part of the question.
Avoid long or complex questions.
Avoid threatening questions.
Don’t use “you” when you mean a group of people.
34
Sample Interview Guide
Interviewee: Jeff Bentley, Accounts Receivable Manager
Date: Tuesday, March, 23, 2000
Time: 1:30 P.M.
Place: Room 223, Admin. Bldg.
Subject: Current Credit-Checking Policy
1 to 2 min. Objective
Open the interview:
• Introduce Ourselves
• Thank Mr. Bentley for his valuable time
• State the purpose of the interview--to obtain an
understanding of the existing credit-checking policies
5 min. Question 1
What conditions determine whether a customer’s order is
approved for credit?
Follow-up
5 min. Question 2
What are the possible decisions or actions that might be
taken once these conditions have been evaluated?
Follow-up
3 min. Question 3
How are customers notified when credit is not approved
for their order?
Follow-up
(continued) 35
Sample Interview Guide (concluded)
1 min. Question 4
After a new order is approved for credit and placed in the
file containing orders that can be filled, a customer might
request that a modification be made to the order. Would
the order have to go through credit approval again if the
new total order cost exceeds the original cost?
Follow-up
1 min. Question 5
Who are the individuals that perform the credit checks?
Follow-up
1 to 3 mins. Question 6
May I have permission to talk to those individuals to learn
specifically how they carry out the credit-checking process?
Follow-up
1 min. Objective
Conclude the interview:
• Thank Mr. Bentley for his cooperation and assure him
that he will be receiving a copy of what transpired during
the interview
30 minutes Total time allotted for interview (1:30 p.m. to 2:00 p.m.)
36
Interviewing Do’s and Don’ts
Do Avoid
Continuing an interview
unnecessarily.
Be courteous Assuming an answer is
Listen carefully finished or leading nowhere.
Maintain control Revealing verbal and
Probe nonverbal clues.
Observe mannerisms and Using jargon
nonverbal communication Revealing your personal
biases.
Be patient
Talking instead of listening.
Keep interviewee at ease Assuming anything about
Maintain self-control the topic and the
interviewee.
Tape recording -- a sign of
poor listening skills. 37
Communicating With the User
Listening - “To hear is to recognize that someone is
speaking, to listen is to understand what the speaker wants
to communicate.” (Gildersleeve – 1978)
40
Spatial Zones
Intimate zone—closer than 1.5 feet
Personal zone—from 1.5 feet to 4 feet
most interviews conducted here
Social zone—from 4 feet to 12 feet
may need to move back if you perceive interviewee is
uncomfortable (via body language)
Public zone—beyond 12 feet
Sometimes increasing eye contact can make up
for a long distance that cannot be changed. Many
people use the fringes of the social zone as a
‘respect’ distance.
41
Requirements Discovery - Discovery Prototyping
42
Advantages and Disadvantages of Prototyping
as a means of discovering requirements.
Advantages?
Allows users/developers to experiment with
software for understanding
Aids in determining feasibility and usefulness
before high development costs are incurred.
Serves as training mechanism for users.
Aids in building system test plans and test
scenarios
May minimize time spent for fact finding and
define more stable requirements.
43
Advantages and Disadvantages of Prototyping
as a means of discovering requirements.
Disadvantages?
Developers may need to be trained in the
prototyping approach
Users may develop unrealistic expectations based
on performance, reliability, and features of the
prototype. Prototypes only simulate functionality
and are incomplete in nature.
Developing prototype may extend the
development schedule and increase the
development costs.
44
Joint Requirements Planning
Dissatisfaction with interview / questionnaire results – conflicting goals, significant
time/effort expended.
Enter a ‘group work’ session as a substitute for interviews.
45
JRP Participants (1 of 2)
Sponsor
Single ‘champion’ in top management (not IT or IS)
Facilitator
Single person – responsible for leading all sessions
47
JRP Participants (3 of 3)
Scribes – one or more who keep records; published and
disseminated immediately after the meeting to maintain
momentum.
Most use CASE tools to capture the facts documented using data
and process models that are communicated during a JRP session.
Scribe must possess strong knowledge of systems analysis and
design and be skilled with using CASE tools. Systems Analysts
frequently play this role.
I.T. Staff
May include a number of IT staff who take notes regarding issues
and requirements voice by users and managers. (usually members
of project team)
Usually do not speak – unless asked to do so, as for ‘feasibility.’
48
0.
Steps to Plan a JRP Session
Three to five days – or more; much planning on ‘scope.’
Develop high level requirements/expectations of each
session
May involve selected individuals who are responsible for
departments / functions that are to be addressed by the project.
1. Selecting a location – away from company workplace.
1. No contact with workplace; Attend all meetings; No returning to
work. Well-equipped facilities; comfort; projectors, computer spt,
including various packages, CASE tools, WPs, expendables
2. Selecting the participants
1. Sometimes JRP leader is outside the organization – or not.
2. Scribes – taken from organization’s IT professionals.
3. All IT individuals assigned to the project team are usually involved in
the JRP session. Other IT specialists may be needed..
4. Only those users who are able to clearly articulate facts and opinions
are invited. (sometimes hard to get right people ‘released’ to attend.
3. Preparing the agenda – read this.
49
Typical room layout for JRP 41' -
0"
Flipchart
Workstation
Blackboard
(for CASE tool) Overhead Projector
30' -
Scribe
0"
Users Computer
JAD
and Projection
Facilitator
Managers Device
Printer
Workstation
(for prototyping tool)
50
Guidelines for Conducting a
JRP Session
Do not unreasonably deviate from the agenda
Stay on schedule
Ensure that the scribe is able to take notes
Avoid the use of technical jargon
Apply conflict resolution skills
Allow for ample breaks
Encourage group consensus
Encourage user and management participation without
allowing individuals to dominate the session
Make sure that attendees abide by the established
ground rules for the session
51
Brainstorming
Brainstorming is a technique for generating ideas
during group meetings.
52
Brainstorming Guidelines
Isolate the appropriate people in a place that will be free from distractions and
interruptions
Make sure everyone understands purpose of the meeting
Appoint one person to record ideas
Remind everyone of the brainstorming rules
Within a specified time period, team members call out their ideas as quickly as
they can think of them
After the group has run out of ideas and all ideas have been recorded, only then
should the ideas be analyzed / evaluated
Refine, combine, and improve the ideas that arose earlier
Be spontaneous. Call out ideas as fast as they occur
Absolutely no criticism, analysis, or evaluation of any kind permitted while ideas
are being generated.
Emphasize quantity of ideas not necessarily quality.
53
Benefits of JRP
JRP actively involves users and management
in the development project (encouraging them
to take “ownership” in the project)
JRP reduces the amount of time required to
develop systems – high intensity, closed
environment
When JRP incorporates prototyping as a
means for confirming requirements and
obtaining design approvals, the benefits of
prototyping are realized
54
Documenting Requirements
Using Use Cases
A use case is a behaviorally related sequence of steps (a
scenario), both automated and manual for the purpose of
completing a single business task.
57
Example of a High-Level Use Case
Author: S. Shepard Date: 03/01/200
Actors: Member
58
You have seen many
examples of use cases by
now…
But study these in earnest for
next examination – probably
June 13th, Friday…
59
Example of a Requirements
Use Case (concluded)
Be sure you know all the parts (rows) of a Use Case:
Here are a few: be able to identify them from the descriptions below:
1. A reference to the requirement(s) in which it can be traced to.
2 A typical event course describing the use case’s major steps, from beginning to end of
this interaction with the actor.
3. Alternate courses describing exceptions to the typical course of events.
4. Precondition describing the state the system is in before the use case is executed.
5. Postcondition describing the state the system is in after the use case is executed.
6. An assumptions section, which includes any nonbehavioral issues, such as performance
or security, that is associated with the use case, but is difficult to model within the
use case’s course of events.
60
Requirements Using Tables
61
Tables to Capture Requirements
Requirements traceability is the ability to trace a system
function or feature back to the requirement that mandates it.
Requirement Explanation
Requirement number: Indicate a unique number or identifier of the requirement
Requirement title: Assign short phrase indicating nature of the requirement
Requirement text: Provide a textual statement of the requirement
Requirement type: Indicate the requirement type
Requirement details and Functional characteristics or dimensions
constraints
Rev date and rev #: Indicate the acceptance date and revision number of current
(accepted/base-lined) version
Criticality Must, Want, or Optional
These are used a lot, but the trend is to capture functional requirements via Use Cases
accompanied with Supplementary Specifications (non-functional; glossary, etc.)
In many cases these can be quite boring and ambiguous; better: the stories in Use Cases….
62
Partial List of Member Services System Requirements
Requirement Explanation
Requirement number: MSS-1.0
Requirement title: Process New Member Order
Requirement text: The system should be able to process new member orders. Within this process it
should be able to validate member demographic information, verify credit
worthiness, inquire and modify inventory levels based on quantity of product
ordered, initiate backorder process in the event of insufficient inventory to fulfill
order, and send an order confirmation notice once the order has been placed.
Requirement type: Functional
Requirement details and Member credit status will be obtained from the Account Receivable system. A
constraints picking ticket, containing the available ordered items, must be generated and
routed to the warehouse.
Rev date and rev#: Version 1.0
Criticality Must
Requirement Explanation
Requirement number: MSS -- 14.0
Requirement title: One Hour Order Confirmation Notice
Requirement text: An E-mail notice must be generated and sent to the member, within one hour
from the time the member placed the order.
Requirement type: Performance
Requirement details and The member’s E-mail address must be stored on the system within the member’s
constraints profile. The one- hour constraint applies only to the sending of the notification
And not when it’s received by the member. Related requirement(s): MSS-1.0
Rev date and rev #: Version 1.0
Criticality Must 63
System Architect Requirement
Example
64