Chap006-class

advertisement
C H A P T E R
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.
Problem analysis is the activity of identifying
the problem, understanding the problem
(including causes and effects), and
understanding any constraints that may limit the
solution.
Recent studies have shown that as many as 80%
of all system development failures can be
traced back to problems with requirements!!! 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.
A nonfunctional requirement is a description of the
features, characteristics, and attributes of the system
as well as any constraints that may limit the
boundaries of the proposed solution.
Many of these are, however, quite required!!!


Performance, security, distribution, persistence…
Constraints: language, tools, platforms, …
Book has tables of examples! Look these over…..
5
An Ambiguous Requirements Statement
Requirement:
Create a means to transport a single
individual from home to place of work.
Management
Interpretation
IT
Interpretation
User
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
Development Testing
15-40
Acceptance Testing
30-70
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 categories: methods
materials, contracts, …
Causes come ‘under’
(point to) a category…
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.

Remember: Any information system can be examined
in terms of three building blocks: Data, Process, and
Interface.
While always necessary, this is particularly
necessary during Requirements Analysis
14
Seven Fact-Finding Methods
Need to understand each of these and determine
which may be preferred (or combination) on a
single project. (more later on these:)
Sampling of existing documentation, forms, and
databases.
Research and site visits.
Observation of the work environment.
Questionnaires.
Interviews.
Prototyping.
Joint requirements planning (JRP).
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….
(These are considered ‘informal methods’)
(more later on these…)
16
The Process of Requirements
Discovery
Activity 3. Documenting and Analyzing
requirements (more…)
B) Analyzing Requirements





often conflict; Must discover and resolve problems.
Requirements normally incomplete; documented in an
informal way with use cases, tables, and reports.
Focus: Reach agreement on stakeholder needs!!
Requirements often: missing, conflicting, infeasible,
overlapping, and ambiguous!
Our modeling efforts (data, process…) good tools for
analyzing requirements and eliminating mistakes.
Sometimes stakeholders must negotiate
17
requirements; sometimes prioritize requirements
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.
18
A ‘living document.’ Final draft must be Validated!!!
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.
2.
3.
4.
5.
6.
7.
Sampling
Research / Site Visits
Observation in Work Place
Questionnaires
Interviews
Discovery Prototyping
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
22
misused or not used…)
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.
 May cost time and money.

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
24
a large number of observations taken at random
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.
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…
Fixed-format questionnaires contain questions
that require selection of predefined responses
from individuals.
27
easy to tabulate
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
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.
1.
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?






Disadvantages?




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
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 30
requirements, solicit ideas / opinions…
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
….
Closed-ended questions restrict answers to
either specific choices or short, direct
responses.
Restricted choices – yes or no, ….
32
Procedure to Conduct an Interview
1.
Select Interviewees
1.
2.
3.
4.
2.
Prepare for the Interview
1.
3.
An interview guide is a checklist of specific questions the interviewer
will ask the interviewee.
Conduct the Interview (Some of these are repeated ahead)
1.
2.
3.
4.
See organizational chart for responsibilities
Make appointment
Learn about individual ahead of time
Limit time to <= 30 minutes
Warm handshake and smile; Keep interviewee at ease.
Record interview?
Take notes? pros and cons..
Follow Up on the Interview
1.
2.
3.
ALWAYS send a follow-up summarizing the interview.
Allows any changes / misconceptions derived;
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
Time
Allocated
Interviewer
Question of Objective
Interviewee
Response
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
21 minutes Time allotted for base questions and objectives.
9 minutes
Time allotted for follow-up questions and redirection
30 minutes Total time allotted for interview (1:30 p.m. to 2:00 p.m.)
General Comments and Notes:
36
Interviewing Do’s and Don’ts
Do
Be courteous
Listen carefully
Maintain control
Probe
Observe mannerisms and
nonverbal communication
Be patient
Keep interviewee at ease
Maintain self-control
Avoid
Continuing an interview
unnecessarily.
Assuming an answer is
finished or leading nowhere.
Revealing verbal and
nonverbal clues.
Using jargon
Revealing your personal
biases.
Talking instead of listening.
Assuming anything about
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)
Listen – not for a ‘break’ so YOU can speak…Listen!!
Guidelines for Communicating
 Approach the Session with a Positive Attitude
 Set the Other Person at Ease
 Let Them Know You Are Listening
 Ask Questions
 Don’t Assume Anything
 Take Notes
38
Body Language and Proxemics
Body language is all of the nonverbal information
being communicated by an individual. Body
language is a form of nonverbal communications
that we all use and are usually unaware of.
Proxemics is the relationship between people and
the space around them. Proxemics is a factor in
communications that can be controlled by the
knowledgeable analyst.
People tend to be territorial…
39
Startling Fact:
Startling fact: of a person’s total feelings, only
7% are communicated verbally,
38% are communicated by the tone of voice
used, and
55% percent of those feelings are
communicated by facial and body expressions.
Wow!
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
6. Discovery prototyping is the act of building
a small-scale, representative or working model of the
users’ requirements in order to discover or verify
those requirements.
Frequently applied to software development projects.
Philosophy: users recognize requirements when
they see them.
Good for not clearly understood requirements.
No quality assurance; Frequently alternate
technologies are used
Throwaway approach.
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.
Joint requirements planning (JRP) is a process whereby
highly structured group meetings are conducted for the purpose
of analyzing problems and defining requirements.
JRP is a subset of a more comprehensive joint application
development or JAD technique that encompasses the entire
systems development process.
JRP (and JAD) techniques are becoming increasingly common
in systems planning and systems analysis to obtain group
consensus on problems, objectives, and requirements. 45
JRP Participants (1 of 2)
Sponsor
 Single ‘champion’ in top management (not IT or IS)
 Fully supports project via encouragement, …
 Will usually open and close session w/words…
Facilitator
 Single person – responsible for leading all sessions
 Excellent communications skills; ability to negotiate,
resolve group conflicts, good business knowledge, strong
organizational skills, impartial to decisions, and does not
report to any JRP participants.
 Plans sessions, conducts sessions and follow thru.
 May establish ground rules..
46
JRP Participants (2 of 3)
Users and Managers – constitute the group; carefully
selected.
 May be a small number to a dozen or more.
 Role of managers is to approve project objectives,
establish project priorities, approve schedules and
costs, approve identified training needs and
implementation plans
 Both users and managers ensure their critical
success factors are met.
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
48
‘feasibility.’
Steps to Plan a JRP Session
0. Three to five days – or more; much planning on ‘scope.’
Develop high level requirements/expectations of each
session

1.
May involve selected individuals who are responsible for
departments / functions that are to be addressed by the project.
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.
2.
3.
4.
Sometimes JRP leader is outside the organization – or not.
Scribes – taken from organization’s IT professionals.
All IT individuals assigned to the project team are usually involved
in the JRP session. Other IT specialists may be needed..
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
session
41' 0"
Food & Refreshments
IT Professionals & Other Observers
Scribe
Flipchart
Workstation
(for CASE tool)
Users
and
Managers
Computer
Projection
Device
30' 0"
Scribe
Blackboard
Overhead Projector
JAD
Facilitator
Printer
Workstation
(for prototyping tool)
IT Professionals & Other Observers
Scribe
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.
Participants are encouraged to generate as
many ideas as possible in a short period of
time without any analysis until all the ideas
have been exhausted.
Sometimes, one of the goals of a JRP session
is to generate possible ideas to solve a
problem. Brainstorming is a common
approach that is used for that purpose.
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.
53
Emphasize quantity of ideas not necessarily quality.
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.
An actor represents anything that needs to interact
with the system to exchange information. An actor is
a user, a role, which could be an external system as
well as a person.
A temporal event is a system event that is
triggered by time.
55
Documenting Requirements
Using Use Cases
Use cases describe the system functions from the
perspective of external users and in the manner
and terminology in which they understand.
Results of decomposing the scope of system
functionality into many smaller statements of
system functionality.
An actor initiates system activity, a use case, for the
purpose of completing some business task.
An actor represents a role fulfilled by a user
interacting with the system and is not meant to
portray a single individual or job title.
56
Benefits of Using Use Cases
Facilitates user involvement.
A view of the desired system’s functionality
from an external person’s viewpoint.
An effective tool for validating requirements.
An effective communication tool.
To be successful, participation by the user is
essential!
57
Example of a High-Level Use Case
Author: S. Shepard
Date: 03/01/200
Use Case Name:
Create New Member Order
Actors:
Member
Description:
This use case describes the process of a
member submitting an order for SoundStage
products. On completion, the member will be
sent a notification that the order was accepted.
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
constraints
Rev date and rev #:
Functional characteristics or dimensions
Criticality
Indicate the acceptance date and revision number of current
(accepted/base-lined) version
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.)
62
In many cases these can be quite boring and ambiguous; better: the stories in Use Cases….
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.
Functional
Requirement type:
Requirement details and
constraints
Rev date and rev#:
Member credit status will be obtained from the Account Receivable system. A
picking ticket, containing the available ordered items, must be generated and
routed to the warehouse.
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.
Performance
Requirement type:
Rev date and rev #:
The member’s E-mail address must be stored on the system within the member’s
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
Version 1.0
Criticality
Must
Requirement details and
constraints
63
System Architect Requirement
Example
64
Download