An introduction to smart use cases
-
Upload
sander-hoogendoorn -
Category
Technology
-
view
3.527 -
download
0
description
Transcript of An introduction to smart use cases
Sander Hoogendoorn | Principal Technology Officer | Capgemini
www.smartusecase.com| www.sanderhoogendoorn.com
@aahoogendoorn
SMART USE CASES
2INTRODUCTION TO AGILE©2011 Capgemini. All Rights Reserved
A (smart) use case is
A description of a system’s behavior as
it responds to a request that originates
from outside of that system.
In other words, a use case describes
who can do what with the system in
question.
USE CASES
3INTRODUCTION TO AGILE©2011 Capgemini. All Rights Reserved
TOO OFTEN … HUGE CASES Difficult to describe,
hard to build,
impossible to test
4INTRODUCTION TO AGILE©2011 Capgemini. All Rights Reserved
DIFFERENT LEVELS OF USE CASES
Cloud level
Kite level
Sea level
Fish level
Clam level
High summary
Summary
User goal
Sub-function
Too low
Merge
companies
Merge
mortgage systems
Select
product
Insert
orderline
Place order
5INTRODUCTION TO AGILE©2011 Capgemini. All Rights Reserved
MODELING SMART USE CASES
Sea
level
Fish
level
6INTRODUCTION TO AGILE©2011 Capgemini. All Rights Reserved
SO SMART USE CASES ARE VERY GOOD
FOR MODELING AND DESCRIBING REQUIREMENTS
BUT…WHAT MAKES THEM REALLY SPECIAL?
7INTRODUCTION TO AGILE©2011 Capgemini. All Rights Reserved
SMART USE CASES ARE
THE PERFECT TOOL FOR SOFTWARE DEVELOPMENT
8INTRODUCTION TO AGILE©2011 Capgemini. All Rights Reserved
• Perfectly fit an agile requirements
approach, determining the project
backlog
SMART USE CASES
9INTRODUCTION TO AGILE©2011 Capgemini. All Rights Reserved
AGILE REQUIREMENTS APPROACH
D
E
F
SmartUse Cases
A
Project
Scope
D
Use Cases
A
B C
Hierarchical
Processes
B
D
D
Hierarchical
Processes
Chronological
Processes
Cloud Level Kite Level Sea Level Fish Level
C
10INTRODUCTION TO AGILE©2011 Capgemini. All Rights Reserved
• Perfectly fit an agile requirements
approach, determining the project
backlog
• Are the main unit of work in the agile
process Smart
SMART USE CASES
11INTRODUCTION TO AGILE©2011 Capgemini. All Rights Reserved
Propose Scope Realize Realize Realize Realize Finalize Manage
SMART
Create
project
proposal
Write
project
plan
Deliver
working
software
Stabilize
software
Maintain
software
12INTRODUCTION TO AGILE©2011 Capgemini. All Rights Reserved
Propose Scope Realize Realize Realize Realize Finalize Manage
SMART
What
smart use cases
will we deliver?
Define done
Deliver
smart use cases
using product cycle
Visualise progress
Are we up to speed?
Is our process
optimal?
Are the
smart use cases
done?
13INTRODUCTION TO AGILE©2011 Capgemini. All Rights Reserved
• Perfectly fit an agile requirements
approach, determining the project
backlog
• Provide the unit of work in the agile
process Smart
• Facilitate a life cycle that supports
daily work in projects
SMART USE CASES
14INTRODUCTION TO AGILE©2011 Capgemini. All Rights Reserved
SMART USE CASE LIFE CYCLE
Define
work on
use case
Write
test cases
Generate
and build
use case
Run
test cases
Adjust
use case
Describe
use case
Accept
use case
15INTRODUCTION TO AGILE©2011 Capgemini. All Rights Reserved
SMART USE CASE LIFE CYCLE
16INTRODUCTION TO AGILE©2011 Capgemini. All Rights Reserved
• Perfectly fit an agile requirements
approach, determining the project
backlog
• Provide the unit of work in the agile
process Smart
• Facilitate a life cycle that supports
daily work in projects
• Support easy, reliable and
repeatable software estimation
SMART USE CASES
17INTRODUCTION TO AGILE©2011 Capgemini. All Rights Reserved
Estimating smart use cases
with the customer
and the whole team
ESTIMATING SMART USE CASES
18INTRODUCTION TO AGILE©2011 Capgemini. All Rights Reserved
SMART ESTIMATION POKER
19INTRODUCTION TO AGILE©2011 Capgemini. All Rights Reserved
SMART USE CASE STEREOTYPES
20INTRODUCTION TO AGILE©2011 Capgemini. All Rights Reserved
• Perfectly fit an agile requirements
approach, determining the project
backlog
• Provide the unit of work in the agile
process Smart
• Facilitate a life cycle that supports
daily work in projects
• Support easy, reliable and
repeatable software estimation
• Allow for online dashboarding
SMART USE CASES
21INTRODUCTION TO AGILE©2011 Capgemini. All Rights Reserved
MAKING COMMUNICATION EASY
22INTRODUCTION TO AGILE©2011 Capgemini. All Rights Reserved
PROGRESS BASED ON SMART USE CASES
#118 nov
#216 dec
#312 jan
#49 feb
#59 maa
#66 apr
#74 mei
#81 jun
#929 jun
#1027 jul
#1124 aug
#1321 sep
#1519 okt
Totale scope 300 397 397 434 441 439 503 516 481 473 516 523 488 504 501
Geaccepteerd 0 0 0 12 25 107 144 187 222 311 358 392 382 393 428
0
100
200
300
400
500
23INTRODUCTION TO AGILE©2011 Capgemini. All Rights Reserved
• Perfectly fit an agile requirements
approach, determining the project
backlog
• Provide the unit of work in the agile
process Smart
• Facilitate a life cycle that supports
daily work in projects
• Support easy, reliable and
repeatable software estimation
• Allow for online dashboarding
• Generate code from smart use cases
SMART USE CASES
24INTRODUCTION TO AGILE©2011 Capgemini. All Rights Reserved
Forms
Use cases
Domain
objects
Data / Serviceclasses
Databases
Software Architecture
TobagoMDA
Test
scenario’s
Frameworks
Specifications
Existing
Applications
Businessmodels
DomainModel
Smartuse cases
User interface
specification
1. Map your business
processes to smart
use cases
1. Map your business
processes to smart
use cases
2. Set up your
domain model
2. Set up your
domain model 3. Establish
your software
architecture(s)
3. Establish
your software
architecture(s)
4. Generate your
code using a text
template engine
4. Generate your
code using a text
template engine
5. Finalize your
application
5. Finalize your
application
25INTRODUCTION TO AGILE©2011 Capgemini. All Rights Reserved
A SIMPLE SMART USE CASE MODEL
uc Manage Customer
Site Administrator
(from A ctors)
«master detail»
Manage Customer
«search»
Select Customer
«define»
Define Contact
«extend»
«incl ude»
26INTRODUCTION TO AGILE©2011 Capgemini. All Rights Reserved
GENERATED CODE IN ASP.NET
27INTRODUCTION TO AGILE©2011 Capgemini. All Rights Reserved
• Perfectly fit an agile requirements approach, determining the project backlog
• Provide the unit of work in the agile process Smart
• Facilitate a life cycle that supports daily work in projects
• Support easy, reliable and repeatable software estimation
• Allow for online dashboarding
• Generate code from smart use cases
• Provide structured agile test techniques and tools
SMART USE CASES
28INTRODUCTION TO AGILE©2011 Capgemini. All Rights Reserved
TESTING SMART USE CASES
Developer testing
Developer checks
other developers work
Testing
Tester performs
functional tests
Acceptance testing
Domain expert in
project team accepts
Approval
End user signs
for final approval
29INTRODUCTION TO AGILE©2011 Capgemini. All Rights Reserved
PAIR TESTING SMART USE CASES
30INTRODUCTION TO AGILE©2011 Capgemini. All Rights Reserved
UNIT TESTING SMART USE CASES Automated
regression testing
on smart use cases
www.accelerateddeliveryplatform.com
WWW.SMARTUSECASE.COM
32INTRODUCTION TO AGILE©2011 Capgemini. All Rights Reserved
ACCELERATED DELIVERY PLATFORM
Process
Agile
Lifecycle
Smart
Use Cases
Smart
Estimation
Agile
Dashboards
UnifiedTesting
Technology
Model driven
development
Reference
ArchitecturesFrameworks
People
Open
Community
Coaching
Learning
33INTRODUCTION TO AGILE©2011 Capgemini. All Rights Reserved
ACCELERATED DELIVERY PLATFORM - SOME REFERENCES
ADP Based
Software Factories
Smart &
Smart Use Cases
(Capgemini) Projects Coaching & Learning
www.smartusecase.com | www.accelerateddeliveryplatform.com
REFERENCES AND QUESTIONS