Estimation and planning with smart use cases

Post on 28-Nov-2014

5.580 views 2 download

Tags:

description

 

Transcript of Estimation and planning with smart use cases

Robert de WolffCapgemini

Estimation and planningEstimation and planningwith smart use caseswith 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

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

Introducing smart use casesIntroducing 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

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

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

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

Introducing smart use casesIntroducing smart use cases

Estimating with smart use casesEstimating 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

Establishing complexityEstablishing complexity

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

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

Determining velocityDetermining velocity

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

Smart use case stereotypesSmart use case stereotypes

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

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

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

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

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.

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

Planning with smart use casesPlanning 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

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

Estimation PokerEstimation Poker

Tools forTools foragile estimation & measurementagile estimation & measurement

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

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

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

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

A project simulationPlanning agile projectsPlanning agile projects

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

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

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!

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

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!

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!

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

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

Tips & Tricks

Estimation and planningEstimation and planningwith smart use caseswith 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

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

wiki.trinidadplatform.orgRobert.de.Wolff@Capgemini.com

QuestionsQuestions