Title: Requirements Analysis
1Requirements Analysis
2Reference
- Exploring Requirements, Quality BEFORE Design, by
Donald C. Gause Gerald M. Weinberg - Dorset House Publishing, 1989
- ISBN 0-932633-13-7
3Its 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
4Other 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!
5A Picture Of Requirements
What we want
What we dont want
The Universe of Everything Thats Possible
6Exploring Requirements
Tools
7Focus Slide
8A 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.
9Consider The Following Question
- How many points were in the star that was used as
a focus slide for this representation?
10Questions(number these on side 1)
- What do you think the answer is to the question
posed on the previous slide?
11Questions(number these on side 1)
- What do you think the answer is to the question
posed on the previous slide? - With 100 people attending the seminar, how many
different answers did the participants write down
as their first-impression answer to the question?
12Questions(number these on side 1)
- What do you think the answer is to the question
posed on the previous slide? - With 100 people attending the seminar, how many
different answers did the participants write down
as their first-impression answer to the question? - What factors do you think are responsible for the
differences among answers?
13Questions (number these on side 1)
- What do you think the answer is to the question
posed on the previous slide? - With 100 people attending the seminar, how many
different answers did the participants write down
as their first-impression answer to the question? - What factors do you think are responsible for the
differences among answers? - Write down, verbatim to the best of your ability,
the question that you think you answered in
question 1.
14Results (clumped answers)
75
Not to scale.
12
4
3
3
2
1
8
0-2
5-9
10-12
13-16
21-24
29-32
15Discussion?
- 0 2 4
- 5 9 75
- 10 12 1
- 13 16 12
- 21 24 2
- 29 32 3
- Infinity 3
16Now!
- Does the previous discussion prompt you to change
your answer to the number of points question?
17Now!
- 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.
18Sources Of Experimental Error
- Observational and recall errors.
- Interpretation errors.
- Read some examples of the question.
- The actual question was How many points were in
the star that was used as a focus slide for this
representation?
19Back 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, lets ask some direct questions.
20Question 1
- Designer When is the solution needed?
21Question 1
- Designer When is the solution needed?
- Client Within eighteen months.
22Question 2
- Designer When is the solution needed?
- Client Within eighteen months.
- Designer What is to be transported?
23Question 2
- Designer When is the solution needed?
- Client Within eighteen months.
- Designer What is to be transported?
- Client People.
24Question 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?
25Question 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
26Question 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?
27Question 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.
28Question 5
- Designer Over what kind of surface or terrain is
the device to travel?
29Question 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.
30Question 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?
31Question 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.
32Question 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?
33Question 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.
34Question 8
- Designer How reliable must the device be?
35Question 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.
36Question 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?
37Question 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.
38Estimate the manufacturing cost again.
- Add this estimate below the previous one.
- What are some of your estimates?
39Estimates 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 designers were reasonably confident that
they had a grasp of the situation. Lets say our
company was given the green light.
40The Solution?
- We designed and manufactured a compact,
lightweight, folding tricycle that can be carried
in a pedestrians 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!
- ???
41Surprise!
- At a presentation, our client said, Im
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.
42Clients Clarification
- Our clients explain, what they had in mind was a
mountaineers 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.
43Context-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 its an
automobile, airplane, ship, house, jingle, light
bulb, or a trek in Nepal.
44Example Context Free QuestionsAbout 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?
45Example Context Free QuestionsAbout 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?
46Example 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?
47Example 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 dont cover everything this time?
48Mary 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 marys lamb, not Toms or Sams.)
- Mary had a little lamb.
- (She no longer has the lamb.)
- Mary had a little lamb.
- (She no longer has the lamb.)
49(cont.)
- Mary had a little lamb.
- (It really was surprisingly small.)
- Mary had a little lamb.
- (She didnt 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.)
50Importance Of the Projects 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. - Dont go on forever!
51Determining 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.
52EHF 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.
53Qualities Of Requirements
- (from Pfleeger)
- Correct?
- Consistent?
- Complete?
- Realistic?
- Needed?
- Verifiable?
- Traceable?
- Legal?
54Requirements 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?
55Requirements 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?
56Requirements 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?
57Requirement 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.