Lecture 6Ch. 5: Investigation
SE3821 Software Requirements and SpecificationDr. Rob Hasker (based on slides by Dr. Brad Dennis)
4
Review• An adjacent system places some demand on or makes
some contribution to our work. This is a business event.• We use a WCD to help us identify adjacent systems
and to model the information flows. This is how we identify the business events.• How the work responds to this event is a Business Use
Case.
5
The Volere Process
• Investigating the work: understanding what the business is doing.• Can’t improve
without understanding what you’re improving!
• Today: trawling the business
6
The Volere Process
• Investigating the work: understanding what the business is doing.• Can’t improve
without understanding what you’re improving!
• Today: trawling the business
Why “trawling”?
7
The Volere Process
• Investigating the work: understanding what the business is doing.• Can’t improve
without understanding what you’re improving!
• Today: trawling the business
Why “trawling”?• Methodically
fishing for requirements!
8
The Volere Process
• Investigating the work: understanding what the business is doing.• Can’t improve
without understanding what you’re improving!
• Today: trawling the business
Why “trawling”?• Methodically
fishing for requirements!
Danger: potential time waste
9
The Volere Process
• Investigating the work: understanding what the business is doing.• Can’t improve
without understanding what you’re improving!
• Today: trawling the business
Why “trawling”?• Methodically
fishing for requirements!
Danger: potential time waste• Stay focused on work
that affects your product
10
Project types• Rabbit: essentially agile• Need to understand work context in agile as well!• Trawling: PO tool to identify needed information
•Horse: many stakeholders• Extensive use of apprenticeship, interviews, use
case workshops
• Elephant: very large number of stakeholders• “Formal” specification a must• High ceremony; lots of artifacts related to trawling
11
How do we investigate the business?• We have to engage the set of stakeholders that know
about the work that is currently being done.• When we engage stakeholders, it’s important to be
aware that they contain 3 “layers” of requirements.• The work they are consciously aware they do.• The work that has become habits and are no longer
consciously aware of.• The work as they wish it were done.
• The outputs of this engagement are models of how the work is being done.
12
What is your role?• Observe and learn the work. What are the stakeholders
doing and why are they doing it? (How-Now)• Be a good listener. You need to attentively listen and
understand the meaning behind the words they are using.• Interpret the work. You must evaluate and synthesize
what the stakeholders are reporting and distill it down to it’s essence. (What-Now)• Record the results in a stakeholder friendly way… an
understandable model. These models can be the common language for understanding the work. (BUC)
13
A Framework for Modeling• We use business events to anchor our modeling, one
business use case at a time.• We model what the work is doing not how it’s being
done.• The level of detail in our models is just enough to
understand what the work is doing.• The breadth of our models is sufficient to cover all the
work that might be relevant to the future product.• In a valid model the outputs should be derivable from
the inputs.• Your models should confirm your Work Context
Diagram.
14
A Framework for Modeling• It helps when investigating the work to consider certain
viewpoints.• How the work is currently being done.• The essence of what the work is doing.• Abstractly, what the future work should be doing.• How the future work will do what it’s supposed to do.
Raw Model
s
Distilled BUC
Enhanced BUC
PUC
Now Future
Now Future
WhatHow How
What
1
2 3
4
15
Brown Cow
• Method to define product use cases to develop
• Process: examine the project from four different viewpoints.
16
Brown Cow
Clockwise:• How-Now• Hence the name• Current implementation• Start here
• What-Now• Essence of current work
• Future-What• What we want
• Future-How• What needs to be implemented
17
Brown Cow
Clockwise:• How-Now• Hence the name• Current implementation• Start here
• What-Now• Essence of current work
• Future-What• What we want
• Future-How• What needs to be implemented
Why start here?• Maybe current
system not ideal, but contains information!
• Warning: timebox modeling effort
18
How do we record results?• During the How-Now work, you can use mind maps.
Taking an
order
Answer phone
Greet customer
Ask what they would like to order
“Hello my name is ____”
Confirm order
Take payment
Submit order toflorist to prepare
19
How do we record results?• You can build other types of models.
Phone Call
Answer phone Greet customer Take order Confirm order
Take paymentGive confirmation
Notify Florist
Record order
20
How do we record results?• You can build other types of models.
Customer Order taker
Order System
Orders
Gives order
Confirms order
Submits order
Stores order
21
What other things should we collect?• The desired outcome of the event. This shouldn’t be a
list of outputs, but what does the business want to achieve.• Any business rules. Business rules are prescriptions
that guide the day to day work.• Record the work as the stakeholder would desire it to
be like.• Record any exceptions to the work flow.• We synthesize these artifacts into scenarios.
22
Group Exercise
• Raise your hand if you currently work or recently did over the summer and are comfortable with standing in front of the class and being interviewed.• Let’s identify one business event. The task is for the
class to interview the stakeholder and model the current work and desired work. • We should list the outcome, any business rules, and
exceptions that you discover.• REMINDER: Take photo and collect an artifact