An introduction to smart use cases

34
Sander Hoogendoorn | Principal Technology Officer | Capgemini www.smartusecase.com| www.sanderhoogendoorn.com @aahoogendoorn SMART USE CASES

description

This brief presentation will give you an introduction to smart use cases, and why they are so useful in software development projects.

Transcript of An introduction to smart use cases

Page 1: An introduction to smart use cases

Sander Hoogendoorn | Principal Technology Officer | Capgemini

www.smartusecase.com| www.sanderhoogendoorn.com

@aahoogendoorn

SMART USE CASES

Page 2: An introduction to 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

Page 3: An introduction to smart use cases

3INTRODUCTION TO AGILE©2011 Capgemini. All Rights Reserved

TOO OFTEN … HUGE CASES Difficult to describe,

hard to build,

impossible to test

Page 4: An introduction to smart use cases

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

Page 5: An introduction to smart use cases

5INTRODUCTION TO AGILE©2011 Capgemini. All Rights Reserved

MODELING SMART USE CASES

Sea

level

Fish

level

Page 6: An introduction to smart use cases

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?

Page 7: An introduction to smart use cases

7INTRODUCTION TO AGILE©2011 Capgemini. All Rights Reserved

SMART USE CASES ARE

THE PERFECT TOOL FOR SOFTWARE DEVELOPMENT

Page 8: An introduction to smart use cases

8INTRODUCTION TO AGILE©2011 Capgemini. All Rights Reserved

• Perfectly fit an agile requirements

approach, determining the project

backlog

SMART USE CASES

Page 9: An introduction to 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

Page 10: An introduction to smart use cases

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

Page 11: An introduction to 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

Page 12: An introduction to smart use cases

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?

Page 13: An introduction to smart use cases

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

Page 14: An introduction to 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

Page 15: An introduction to smart use cases

15INTRODUCTION TO AGILE©2011 Capgemini. All Rights Reserved

SMART USE CASE LIFE CYCLE

Page 16: An introduction to smart use cases

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

Page 17: An introduction to 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

Page 18: An introduction to smart use cases

18INTRODUCTION TO AGILE©2011 Capgemini. All Rights Reserved

SMART ESTIMATION POKER

Page 19: An introduction to smart use cases

19INTRODUCTION TO AGILE©2011 Capgemini. All Rights Reserved

SMART USE CASE STEREOTYPES

Page 20: An introduction to smart use cases

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

Page 21: An introduction to smart use cases

21INTRODUCTION TO AGILE©2011 Capgemini. All Rights Reserved

MAKING COMMUNICATION EASY

Page 22: An introduction to smart use cases

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

Page 23: An introduction to smart use cases

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

Page 24: An introduction to 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

Page 25: An introduction to smart use cases

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»

Page 26: An introduction to smart use cases

26INTRODUCTION TO AGILE©2011 Capgemini. All Rights Reserved

GENERATED CODE IN ASP.NET

Page 27: An introduction to smart use cases

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

Page 28: An introduction to 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

Page 29: An introduction to smart use cases

29INTRODUCTION TO AGILE©2011 Capgemini. All Rights Reserved

PAIR TESTING SMART USE CASES

Page 30: An introduction to smart use cases

30INTRODUCTION TO AGILE©2011 Capgemini. All Rights Reserved

UNIT TESTING SMART USE CASES Automated

regression testing

on smart use cases

Page 31: An introduction to smart use cases

www.accelerateddeliveryplatform.com

WWW.SMARTUSECASE.COM

Page 32: An introduction to smart use cases

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

Page 33: An introduction to smart use cases

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

Page 34: An introduction to smart use cases

www.smartusecase.com | www.accelerateddeliveryplatform.com

REFERENCES AND QUESTIONS