Estimation and planning with smart use cases
-
Upload
robert-de-wolff -
Category
Technology
-
view
5.578 -
download
2
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
QuestionsQuestions