Weitere ähnliche Inhalte Ähnlich wie Use case+2-0 (20) Kürzlich hochgeladen (20) Use case+2-01. Use-Case 2.0:
Scaling up, scaling out, scaling in for
agile projects
Dr Ivar Jacobson
with Ian Spence
ivar@ivarjacobson.com
2. Scaling up, scaling out, scaling in – what is that?
Scaling up
To deal with larger development:
more people, more requirements,
more complex software systems
Use Cases Scaling out
To deal with greater breath
of the development lifecycle
Scaling in
To provide more guidance
to individuals.
2 Copyright © 2011 Ivar Jacobson International SA. All rights reserved
3. Agenda
• A Brief History of Use Cases
• Use-Case 2.0 – What is new
• Use-Case 2.0 in practice
• Wrap Up
3 Copyright © 2011 Ivar Jacobson International SA. All rights reserved
4. A brief history of use cases
A practice that has learnt ‘87 – ‘96 Use-Case Driven
to adapt and evolve Development Paper,
OOPSLA, 87
A practice that has stood The Objectory Process and
Object-Oriented Software Engineering,
the test of time Addison Wesley, 1992
UML, OOPSLA, 1995
’96 -’00 The Rational Objectory Process, 1997
The Unified Software Development
Process,
Addison Wesley, 1999
Company X, Y & Z
Methods
EssUP
More and more books and
methods using use cases. RUP
Use-Case
And now use-case 2.0… Essentials
4 Copyright © 2011 Ivar Jacobson International SA. All rights reserved
5. What made use cases so popular?
Requirements
• They effectively communicate what Reuse
a system is supposed to do Architecture
• They place the requirements into
the context of a specific user’s
goals Iteration Use Software
Planning Cases Design
• They are the test cases
• They are the starting point for the
design of effective user experiences
Business Test
• They ‘drive’ the development Modeling
through design and code User Experience
Design
Use-Case Modeling – A very simple idea.
To get to the heart of what a system must do, you should focus on
who, (or what) will use it, and then look at what the system must do for
them to help them achieve something useful.
5 Copyright © 2011 Ivar Jacobson International SA. All rights reserved
6. Why do we still need use cases?
“There are lots of other popular requirement related
practices, haven’t they replaced the need for use cases?”
• User Stories – great for small systems and small teams
• Features – great for product management
• Declarative Requirements – great for capturing independent,
atomic qualities
• Domain Modeling – great for information rich, functionally simple
systems
There a lots of great techniques but they lack something to
pull them together, and provide a simple, scalable solution.
6 Copyright © 2011 Ivar Jacobson International SA. All rights reserved
7. Why do we need use case 2.0?
• To correct some of the common misunderstandings:
– Use-cases are lightweight not heavy-weight
– Use-cases are stories not functions
– Use-cases are simple not complicated
– Use-cases are for all types of development not just green field
application development
• To re-focus on the essentials
• To better support innovations and improvements such as test-
driven development, Kanban, and Scrum
Use-Case 2.0
Scaling up, scaling out, scaling in.
The lightness of user stories with the power of modelling.
7 Copyright © 2011 Ivar Jacobson International SA. All rights reserved
8. Agenda
• A Brief History of Use Cases
• Use-Case 2.0 – What is new
• Use-Case 2.0 in practice
• Wrap Up
8 Copyright © 2011 Ivar Jacobson International SA. All rights reserved
9. A use case is still a use case
A use case is all the ways of using a system to achieve a
particular goal for a particular user.
• Use cases can be shown in
UML diagrams
• Use cases are described as
narratives Withdraw Cash
– Which tell the story of how
the system and its users Bank Customer
work together to achieve a
particular goal
…but the way we describe and apply them has
evolved.
9 Copyright © 2011 Ivar Jacobson International SA. All rights reserved
10. Use cases act as placeholders for conversations
A set of use cases visualizes the
scope and goals of a system in an
easily accessible form.
A Simple Telephone System
The use cases provide context
for our conversations.
The use cases are our epics and
themes.
10 Copyright © 2011 Ivar Jacobson International SA. All rights reserved
11. A use case is represented by many stories….
• Basic Flow Alternative Flows
1. Insert Card A1 Invalid Card
2. Validate Card A2 Non-Standard Amount
A3 Receipt Required
3. Select Cash Withdrawal
A4 Insufficient Funds in ATM
4. Select Amount
A5 Insufficient Funds in Acct
5. Confirm Availability of
A6 Would Cause Overdraft
Funds
A7 Card Stuck
6. Return Card
A8 Cash Left Behind
7. Dispense Cash Etc…
… often too many to code and test in one go.
11 Copyright © 2011 Ivar Jacobson International SA. All rights reserved
12. Too many stories for a single release
Purchase Refill and Service
Goods Purchase the Machine
Tickets
Withdraw ATM Configure the
Cash Engineer Machine
Check the Machine is in
Deposit Working Order
Customer Funds
Analyze System
Transfer
Performance
Funds
Reconcile Transaction
Logs
Charge Device With Manage
Funds Account ATM
Operator Run Advertising
Campaign
Update System
Configuration
Burglar Break Into
Machine Change Pricing
Release 1: , Release 2: ,
Release 3: , Release 4: , Out of Scope:
12 Copyright © 2011 Ivar Jacobson International SA. All rights reserved
13. Too many stories for a single increment
Start
Up
Release
Ready
Handover
releasable
value
releasable
value
releasable
value
releasable
value
releasable
value
releasable
value
releasable
value
Product Released
releasable
value
releasable
value
Release Product
releasable
value
Use Case 1
Use Case 2
Use Case 3
Use Case 4
You need to slice up the use cases to provide stories
suitable for iterative development, Kanban or Scrum.
13 Copyright © 2011 Ivar Jacobson International SA. All rights reserved
14. So we slice up the use cases to drive the development
A Use Case A Use-Case Slice
• Is described by a set of • Is created by selecting one or
structured stories in more stories for implementation
the form of: • …, acts as a placeholder for all
– A use-case narrative the work required to complete
containing flows and special the implementation of the
requirements stories
– And a set of matching Test • …, and evolves to include the
Cases
equivalent slices through
design, implementation and
test.
14 Copyright © 2011 Ivar Jacobson International SA. All rights reserved
15. Use-Cases drive the development
Use-Case Model
Project Plans
Class... Pass
Fail
Glossary / Analysis Design Implementation Tests & Test
Domain Model Model Model Model Results
Use case slices are more than just the stories.
15 Copyright © 2011 Ivar Jacobson International SA. All rights reserved
16. A use case may generate several slices covering all its
functionality …
Use Case 1
Basic Flow plus 15 Alternatives
…
Use-Case Use-Case Use-Case Use-Case
Slice1.1 Slice1.2 Slice1.3 Slice1.N
Basic Flow Alt Flows Alt Flows Alt Flows
plus 1-4 plus 5-7 plus M-15 plus
Test Cases Test Cases Test Cases Test Cases
1.1 – 1.5 1.6 – 1.10 1.11 – 1.15 1.x – 1.Y
The Use-Case Slices split the use case up into a number of
smaller, separately deliverable parts
16 Copyright © 2011 Ivar Jacobson International SA. All rights reserved
17. …,and other quality attributes
Use-Case Use-Case Use-Case
Slice 2.1 Slice 2.2 Slice 2.3
Basic Flow – Basic Flow –
Basic Flow –
Rest of Scenarios + Supp Req’t A,
Scenario 1
plus B&C
plus
Test Cases Test Cases
Test Case 2.1
2.2 – 2.8 2.9 – 2.10
Slice1 – Build the Slice 3 – Use the basic
Slice 2 – Complete the
basic flow and flow to performance
implementation and
Test with one key and stress test the
testing of the basic flow.
scenario. system.
You don’t even need the whole use case before you start
slicing
17 Copyright © 2011 Ivar Jacobson International SA. All rights reserved
18. You only need to outline the flows to create the slices
Use-Case 1: Withdraw Cash
• Basic Flow Handling Errors!
1.3 CardAlternative Flows
1. Insert Card A1 Invalid Card
Story: Wrong type of card. !
2. Validate Card Flows:A2 Non-Standard Amount
BF, A1!
A3 Receipt Required
Test Conditions: Invalid card !
3. Select Cash Withdrawal !
A4 Insufficient Funds in ATM
Story: Card Stuck on Cashor Exit!
1.2 Full Entry Withdrawal!
4. Select Amount
Flows:A5 Insufficient Funds in Acct
BF, A7!
5. Confirm Availability of Test Conditions: Default Card, Default
Story: Empty an Account!
A6 Would Cause Overdraft
Funds Account, Default Amount !
Flows: BF!
A7 Card Stuck
Test Conditions: Card 001, Account 001
6. Return Card Points:
A8 Cash Left £200 !
containing Behind
7. Dispense Cash Story: Withdraw Daily Limit!
Etc…Flows: BF!
1.1 Normal CashConditions: Card 002, Account
Test Withdrawal!
002!
Use case narratives can be described at different Story: Withdraw Beer Money!
Points:
levels of detail. Flows: BF!
Test Conditions: Default Card, Default
They start very lightweight by outlining the flows. Account, Default Amounts !
!
This is enough detail to identify our stories and
define our slices.
Points:
18 Copyright © 2011 Ivar Jacobson International SA. All rights reserved
19. You can slice up your use cases to support product owners
and development teams
Done
Doable
Where
time runs
out.
At risk
Building a backlog, tracking done, and knowing
how much more you can do.
19 Copyright © 2011 Ivar Jacobson International SA. All rights reserved
20. You only need to model what is important to you
1.1 Normal Cash Withdrawal!
Story: Withdraw Beer Money!
Flows: BF!
Test Conditions: Default Card, Default
Account, Default Amounts !
To get started you!
only need one use
case and one Points:
slice.
The use-case model provides the big picture needed for
effective scope management and release planning.
20 Copyright © 2011 Ivar Jacobson International SA. All rights reserved
21. Agenda
• A Brief History of Use Cases
• Use-Case 2.0 – What is new
• Use-Case 2.0 in practice
• Wrap Up
21 Copyright © 2011 Ivar Jacobson International SA. All rights reserved
22. The agile sweet spot:
Use-Case 2.0 with a small agile team
Building a web-based insurance application
• Small, co-located project team
• On-site product owner
• 4 then 2 week iterations
• Previous experience of use cases
• No experience of iterating
The team wrote their First working
Lightweight use-case
test cases up front as software within four
narratives to identify
they prepared their weeks.
use-case slices.
use case slices.
22 Copyright © 2011 Ivar Jacobson International SA. All rights reserved
23. Working on very large-systems:
Use-Case 2.0 with systems engineering
Building a new banking straight-through processing engine
• Large distributed project team
• Many stakeholders and sponsors
• 6 then 4 and now 2 week iterations
• New to agile and iteration
Started with more
Became more agile Delivered on-time
formal use-case
as they grew in and on-budget.
narratives and longer
confidence.
iterations.
23 Copyright © 2011 Ivar Jacobson International SA. All rights reserved
24. Working with external suppliers
Using Use Case 2.0 with out-sourcing or off-shoring
• Innovation for Telecoms operations
• Working iteratively and incrementally through-out
• Requirements and testing in Holland
• All software development and testing out-sourced (much to
India)
• Contractually need a formal requirements specification
• Many distributed teams – difficult to have timely conversations
Created test cases
Used outlines and Evolved the use-case up front and use
use-case slices to slices to provide these to QA the
identify deliverable clean clear orders for releases delivered by
pieces of work. each iteration. the supplier.
24 Copyright © 2011 Ivar Jacobson International SA. All rights reserved
25. Working with the business:
Using Use Case 2.0 for business change
• Agile business programs working iteratively and incrementally
• Business product managers creating software intensive
products
• Adding these new products to existing enterprise IT systems
• Business requires synchronized up dates to multiple
applications to meet their business needs
• Apply use-case 2.0 to the business as well as the software
Analyzed the Created “business”
Used outlines and business use-case test cases up front
use-case slices to slices to identify the and used these to QA
identify slices of applications to be the integrated set of
business change. changed and their applications provided
use-case slices. by the IT Department.
25 Copyright © 2011 Ivar Jacobson International SA. All rights reserved
26. Use Case 2.0 with Scrum: A winning combination
1.
Slice
early
2.
Test
early
3.
Deliver
early
and
o2en
and
o2en
Use
lightweight
use
case
narra0ves
to
Write
test
cases
up
Use the use-case
front
to
clearly
define
model to identfy the
iden0fy
use‐case
slices
done,
use
these
to
right slices to generate
and
populate
the
a usable system as
backlog.
demonstrate
working
so?ware.
early as possible.
Time
Done
26 Copyright © 2011 Ivar Jacobson International SA. All rights reserved
27. Use Case 2.0 with Kanban: A winning combination
Time
27 Copyright © 2011 Ivar Jacobson International SA. All rights reserved
28. Agenda
• A Brief History of Use Cases
• Use-Case 2.0 – What is new
• Use-Case 2.0 in practice
• Wrap Up
28 Copyright © 2011 Ivar Jacobson International SA. All rights reserved
29. Introducing Use-Case 2.0
• Use cases are still use cases
• They provide context for our conversations
• We only model what is important
• We slice our use cases to drive the development
• We eliminate waste by using the lightest level of detail
• We include test cases (as part of the use case) to define done
• We use cards and backlogs to support agile ways-of-working
• We add detail to cope with out-sourcing and off-shoring
• We apply the techniques recursively to handle large projects,
programs and business change
Use-Case 2.0
Agility in action.
The lightness of user stories with the power of modeling.
29 Copyright © 2011 Ivar Jacobson International SA. All rights reserved
30. Use Case 2.0 -- Distinctive Features
• It helps you quickly understand the big picture
• As light as you want it to be
• Enabling incremental delivery
• It’s not just about requirements, it’s for the whole lifecycle
• It’s also for non-functional requirements
• It’s also for embedded software
• It’s not just for software development – it’s for business
development as well
• Scaling to meet your needs – scaling in, scaling out
and scaling up
Register for the free Use-Case 2.0 e-book.
30 Copyright © 2011 Ivar Jacobson International SA. All rights reserved
31. 31 Copyright © 2011 Ivar Jacobson International SA. All rights reserved
32. For questions, feel free to contact me, Ivar Jacobson, at
ivar@ivarjacobson.com
White papers and other resources can be downloaded from
www.ivarjacobson.com
32 Copyright © 2011 Ivar Jacobson International SA. All rights reserved