Estimation and planning with smart use cases

43
Robert de Wolff Capgemini Estimation and planning Estimation and planning with smart use cases with smart use cases

description

 

Transcript of Estimation and planning with smart use cases

Page 1: Estimation and planning with smart use cases

Robert de WolffCapgemini

Estimation and planningEstimation and planningwith smart use caseswith smart use cases

Page 2: Estimation and planning with smart use cases

2Estimation and planning with smart Use cases | 28 mei 2008© Copyright Capgemini 2008 All Rights Reserved

Robert de WolffRobert de Wolff

.Net software developer Capgemini

Development ASP.Net, C#, Sharepoint, SQL BI, WCF

Software Architect / Dev lead

Accelerated Delivery Platform

Member ADP Core team

Development ADF.Net Framework, MDA Generator

Teacher in Agile development, Smart use cases and .Net

Page 3: Estimation and planning with smart use cases

3Estimation and planning with smart Use cases | 28 mei 2008© Copyright Capgemini 2008 All Rights Reserved

AgendaAgenda

Introducing smart use cases

Estimating with smart use cases

Establishing complexity

Determining velocity

Smart use case stereotypes

Planning with smart use cases

Agile software development

Tools for agile estimation & measurement

Planning agile projects

Page 4: Estimation and planning with smart use cases

Introducing smart use casesIntroducing smart use cases

Page 5: Estimation and planning with smart use cases

5Estimation and planning with smart Use cases | 28 mei 2008© Copyright Capgemini 2008 All Rights Reserved

Different levels of use casesDifferent levels of use cases MergeMergecompaniescompanies

MergeMergecompaniescompanies

MergeMergemortgage systemsmortgage systems

MergeMergemortgage systemsmortgage systems

SelectSelectproductproductSelectSelect

productproduct

InsertInsertorderlineorderline

InsertInsertorderlineorderline

Place Place orderorderPlace Place orderorder

Page 6: Estimation and planning with smart use cases

6Estimation and planning with smart Use cases | 28 mei 2008© Copyright Capgemini 2008 All Rights Reserved

Different levels of use casesDifferent levels of use cases MergeMergecompaniescompanies

MergeMergecompaniescompanies

MergeMergemortgage systemsmortgage systems

MergeMergemortgage systemsmortgage systems

SelectSelectproductproductSelectSelect

productproduct

InsertInsertorderlineorderline

InsertInsertorderlineorderline

Place Place orderorderPlace Place orderorder

Page 7: Estimation and planning with smart use cases

7Estimation and planning with smart Use cases | 28 mei 2008© Copyright Capgemini 2008 All Rights Reserved

Introducing smart use casesIntroducing smart use cases

Why smart use cases? Modeled early in projects

Low effort

Visual representation

Single level of complexity

Similar granularity

Good unit of work in iterative projects

Can be based on most functional requirements specifications, business processes or existing applications

Technology independent

Reproducible

Repeatable

Page 8: Estimation and planning with smart use cases

8Estimation and planning with smart Use cases | 28 mei 2008© Copyright Capgemini 2008 All Rights Reserved

Introducing smart use casesIntroducing smart use cases

Page 9: Estimation and planning with smart use cases

Estimating with smart use casesEstimating with smart use cases

Page 10: Estimation and planning with smart use cases

10Estimation and planning with smart Use cases | 28 mei 2008© Copyright Capgemini 2008 All Rights Reserved

Estimating with smart use casesEstimating with smart use cases

Software estimation Estimate the total complexity (C) Determine project velocity (V) Calculate size (C x V) and costs Note: this is a non-linear equation Note: don’t forget additional activities

Establish complexity Use abstract weights to express complexity Easier to compare Use stereotypes as guiding

Establish velocity Industry data from other organizations for

similar type of software Historical data from other projects in your

organization Project data from the project at hand

Page 11: Estimation and planning with smart use cases

Establishing complexityEstablishing complexity

Page 12: Estimation and planning with smart use cases

12Estimation and planning with smart Use cases | 28 mei 2008© Copyright Capgemini 2008 All Rights Reserved

Abstract weight of smart use casesAbstract weight of smart use cases

1. Piece of cake Simple selection, simple maintenance

2. Moderate Normal selection

3. Average Normal maintenance, normal search

4. Hard Reporting, one-many

5. Very difficult Graphs, extensive reporting, interfacing

8. Extreme, but known Complex interfacing

10. Extreme and unknown Distributed interfacing, calculations

Page 13: Estimation and planning with smart use cases

13Estimation and planning with smart Use cases | 28 mei 2008© Copyright Capgemini 2008 All Rights Reserved

Defining the weight of smart use casesDefining the weight of smart use cases

44

22

33

88

8844

Page 14: Estimation and planning with smart use cases

Determining velocityDetermining velocity

Page 15: Estimation and planning with smart use cases

15Estimation and planning with smart Use cases | 28 mei 2008© Copyright Capgemini 2008 All Rights Reserved

Determining velocityDetermining velocity

How determine velocity on your project? Calibrate as soon as possible and often Preferably use project data Possibly use historical data Otherwise use industry data

What to use to determine velocity? Industry data from other organizations for

similar type of software Historical data from other projects in your

organization Project data from the project at hand Otherwise validate with expert estimations

Page 16: Estimation and planning with smart use cases

Smart use case stereotypesSmart use case stereotypes

Page 17: Estimation and planning with smart use cases

17Estimation and planning with smart Use cases | 28 mei 2008© Copyright Capgemini 2008 All Rights Reserved

Smart use case stereotypesSmart use case stereotypes

Identify reusable types of smart use cases Project specific Regular over projects

Guides estimation For determing complexity Evaluate completeness with stereotype patterns

Also used for generation Sourcecode Documents

Groups of stereotypes User interface Reporting Services Handling files Business Intelligence

Page 18: Estimation and planning with smart use cases

18Estimation and planning with smart Use cases | 28 mei 2008© Copyright Capgemini 2008 All Rights Reserved

Stereotypes examples user interfaceStereotypes examples user interface

3 – Manage Manage a single instance of a business entity Additional functionality, such a business rules,

comparisons, authorization

4 – Master Detail Manage a single instance of a business entity Manage a list of instance from an associated

(owned) business entity

2 – Select Select a single instance from a list Additional functionality, such as other

properties, paging Used for non-complex reference data

3 – Search Select a single instance from a list Search arguments can be used to filter the list

Page 19: Estimation and planning with smart use cases

19Estimation and planning with smart Use cases | 28 mei 2008© Copyright Capgemini 2008 All Rights Reserved

Stereotypes examples reportingStereotypes examples reporting

5 – Extended Report Present a complex report Over several instances of business entities Complex functionality, for instance totals and

calculations

8 – Graph Present a report Over one or more instances of business entities Contain one or more graphs over instances

Page 20: Estimation and planning with smart use cases

20Estimation and planning with smart Use cases | 28 mei 2008© Copyright Capgemini 2008 All Rights Reserved

Stereotypes examples otherStereotypes examples other

10 – System Service Interact with another system, using a complex

unknown interface This type of use case is often split

8 - Calculation Performs complex or time-consuming

calculations, such as interest calculations or complex comparisons

Possibly split into sub-calculations

Page 21: Estimation and planning with smart use cases

21Estimation and planning with smart Use cases | 28 mei 2008© Copyright Capgemini 2008 All Rights Reserved

Stereotypes exampes Business IntelligenceStereotypes exampes Business Intelligence

Extract, Transform and Load Collect (5 - Very difficult)

Collects data from a source, perform basic checks and prepares the source for staging in.

Integrate (10 - Extreme and unknown)Integrates data from different sources, perform basic checks and prepares the data for the following layer.

Aggregate (3 - Average)Aggregates and denormalizes data and performs basic checks to prepare the data for general staging out.

Calculate (8 - Extreme, but known)Calculates and creates new information based on different rules, applies filters and performs basic checks to prepare the data for the different dependent data marts.

Page 22: Estimation and planning with smart use cases

22Estimation and planning with smart Use cases | 28 mei 2008© Copyright Capgemini 2008 All Rights Reserved

And … don’t forgetAnd … don’t forget

Main The starting page of any application

Login and logout The inevitable smart use cases to login and

logout

Roles and Users Maintenance of roles, users and permissions Applicable to almost any project

References Maintenance of reference data Countries Regions Contract types

Page 23: Estimation and planning with smart use cases

Planning with smart use casesPlanning with smart use cases

Page 24: Estimation and planning with smart use cases

24Estimation and planning with smart Use cases | 28 mei 2008© Copyright Capgemini 2008 All Rights Reserved

Agile and iterative software developmentAgile and iterative software development

Apply short iterations Fixed date, fixed price Two, three or four week iterations Allows maximized feedback Allows changes, even late in the project

Logical and small unit of work User stories in extreme programming Features in FDD Back order list in Scrum Smart use cases in Smart

Page 25: Estimation and planning with smart use cases

25Estimation and planning with smart Use cases | 28 mei 2008© Copyright Capgemini 2008 All Rights Reserved

Estimation PokerEstimation Poker

Page 26: Estimation and planning with smart use cases

Tools forTools foragile estimation & measurementagile estimation & measurement

Page 27: Estimation and planning with smart use cases

27Estimation and planning with smart Use cases | 28 mei 2008© Copyright Capgemini 2008 All Rights Reserved

Tools for agile estimation & measurementTools for agile estimation & measurement

Tools for agile estimation & measurement

Burn down charts

Agile project dashboards

Why do projects need such tools? Continuous overview of project for customer and

project team

Monitor progress

Gather metrics

Determine velocity

What is a burn down chart?

Shows project progress and time-to-complete

Extrapolate project end

Project- , Iteration burndown (and maybe per use case)

What is a project dashboard?

Visualizes scope and current status of project

Page 28: Estimation and planning with smart use cases

28Estimation and planning with smart Use cases | 28 mei 2008© Copyright Capgemini 2008 All Rights Reserved

Burn down chartBurn down chart

Projected Projected end dateend dateProjected Projected end dateend date

Page 29: Estimation and planning with smart use cases

29Estimation and planning with smart Use cases | 28 mei 2008© Copyright Capgemini 2008 All Rights Reserved

Agile dashboardAgile dashboard

Agile dashboard

Easy-to-use project dashboard

Visualizes progress in smart use-cases

Frequently used stages include New, In Iteration, Working, Testing, Rework and Accepted (and Dropped)

Why does the smart dashboard add value to projects?

Easy-to-use

Flexible

Easy-to-understand

No overhead

Page 30: Estimation and planning with smart use cases

30Estimation and planning with smart Use cases | 28 mei 2008© Copyright Capgemini 2008 All Rights Reserved

Page 31: Estimation and planning with smart use cases

A project simulationPlanning agile projectsPlanning agile projects

Page 32: Estimation and planning with smart use cases

32Estimation and planning with smart Use cases | 28 mei 2008© Copyright Capgemini 2008 All Rights Reserved

Project StartUse historical data to establish

velocity12 smart use case points per

iterationFirst estimate: 4 iterations required

Page 33: Estimation and planning with smart use cases

33Estimation and planning with smart Use cases | 28 mei 2008© Copyright Capgemini 2008 All Rights Reserved

Start of first iterationCustomer picks use casesIn this case, just too much

Team is optimistic

Page 34: Estimation and planning with smart use cases

34Estimation and planning with smart Use cases | 28 mei 2008© Copyright Capgemini 2008 All Rights Reserved

End of first iterationEstablish actual velocity13 smart use case points

Not bad!

Page 35: Estimation and planning with smart use cases

35Estimation and planning with smart Use cases | 28 mei 2008© Copyright Capgemini 2008 All Rights Reserved

Start of second iterationCustomer picks 13 use case pointsAlthough not required, this includes

the unfinished use case from the first iteration

Page 36: Estimation and planning with smart use cases

36Estimation and planning with smart Use cases | 28 mei 2008© Copyright Capgemini 2008 All Rights Reserved

New use cases!Somewhere along the second

iteration new use cases are discovered

Added to the New categoryDon’t change scope during

iteration!

Page 37: Estimation and planning with smart use cases

37Estimation and planning with smart Use cases | 28 mei 2008© Copyright Capgemini 2008 All Rights Reserved

End of second iterationCalibrate project velocity at 11.5Re-estimate project at 55 points

Project will take 5 iterations,but only 4 are and remain planned!

Page 38: Estimation and planning with smart use cases

38Estimation and planning with smart Use cases | 28 mei 2008© Copyright Capgemini 2008 All Rights Reserved

Start of third iterationActual velocity appears 11.5

Customer gets to pick 11 smart use case points, including new use

cases

Page 39: Estimation and planning with smart use cases

39Estimation and planning with smart Use cases | 28 mei 2008© Copyright Capgemini 2008 All Rights Reserved

End of project after 4 iterationsAfter 4 iterations, 52 points were

realized.Project is delivered successfullyLast use case is not implemented

Page 40: Estimation and planning with smart use cases

Tips & Tricks

Estimation and planningEstimation and planningwith smart use caseswith smart use cases

Page 41: Estimation and planning with smart use cases

41Estimation and planning with smart Use cases | 28 mei 2008© Copyright Capgemini 2008 All Rights Reserved

Tips & TricksTips & Tricks

Estimation

Create an estimation as a collaborative experience

Re-estimate regularly

Eliminate use cases with complexity 10

Measurement

Immediately start with capturing measurements. This is not only a project activity.

Monitoring progress is for the whole team

Planning

Define clear use case lifecycle

Page 42: Estimation and planning with smart use cases

42Estimation and planning with smart Use cases | 28 mei 2008© Copyright Capgemini 2008 All Rights Reserved

AgendaAgenda

Introducing smart use cases

Estimating with smart use cases

Establishing complexity

Determining velocity

Smart use case stereotypes

Planning with smart use cases

Agile software development

Tools for agile estimation & measurement

Planning agile projects

Page 43: Estimation and planning with smart use cases

[email protected]

QuestionsQuestions