14
Tids- och kostnadsuppskattning av RUP Projekt: # 1 RAIN 2002 © 2001 IT-Arkitekterna & Kvadrat Tids- och kostnads- uppskattning av RUP Projekt Micael Erneborg [email protected] Patrik Jonsson [email protected] Tids- och kostnadsuppskattning av RUP Projekt: # 2 RAIN 2002 © 2001 IT-Arkitekterna & Kvadrat Content Context: RUP & Project Management Models Project Phases & Iteration Definitions What to Estimate Estimation Methods overview Practical examples Next step

Tids- och kostnadsuppskattning av RUP Projekt och... · Use Cases Realizations connect Subsystems Architecturally Significant(parts of) Packages have been Implemented UseCaseModel

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Tids- och kostnadsuppskattning av RUP Projekt och... · Use Cases Realizations connect Subsystems Architecturally Significant(parts of) Packages have been Implemented UseCaseModel

Tids- och kostnadsuppskattningav RUP Projekt: # 1RAIN 2002

© 2001 IT-Arkitekterna & Kvadrat

Tids- och kostnads-uppskattning av RUP Projekt

Micael [email protected]

Patrik [email protected]

Tids- och kostnadsuppskattningav RUP Projekt: # 2RAIN 2002

© 2001 IT-Arkitekterna & Kvadrat

Content

• Context: RUP & Project Management Models

• Project Phases & Iteration

• Definitions

• What to Estimate

• Estimation Methods overview

• Practical examples

• Next step

Page 2: Tids- och kostnadsuppskattning av RUP Projekt och... · Use Cases Realizations connect Subsystems Architecturally Significant(parts of) Packages have been Implemented UseCaseModel

Tids- och kostnadsuppskattningav RUP Projekt: # 3RAIN 2002

© 2001 IT-Arkitekterna & Kvadrat

Rational Unified Process (RUP)

Source: RUP2000, Rational Software

Tids- och kostnadsuppskattningav RUP Projekt: # 4RAIN 2002

© 2001 IT-Arkitekterna & Kvadrat

PROPS

• PROPS is a generic projectmodel, developed by EricssonProject Management Institute

PROPS consists of three parts:

• Blue U, project management

• Yellow U, developmentprocess

• Red tollgates, commercialdecision points

Page 3: Tids- och kostnadsuppskattning av RUP Projekt och... · Use Cases Realizations connect Subsystems Architecturally Significant(parts of) Packages have been Implemented UseCaseModel

Tids- och kostnadsuppskattningav RUP Projekt: # 5RAIN 2002

© 2001 IT-Arkitekterna & Kvadrat

Elaboration

Does not the Iterative Approach simplymean that we do not know what we are doing?

We iterate until we have learn more about:

• Requirements

• Our technical approach

• How skilled we are at developing softwareaccording to the process we follow

• Other risks

Calendar time

Lack of precisions in estimate of:• Time to market (TTM)• Cost

TG0 TG1

LifecycleObjectiveMilestone

TG2

LifecycleArchitecture

Milestone

Probability of aparticularTTM

That is the point!

Inception

Tids- och kostnadsuppskattningav RUP Projekt: # 6RAIN 2002

© 2001 IT-Arkitekterna & Kvadrat

Estimation

Estimate, Guess, Guestimate, …

People areOptimistic, Scared, Want to look good,Forget the history, Have selective memories, andThink in single point numbers

We do better if weGet a clear pictureUse Team and several experts,Use range estimates and statistics,Use a formal estimation method, andInsist on realistic estimates

We assume you’rein control of your requirements, andhave a sound Project Management process

Unit of estimation:• Sweden: man-hours• US: size

Page 4: Tids- och kostnadsuppskattning av RUP Projekt och... · Use Cases Realizations connect Subsystems Architecturally Significant(parts of) Packages have been Implemented UseCaseModel

Tids- och kostnadsuppskattningav RUP Projekt: # 7RAIN 2002

© 2001 IT-Arkitekterna & Kvadrat

What to estimate for?

Everything that moves ☺☺☺☺

• The complete system— Rough estimates

• Use Cases— A good foundation for estimation.

Important to include challengeswith the technology

• Use Case Realizations— We know more than the

requirements

• Subsystems— The chosen technology is

integrated in the sub-systems.

Application

Business specific

Middleware

System software

Tids- och kostnadsuppskattningav RUP Projekt: # 8RAIN 2002

© 2001 IT-Arkitekterna & Kvadrat

9292R728

28

F

332144913732ΣΣΣΣ

5123R5

331023UC3

40832UC1

3434R6

3737UC4

4545UC2

ΣΣΣΣEDCBAModule/Req

• Estimates done with a matrixcontaining modules (part of thearchitecture) and use cases

• Estimates in execution- Chief architect (1)- Module responsibles (2)- Estimates 100%-400% larger

• Positive- Project Managers can easily plan

which use cases to implement

• Negative- New method -> hard to determine if

the estimates are resonable

• No outcome yet

Real world case 1

Page 5: Tids- och kostnadsuppskattning av RUP Projekt och... · Use Cases Realizations connect Subsystems Architecturally Significant(parts of) Packages have been Implemented UseCaseModel

Tids- och kostnadsuppskattningav RUP Projekt: # 9RAIN 2002

© 2001 IT-Arkitekterna & Kvadrat

Use Cases Realizations connectSubsystems

Architecturally Significant(partsof) Packages have been

Implemented

Use Case Model

ArchitecturallySignificantUse Cases

Elaboration Construction

Application

Business specific

Middleware

System software

All Packages Implemented

Tids- och kostnadsuppskattningav RUP Projekt: # 10RAIN 2002

© 2001 IT-Arkitekterna & Kvadrat

Release 2

Estimate also to assess ROIEffort

Value

Requirement

Release 1

Page 6: Tids- och kostnadsuppskattning av RUP Projekt och... · Use Cases Realizations connect Subsystems Architecturally Significant(parts of) Packages have been Implemented UseCaseModel

Tids- och kostnadsuppskattningav RUP Projekt: # 11RAIN 2002

© 2001 IT-Arkitekterna & Kvadrat

Methods overview

• Expert Judgements

• Analogy

• Delphi

• Algorithmic ModelsCoCoMo, Function Points, Object Points, UC Points

• Lichtenberg

• Paired Comparison

• Critical Chain

Tids- och kostnadsuppskattningav RUP Projekt: # 12RAIN 2002

© 2001 IT-Arkitekterna & Kvadrat

Expert judgements

$123,450

Page 7: Tids- och kostnadsuppskattning av RUP Projekt och... · Use Cases Realizations connect Subsystems Architecturally Significant(parts of) Packages have been Implemented UseCaseModel

Tids- och kostnadsuppskattningav RUP Projekt: # 13RAIN 2002

© 2001 IT-Arkitekterna & Kvadrat

Analogy

- -

$100,000

$1,000,000

$100,000,000

Tids- och kostnadsuppskattningav RUP Projekt: # 14RAIN 2002

© 2001 IT-Arkitekterna & Kvadrat

Delphi

$123,450 $234,560

$345,670

Round Ave. Spread# 1 234,560 222,220# 2 … ...

Page 8: Tids- och kostnadsuppskattning av RUP Projekt och... · Use Cases Realizations connect Subsystems Architecturally Significant(parts of) Packages have been Implemented UseCaseModel

Tids- och kostnadsuppskattningav RUP Projekt: # 15RAIN 2002

© 2001 IT-Arkitekterna & Kvadrat

Algorithmic Models

• Cost in Effort (Person Months),Calendar Time, or Size (CoCoMo II)

• Function Points, Object Points, Use Case Points,Boehm, …

• Up to within 20% in 70% of the cases

PM = A x Size x Π EM + PMEAutoii=1

n

ScalingFactor

EffortMultiplier

Tids- och kostnadsuppskattningav RUP Projekt: # 16RAIN 2002

© 2001 IT-Arkitekterna & Kvadrat

”Lichtenberg-method”• Estimate with uncertainty :

— Min, max, most likely— Average =

(min+max+3*likely)/5— Standard deviation = (max-

min)/5

• Successive break-down— Break-down the activities with

the largest uncertainty— Estimate the parts and add up:

» Schedules» Costs» Standard deviations

• The Red/Green world— Ignore risks and crucial

uncertainties first, then— Add the corresponding activities

min

max

min

max

min

max

min

max

min

max

min

max+

+

Page 9: Tids- och kostnadsuppskattning av RUP Projekt och... · Use Cases Realizations connect Subsystems Architecturally Significant(parts of) Packages have been Implemented UseCaseModel

Tids- och kostnadsuppskattningav RUP Projekt: # 17RAIN 2002

© 2001 IT-Arkitekterna & Kvadrat

Paired Comparison• Compare pairwise all

”objects” that we estimate forXi and Xj – are they:

— Xi >> Xj

— Xi > Xj

— Xi = Xj

• This yields a relativecomparison of sizes

• Estimate the absolute valuefor a number of ”fix points”

• Calculate the total, here:+350/1,75+3*350+2*475+2*4*475= 6000h

4

1,25

1,75

300-650h

200-500h

Receive NewsAnalyses and similar

Cease being a Customer

Tids- och kostnadsuppskattningav RUP Projekt: # 18RAIN 2002

© 2001 IT-Arkitekterna & Kvadrat

Real world case 2• Administrative system with 110-120

use cases• Migrating legacy to modern

framework• Implemented 1 use case and

measured time for that• Arranged all use cases i 3 sets:

— Complicated— Medium—— SimpleSimple

• Compared to implemented use caseand developed estimates duringElaboration

• Adjusted new estimates to the factthat next use cases should be quickersince experience with newframework was building

• Presented estimates to management• Project was cancelled – should have

taken to much time and effort!

Present rates in real-time

Sell stockBuy stock

Receive news,analyzes and the like

Registrer information

Become customerCease being a customer

Start the system

300-650h

200-500h

Present rates in real-time

Sell stockBuy stock

Receive news,analyzes and the like

Registrer information

Become customerCease being a customer

Start the system

300-650h

200-500h

Complicated

Medium

Simple

Page 10: Tids- och kostnadsuppskattning av RUP Projekt och... · Use Cases Realizations connect Subsystems Architecturally Significant(parts of) Packages have been Implemented UseCaseModel

Tids- och kostnadsuppskattningav RUP Projekt: # 19RAIN 2002

© 2001 IT-Arkitekterna & Kvadrat

Critical Chain

A B C

A B C

A B Ct

PBt

PB

G H FB

D E F

CLCC

Tids- och kostnadsuppskattningav RUP Projekt: # 20RAIN 2002

© 2001 IT-Arkitekterna & Kvadrat

Critical Chain• Based on Critical Chain by Goldratt

• Theory of constrains

• Aggressive planning & Reduce Multitasking

• Critical Chain vs. Critical Line

• Buffer management— The Project Buffer protects the delivery date

— The Feeding Buffer protects the Critical Chain

— The Capacity Buffer protects the critical resources in a multi-projectenvironment

Page 11: Tids- och kostnadsuppskattning av RUP Projekt och... · Use Cases Realizations connect Subsystems Architecturally Significant(parts of) Packages have been Implemented UseCaseModel

Tids- och kostnadsuppskattningav RUP Projekt: # 21RAIN 2002

© 2001 IT-Arkitekterna & Kvadrat

Technique Advantage Disadvantage Analogy Experience Based Standard project?

Expert judgement

Fast, compensates for circumstances

Biases, incomplete recall of experiences

Delphi Formal, Can use a mix of methods

As good as the experts

AlgorithmicModels

Objective, Efficient, Calibrated

Subjective inputs, Inflexible, Must be calibrated

Critical Chain Reduced time schedule Extra pressure (?) Lichtenberg Top-down view,

Risk Focus Mentally demanding

Paired Comparison

Suggests high fidelity. Practical if comparisons can be reduced.

Cumbersome? Unproven in academia

Tids- och kostnadsuppskattningav RUP Projekt: # 22RAIN 2002

© 2001 IT-Arkitekterna & Kvadrat

Real world case 3• Estimated effort for each use case during Inception:

— Requirements— Design— Implementation— Test

• Allocated use cases to iterations• Experiences – Sufficiently good. Precision mostly OK, large

deviations (up to +100%) sometimes due to:— New architecture— Use cases with complex business rules— Most deviations struck execution of Elaboration phase – iteration 1

• Caution:Early estimates may turn out to be completely wrong ifelaboration fails to stabilize architecture

Inception Elaboration Construction Transition

TG1 TG2TG0 TG4

Page 12: Tids- och kostnadsuppskattning av RUP Projekt och... · Use Cases Realizations connect Subsystems Architecturally Significant(parts of) Packages have been Implemented UseCaseModel

Tids- och kostnadsuppskattningav RUP Projekt: # 23RAIN 2002

© 2001 IT-Arkitekterna & Kvadrat

A sketch of a practicalmethod for Inception

• Order use cases with pairedcomparison according to effort

• Detail a few use cases, andanalyze them in detail – estimatewith Lichtenberg

• Use paired comparison toestimate rest of use cases

• Estimate impact of mechanisms,risks and missing use cases withLichtenberg

• Make an iterative plan for usecase and mechanism realizing

• Make schedule based on plan• No commitment yet!

Sälj aktieKöp aktie

Ta emot nyheter,analyser och liknande

Registrera information

Bli kundUpphör att vara kund

Presentera kurser i realtidStarta systemet

4

1,25

1,75

300-650h

200-500h

Receive NewsAnalyses and similar

Cease being a Customer

300, 400, 650h

200, 300, 500

+

Missing use cases: + 10%Non-functional requirements: 690h

Mechanisms: 1550hTechnical risk impact: 1300h

Non-technical risk impact: 1200h

Tids- och kostnadsuppskattningav RUP Projekt: # 24RAIN 2002

© 2001 IT-Arkitekterna & Kvadrat

A sketch of a practicalmethod for Elaboration

• Learn from Inception timespent vs plan

• Improve estimates when thereare use case realizationsavailable

• Adjust to current knowledgeof risks

• Study trends in growth innumber of use cases

• Let the developers do theestimates!

• Manage the trend estimates

Sälj aktieKöp aktie

Ta emot nyheter,analyser och liknande

Registrera information

Bli kundUpphör att vara kund

Presentera kurser i realtidStarta systemet

4

1,25

1,75

300-650h

200-500h

Sell stocks

Present rates in real-time

390,500, 625h

275,330, 450h

Non-functional requirements: 470hMechanisms: 250h

Technical risk impact: 3500hNon-technical risk impact: 1000h

+

Page 13: Tids- och kostnadsuppskattning av RUP Projekt och... · Use Cases Realizations connect Subsystems Architecturally Significant(parts of) Packages have been Implemented UseCaseModel

Tids- och kostnadsuppskattningav RUP Projekt: # 25RAIN 2002

© 2001 IT-Arkitekterna & Kvadrat

When to use different techniques?

Inception Elaboration Construction Transition

TG1 TG2TG0

TG = Tollgate i PROPS

TG4

Systemanalogy

Use case based

Use case realization based

Subsystem based

LichtenbergPaired Comparison

Use Case Points

Function PointsCOCOMO 2

Basetechnique!

Tids- och kostnadsuppskattningav RUP Projekt: # 26RAIN 2002

© 2001 IT-Arkitekterna & Kvadrat

Manage the trends!

1

0,25

4

time

o

o

oo

oo

o oo o

Page 14: Tids- och kostnadsuppskattning av RUP Projekt och... · Use Cases Realizations connect Subsystems Architecturally Significant(parts of) Packages have been Implemented UseCaseModel

Tids- och kostnadsuppskattningav RUP Projekt: # 27RAIN 2002

© 2001 IT-Arkitekterna & Kvadrat

Next steps

• Start using one technique

• Use it from day one in yourproject

• Let the project members dothe estimation

• Collect experiences andimprove

• Call us if you need more

• Thanks for your time!

Tids- och kostnadsuppskattningav RUP Projekt: # 28RAIN 2002

© 2001 IT-Arkitekterna & Kvadrat

References• Walker Royce, Software Project Management - A Unified Framwork,

Addison Wesley Longman, Reading, Massachusetts, 1998, 406 pp. ISBN 0-201-30958-0

• Eduardo Miranda, Improving Subjective Estimates using Paired Comparison,IEEE Software, Jan/Feb 2001.

• Steen Lichtenberg, Projektplanlaeggning i en foranderlig verden, PolytekniskForlag, Lyngby, 1978

• Barry Boehm, et. al., Software Cost Estimation with COCOMO II, PrenticeHall PTR, 2000, ISBN: 0130266922

• Goldratt, Critical Chain