Document 7526824

Download Report

Transcript Document 7526824

Requirements Analysis
What, not How!
Reference
 Exploring Requirements, Quality BEFORE
Design, by Donald C. Gause & Gerald M.
Weinberg
 Dorset House Publishing, 1989
 ISBN: 0-932633-13-7
It’s All About Reducing Ambiguity
 Consider the following requirement:


“Create a means for protecting a small group
of human beings from the hostile elements of
their environment.”
Does this mean:



An Igloo
A Bavarian Castle
A Space Station
Other Problems in This Example
 Missing Requirements
 No properties of materials specified.
 Nothing is said about physical environment.
 Little is said about functions.
 Ambiguous Words
 Small??
 Group??
 Structure?? (Actually not mentioned!!, Only
means.) If we use the term structure we
assume a solution!
A Picture Of Requirements
What we
What we
don’t want
want
The Universe of Everything That’s Possible
Exploring Requirements
Tools
Focus Slide
A Problem With Direct Questions!
 When you ask questions about a
requirement, you are building a decision tree.
 Take out a sheet of paper and number one
side 1 and the other side 2.
 On side 2 at the top of the page, put the
following requirement:
Design A Transportation Device.
Consider The Following Question
 How many points were in the star
that was used as a focus slide for
this representation?
Questions
(number these on side 1)
1. What do you think the answer is to the
question posed on the previous slide?
Questions
(number these on side 1)
1. What do you think the answer is to the
question posed on the previous slide?
2. With 100 people attending the seminar, how
many different answers did the participants
write down as their first-impression answer
to the question?
Questions
(number these on side 1)
1. What do you think the answer is to the
question posed on the previous slide?
2. With 100 people attending the seminar, how
many different answers did the participants
write down as their first-impression answer
to the question?
3. What factors do you think are responsible
for the differences among answers?
Questions
(number these on side 1)
1. What do you think the answer is to the
question posed on the previous slide?
2. With 100 people attending the seminar, how
many different answers did the participants
write down as their first-impression answer
to the question?
3. What factors do you think are responsible
for the differences among answers?
4. Write down, verbatim to the best of your
ability, the question that you think you
answered in question 1.
Results (clumped answers)
75
Not to scale.
12
4
2
1
0-2
5-9
10-12
13-16
21-24
3
3
29-32
∞
Discussion?
0–2:4
 5 – 9 : 75
 10 – 12 : 1
 13 – 16: 12
 21 – 24: 2
 29 – 32 : 3
 Infinity : 3
Now!
 Does the previous discussion prompt you to
change your answer to the “number of points”
question?
Now!
 Does the previous discussion prompt you to
change your answer to the “number of points”
question?
 In the test:




0-2 went up to 10.
5-9 went down to 65.
13-16 went up a couple.
Infinity went up a couple.
Sources Of Experimental Error
 Observational and recall errors.
 Interpretation errors.
 Read some examples of the question.
How many
points were in the star that was
used as a focus slide for this
representation?
 The actual question was:
Back To Direct Questions
 On side 2, you have a requirement. What do
you think the manufacturing cost would be for
the solution to this requirement? (Write your
first estimate below the requirement.)
 What are some of your estimates?
 Now, let’s ask some direct questions.
Question 1
 Designer: When is the solution needed?
Question 1
 Designer: When is the solution needed?
 Client: Within eighteen months.
Question 2
 Designer: When is the solution needed?
 Client: Within eighteen months.
 Designer: What is to be transported?
Question 2
 Designer: When is the solution needed?
 Client: Within eighteen months.
 Designer: What is to be transported?
 Client: People.
Question 3
 Designer: When is the solution needed?
 Client: Within eighteen months.
 Designer: What is to be transported?
 Client: People.
 Designer: How many people are to be
transported at one time?
Question 3
 Designer: When is the solution needed?
 Client: Within eighteen months.
 Designer: What is to be transported?
 Client: People.
 Designer: How many people are to be
transported at one time?
 Client: 1
Question 4
 Designer: When is the solution needed?
 Client: Within eighteen months.
 Designer: What is to be transported?
 Client: People.
 Designer: How many people are to be
transported at one time?
 Client: 1
 Designer: How is the device to be powered?
Question 4





Designer: When is the solution needed?
Client: Within eighteen months.
Designer: What is to be transported?
Client: People.
Designer: How many people are to be
transported at one time?
 Client: 1
 Designer: How is the device to be powered?
 Client: Only by the person being transported
and natural forces that are readily available.
It is to be “passenger-powered”.
Question 5
 Designer: Over what kind of surface or terrain
is the device to travel?
Question 5
 Designer: Over what kind of surface or terrain
is the device to travel?
 Client: It is to provide transportation over a
very hard, flat surface.
Question 6
 Designer: Over what kind of surface or terrain
is the device to travel?
 Client: It is to provide transportation over a
very hard, flat surface.
 Designer: How far is the person to be
transported?
Question 6
 Designer: Over what kind of surface or terrain
is the device to travel?
 Client: It is to provide transportation over a
very hard, flat surface.
 Designer: How far is the person to be
transported?
 Client: Up to 1.2 miles.
Question 7
 Designer: Over what kind of surface or terrain
is the device to travel?
 Client: It is to provide transportation over a
very hard, flat surface.
 Designer: How far is the person to be
transported?
 Client: Up to 1.2 miles.
 Designer: How fast must the device travel?
Question 7
 Designer: Over what kind of surface or terrain
is the device to travel?
 Client: It is to provide transportation over a
very hard, flat surface.
 Designer: How far is the person to be
transported?
 Client: Up to 1.2 miles.
 Designer: How fast must the device travel?
 Client: At least one mile every four hours.
Question 8
 Designer: How reliable must the device be?
Question 8
 Designer: How reliable must the device be?
 Client: It may not have more than one failure
per thousand miles of operation, and that
failure may not be one that endangers the
passenger.
Question 9
 Designer: How reliable must the device be?
 Client: It may not have more than one failure
per thousand miles of operation, and that
failure may not be one that endangers the
passenger.
 Designer: Are there any cost limitations?
Question 9
 Designer: How reliable must the device be?
 Client: It may not have more than one failure
per thousand miles of operation, and that
failure may not be one that endangers the
passenger.
 Designer: Are there any cost limitations?
 Client: The device must be designed,
developed, and manufactured so that it will
cost less than three hundred Swiss francs
each time the device is used.
Estimate the manufacturing cost again.
 Add this estimate below the previous one.
 What are some of your estimates?
Estimates From An Experiment
 First manufacturing cost estimates ranged
from $10 to $15 billion (with a b).
 Second manufacturing cost estimates ranged
from $20 to $10,000.
 There were two clusters, called “Little
Wheels” and “Big Wheels”.
 These designer’s were reasonably confident
that they had a grasp of the situation. Lets
say our company was given the green light.
The “Solution?”
 We designed and manufactured a compact,
lightweight, folding tricycle that can be carried
in a pedestrian’s hip pocket.
 Profitably sold for not more than $49.95 with
a sales volume of 100,000 per year for 5
years.
 What a slick solution!
 ???
Surprise!
 At a presentation, our client said, “I’m
delighted with the portability of the device, but
could you explain how it can be used to
rescue a climber on the north face of Eiger
Mountain?”
 Whoops!?!
 Evidently we missed something.
Client’s Clarification
 Our clients explain, what they had in mind
was a mountaineer’s rescue device, which is
understandable since Grindelwald and
Wengen base their economies on tourism in
general and mountain climbing in particular.
To keep tourism booming and to make sure
climbers return, the villages’ official guides
must rescue stranded climbers.
Context-Free Questions
 High-level questions that can be posed early
in a project to obtain information about global
properties of the design problem and
potential solutions.
 Context free questions are completely
appropriate for any product to be designed,
whether it’s an automobile, airplane, ship,
house, jingle, light bulb, or a trek in Nepal.
Example Context Free Questions
About Process
 Who is the client for the project?
 What is a highly successful solution really
worth to this client?
 What is the real reason for wanting to solve
this problem?
 Should we use a single design team, or more
than one? Who should be on the team(s)?
 How much time do we have for this project?
 What is the trade-off between time and
value?
Example Context Free Questions
About Product
 What problem does this system solve?
 What problems could this system create?
 What environment is this system likely to
encounter?
 What kind of precision is required or desired
in the product?
Example Metaquestions
 Am I asking you too many questions?
 Do my questions seem relevant?
 Are you the right person to answer these
questions? Are your answers official?
 (The accounts payable story reprise.)
 Is there anyone else who can give me useful
answers?
 Is there someplace I can go to see the
environment in which this product will be
used?
Example Metaquestions (cont.)
 Is there anything else I should be asking you?
 Is there anything you want to ask me?
 May I return or call you with more questions
later, in case I don’t cover everything this
time?
“Mary Had A Little Lamb” Heuristic
 Take a statement and emphasize each word
one by one, and then in combinations.
 Mary had a little lamb.

(It was mary’s lamb, not Tom’s or Sam’s.)
 Mary had a little lamb.

(She no longer has the lamb.)
 Mary had a little lamb.

(She no longer has the lamb.)
(cont.)
 Mary had a little lamb.

(It really was surprisingly small.)
 Mary had a little lamb.

(She didn’t have a dog, cat, goat, or bird.)
 Mary had a little lamb.

(John still has his little lamb.)
 … Mary had a little lamb.

(As contrasted witih Pallas, who still has four
large turtles.)
Importance Of the Project’s Name




The right name increases possibilities.
The wrong name stifles possibilities.
One word is worth a thousand pictures.
The Naming Heuristic



Propose a name.
Offer three reasons why the name is NOT
adequate.
Propose another name that eliminates these
problems.
 Don’t go on forever!
Determining If It Is A Function
 Take the phrase you are proposing and add
“We want the product to …” in front of it.
 E.G. Display Current Floor

We want the Elevator Information System to
Display Current Floor.
 E.G. Purple

We want the Elevator Information System to
purple.
EHF Designation
 E : Evident

Function that is visible to users.
 H : Hidden

Function that must be as imperceptible to
users as possible.
 F : Frill

Function that the client would like, but not if
they cost anything.
Qualities Of Requirements
 (from Pfleeger)
 Correct?
 Consistent?
 Complete?
 Realistic?
 Needed?
 Verifiable?
 Traceable?
 Legal?
Requirements Validation Checklist
 (from Pressman)
 Are requirements stated clearly? Can they
be misinterpreted?
 Is the source of the requirement identified?
 Is the requirement bounded in quantitative
terms?
 What other requirements relate to this
requirement? Cross reference?
Requirements Validation Checklist
 (from Pressman) (cont.)
 Does the requirement violate any system
domain constraints?
 Is the requirement testable?
 Is the requirement traceable to any system
model that has been created?
 Is the requirement traceable to overall
system/product objectives?
Requirements Validation Checklist
 (from Pressman) (cont.)
 Is the specification structured in a way that leads to
easy understanding, easy reference, and easy
translation into more technical work products?
(classes, functions, …. Code)
 Has an index for the specification been created?
 Have requirements associated with performance
behavior, and operational characteristics been clearly
stated?
 What requirements appear to be implicit?
Requirement versus Specification
 Requirements are more loosely stated and
readable by customer.
 Specifications are more precise and designed
for reading by developer.
 I like to do requirements in English precisely
and without jargon so they support both
customers and developers.
 The “response time will be fast” story, if time
permits.