Upload
frederick-powers
View
217
Download
2
Embed Size (px)
Citation preview
Planning with Use CasesExtracts from the Lamri Use Case Survival Guide™
Mark Aked
Managing Consultant
For more information visit www.lamri.com or email [email protected]
Copyright 2003
Copyright 2003
Agenda
Common GroundModern Software Engineering ProcessWhat are Use Cases?
Planning with RiskRisk Based Development LifecyclePlan Drivers
Building the Phase Plan
Summary
Questions
Copyright 2003
Agenda
Common GroundModern Software Engineering ProcessWhat are Use Cases?
Planning with RiskRisk Based Development LifecyclePlan Drivers
Building the Phase Plan
Summary
Questions
Copyright 2003
A Modern Software Engineering Process
Rational Unified Process
Copyright 2003
What are Use Cases?
A description of system behavior, in terms of sequences of actions that yield an observable result of value to Actor
Copyright 2003
Use Case Flow of Events
The sequence of actions are described by Flow of Events
Basic Flow (happy day flow) - what ‘normally’ happens
Alternate Flows - optional or exceptional deviations from the Basic Flow
All of the flow of events related to producing the ‘observable result of value’
A use case is a logical package/container for all of the flow of events that produce an observable result of value to an Actor
Copyright 2003
Agenda
Common GroundModern Software Engineering ProcessWhat are Use Cases?
Why Plan Using Risks?Risk Based Development LifecyclePlan Drivers
How to Build a Phase Plan
Summary
Questions
Copyright 2003
A Functional Based Development Cycle
Copyright 2003
A Functional Based Development Cycle
Copyright 2003
A Functional Based Development Cycle
Copyright 2003
The Logic of Risk Based Approach
Software projects fail for many reasons but commonly because we fail to address and manage risks
Unaddressed risks become issues which add rework (cost, timescale and burnout)
Without the appreciation of risk, we plan by functionality
Architecture and integration expose a high proportion of issues
Copyright 2003
A Risk Based Development Cycle
Copyright 2003
Drivers of Risk Based Planning
Cost
Deadlines
Quality
Content
Mitigate Risk (Technical)
Copyright 2003
So you don’t have technical risk?
Leading Edge
New Architecture
Novel Approach
New Technology
Developers say “…it’s an exciting project”
“We are customising it for our environment”
Copyright 2003
Agenda
Common GroundModern Software Engineering ProcessWhat are Use Cases?
Planning with RiskRisk Based Development LifecyclePlan Drivers
Building the Phase Plan
Summary
Questions
Copyright 2003
Context
Copyright 2003
The Phase Plan
Copyright 2003
Phase Plan Development Process
Copyright 2003
Prepare the Risk List
Extract technical risks from the risk list
Prioritise Risks by Risk Exposure
Copyright 2003
Prepare the Use Cases
Ensure each use case has a - Name - Description - Basic and Alternate Flows identified at outline level - Priority
Copyright 2003
Select Risks for Iteration
Choose the risks to be addressed in this iteration e.g. top 3 risks.
These become the objectives for the iteration e.g. Objective 1 Mitigate RISK 1
Copyright 2003
Identify Candidate Use Cases
Produce a Risk/Use Case Matrix
Produce a mapping if implementing the Use Case will expose the Risk as being an issue
Copyright 2003
Identify Candidate Use Cases
Locate the minimum set of Use Cases required to address the selected Risks
Remember the objective of Elaboration is to mitigate the risk as quickly and with least effort.
All of the Use Case will not mitigate the risk, so we don’t have to implement the whole Use Case
We want to identify the parts of the Use Case that will address the risks
Parts of Use Cases are Flows
Copyright 2003
Identify Candidate Use Flows
Produce a mapping if implementing the Use Case Flow will expose the risk as being an issue
Copyright 2003
Use Case Styles
Use Case Specification style must enable each flow to be uniquely identified to allow tracing
Copyright 2003
Populate the Phase Plan
Copyright 2003
Planning Tips
If the iteration hasn’t got enough content to keep If the iteration hasn’t got enough content to keep everyone busy,everyone busy,
Add another Use Case Flow that addresses a risk within the iteration (belt Add another Use Case Flow that addresses a risk within the iteration (belt and braces approach)and braces approach)
Add another risk to the scope of the iteration and hence another Use Add another risk to the scope of the iteration and hence another Use Case FlowCase Flow
Don’t just add in another Use Case – focus on risks not building Don’t just add in another Use Case – focus on risks not building functionalityfunctionality
Copyright 2003
Planning Tips
For early iterations, keep the content small For early iterations, keep the content small (i.e. 1 or 2 flows)(i.e. 1 or 2 flows)
Helps people adapt to new approachHelps people adapt to new approach
Gains buy-in through successGains buy-in through success
Sets the ‘heartbeat’ for regular deliverySets the ‘heartbeat’ for regular delivery
Copyright 2003
The Completed Phase Plan
Copyright 2003
Next Steps
Estimate the amount of effort and draw up a schedule
Fill in the Milestone Date section of the Phase Plan
Copyright 2003
Summary
Objective of Elaboration is to attack risks with the least amount of effort
Use risks to drive out the Use Cases to implement and then the Use Case Flows
Don’t waste effort implementing the whole use case
Implement as little as possible to mitigate the risk and move on
Don’t allocate too much to an iteration
Maintain focus