estimating with use cases extracts from the lamri use case survival guide™ mark aked managing...

68
Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit www.lamri.com or email [email protected] Copyright 2003

Upload: penelope-brumit

Post on 15-Jan-2016

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Estimating with Use CasesExtracts from the Lamri Use Case Survival Guide™

Mark Aked

Managing Consultant

For more information visit www.lamri.com or email [email protected]

Copyright 2003

Page 2: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Agenda

Why Estimates are not Accurate

What Use Cases bring to Estimating

What a Difference a Phase makes!

Estimating MethodsUse Case Points – a worked exampleHow Use Cases can be mapped to function points

Summary

Questions

Page 3: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

The Typical Estimating Process

Architecture

ScheduleNeeds

Budget

Page 4: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Why Estimates are not Accurate

Page 5: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Why Estimates are not Accurate

Page 6: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Why Estimates are not Accurate

Page 7: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Why Estimates are not Accurate

Page 8: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Why Estimates are not Accurate

Technical and Process Issues are uncovered and the uncertainty increases

The uncertainty blip

Page 9: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Agenda

Why Estimates are not Accurate

What Use Cases bring to Estimating

What a Difference a Phase makes!

Estimating MethodsUse Case Points – a worked exampleHow Use Cases can be mapped to function points

Summary

Questions

Page 10: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Do Use Cases Improve Estimates?

Use Cases provide a mechanism for articulating the product scope from the user’s point of view

Size and Complexity can be attributed to each Use Case, but are really based upon the artefacts derived from Use Cases

Page 11: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Product Complexity and Size

Product complexity is driven by architecture

Architecture is represented in many models!

Product Size is measured through artefacts derived from a Use Case

Page 12: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Architecture Exposes Complexity

Page 13: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Do Use Cases Improve Estimates?

An approximate answer to the right question is worth a good deal more than

the exact answer to an approximate problem.John Tukey

“”

Use Cases help us ensure the right question is being answered and provide the basis

for the approximate answer.

Page 14: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

The Waterfall Process Prevents Accurate Estimates

The waterfall process leaves technical risks unexposed for too long

Technical risks may be considered but are not actively mitigated by proving (i.e. actually building and integrating software)

Page 15: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

The Waterfall Process Prevents Accurate Estimates

When technical risks become issues the cost and schedule have to be extended invalidating the budget forecast

Adding Use Cases to a waterfall process improves the articulation and management of scope but the estimate will still hit the ‘uncertainty blip’ too late

Page 16: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Agenda

Why Estimates are not Accurate

What Use Cases bring to Estimating

What a Difference a Phase makes!

Estimating MethodsUse Case Points – a worked exampleHow Use Cases can be mapped to function points

Summary

Questions

Page 17: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Remember this?

Page 18: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

What a Difference A Phase Makes!

Page 19: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

What a Difference A Phase Makes!

Page 20: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

What a Difference A Phase Makes!

Page 21: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

What a Difference A Phase Makes!

Page 22: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

What a Difference A Phase Makes!

Page 23: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

What a Difference A Phase Makes!

Page 24: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

What a Difference A Phase Makes!

Page 25: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Your SDLC Constrains Your Ability to Estimate

Inserting a technical risk phase into your software development lifecycle (SDLC) will have a significant contribution to your estimating accuracy

Pulls the uncertainty blip forward

Encourages you to do the hard stuff first

Enables you to assess whether you can actually deliver

Provides real metrics to improve the estimate

Enables you to carry out an Engineering Forecast

Page 26: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Agenda

Why Estimates are not Accurate

What Use Cases bring to Estimating

What a Difference a Phase makes!

Estimating MethodsUse Case Points – a worked exampleHow Use Cases can be mapped to function points

Summary

Questions

Page 27: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Estimating Methods We Can Use

Analogy - Compare the proposed project to previously completed similar projects where project development information is known.

Bottom-up - Identify and estimating each individual component separately, then combining the results to produce an estimate of the entire project.

Top-down - Project is partitioned into lower-level components and life cycle phases beginning at the highest level.

Expert Judgement - Human ‘experts’ consulted to provide an estimate based upon their experience and understanding of a proposed project.

Algorithmic - Use of equations from research and historical data to perform software estimates.

Page 28: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Which Methods Do We Apply?

We tend to use Expert Judgement

We should use a blend of methods at the appropriate time

The method that is least used or avoided (but craved for) is the algorithmic method

Page 29: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

The Recommended Approach

E = Expertise

Page 30: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

The Recommended Approach

E = Expertise A = Algorithm

Page 31: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

The Recommended Approach

E = Expertise A = Algorithm

Page 32: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

The Recommended Approach

Algorithms provide the repeatable basis that supplement the Risk Focused approach

E = Expertise A = Algorithm

Page 33: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Using Algorithms with Use Cases

A worked example of Use Case Points

How use cases can be mapped to function points

A few points about algorithmsAll based upon knowledge of the scope

Require a feedback mechanism for tuning

Differentiator is the currency they use for scope / risks

Page 34: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Use Case PointsDeveloped by Gustav Karner of Objectory in 1993

Derived from Function Points

Uses weighting on Actors and Use Cases to assess scope

Uses Environmental and Technology factors to assess Risk

Applicable to small team, < 5 month development

Quick and dirty but can be accurate

Page 35: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Use Case Points Process

Page 36: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Weight Actors (AW)

Page 37: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Weight Actors (AW)

Each Actor (interface) is

weighted based on Actor Type

Actor Weighting (AW) = ∑Actor Weights

Page 38: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Weight Use Cases (UCW)

Page 39: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Weight Use Cases (UCW)

Use Case Weighting Factor is

based on the Number of Use

Case Flows

Use Case Weighting (UCW) = ∑Use Case Weights

Page 40: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Apply Technical Factors (TCF)The Technical Complexity Factor (TCF) is

derived by assigning a value to each technical factor on a scale of 0 to 5. 0 = Factor is

irrelevant for this project5 = Factor is essential.

Total Weighted Factor = ∑(Extended Value)

Extended Value =

Assigned Value x Weight

TCF = 0.6+(0.01*Total Weighted Value)

Page 41: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Apply Environmental Factors (ECF)The Environmental Factors (EF) considers the experience level of the people on the project derived from rating each factor from 0 to 5. 0

= factor is irrelevant for this project 5 = factor is essential for this project

Total Weighted Factor = ∑(Extended Value)

Extended Value =

Assigned Value x Weight

EF = 1.4+(-0.03 x Total Weighted Value)

Page 42: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Apply Environmental Factors (ECF)

How many > 3?

How many < 3?

Person Hours Factor (PHF)If total <= 2, PHF = 20

If total = 3 or 4, PHF = 28 hours.Above this…big risk!!!

Page 43: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Apply Environmental Factors (ECF)

PHF = 4, so 28 Person Hours

How many > 3?

How many < 3?

Person Hours Factor (PHF)If total <= 2, PHF = 20

If total = 3 or 4, PHF = 28 hours.Above this…big risk!!!

Page 44: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Calculate Effort and Schedule

Use Case Points = (AW + UCW) x TCF x EF

Use Case Points = (8 + 35) x 0.93 x 0.905 = 36.19

Page 45: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Analysis of Use Case Points

Take Use Cases as the natural currency

Provides an effort estimate

Additional work required on the resource and SDLC process profile

Assume all team have same competence

Page 46: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Analysis of Use Case Points

Don’t really get ‘inside’ the Use Case to incorporate other scope elements

Little scope for tuning the results of what we know more

Not a widely used metric for size

Page 47: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Function Points

Provides a unit of software size calculated from functional requirements.

Are independent of technology or method.

Developed for business systems, not scientific or real-time based systems

2 flavoursFunction Points – US developed

MK II Function Points – UK developed

Page 48: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Function Point Analysis

Page 49: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Function Point Analysis

Page 50: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Function Point Analysis

Number of Input

Attributes

Number of Entities

Referenced

Number of Output Attributes

Page 51: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Function Point Analysis

UFP = (0.58*Number of Input Attributes) + (1.66*Number of Entities Referenced) + (0.26*Number of Output Attributes)

Number of Input

Attributes

Number of Entities

Referenced

Number of Output Attributes

Page 52: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Function Point Analysis

UFP = (0.58*Number of Input Attributes) + (1.66*Number of Entities Referenced) + (0.26*Number of Output Attributes)

Number of Input

Attributes

Number of Entities

Referenced

Number of Output Attributes

Page 53: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Use Cases and Function Points

Page 54: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Use Cases and Function Points

A Use Case flow contains one or more Functional

Transactions

Page 55: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Use Cases and Function Points

Logical Transactions found by studying the Use

Case Flow

A Use Case flow contains one or more Logical

Transactions

Page 56: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Use Case and Function Point Process

Page 57: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Use Case and Function Point Process

Page 58: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Use Case and Function Point Process

Page 59: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Use Case and Function Point Process

Page 60: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Use Case and Function Point Process

Page 61: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Function Point Guidelines

CCTA Guidelines for Function Point Estimation

Page 62: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Use Case and Function Point Process

UFP = (0.58*Number of Input Attributes) + (1.66*Number of Entities Referenced)+ (0.26*Number of Output Attributes)

UFPSystem = ∑(UFP1 + UFP2 + … + UFPn)

Page 63: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Use Case and Function Point Process

System Characteristics

Data CommunicationsDistributed Data ProcessingPerformanceHeavily Use ConfigurationTransaction RateOn-line Data EntryEnd-User EfficiencyOn-line UpdateComplex ProcessingRe-useabilityEase of InstallationEase of OperationMultiple SitesFacilitate Change

Page 64: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Analysis of Function Points

Take Logical Transactions the natural currency

Mapping can be made to Use Cases

Can be used as the input into various algortihmic methods (e.g. COCOMOII)

Widely used

Page 65: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Analysis of Function Points

Only applicable to business systems

Require good understanding of counting rules and so trained counters

Page 66: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Summary

Use Cases provide a close approximation of project scope that provides an estimate that is extremely useful for high-level project planning.

We need a process that respects technical and project risk (capability) so that it naturally becomes part of the planning and estimation process.

Page 67: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Summary

Remember the Cone of UncertaintyAdding a phase that addresses technical risk will have a significant impact upon the confidence of your estimate

Use a blend of estimating methods but include an algorithmic approach

Page 68: Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit  or email

Copyright 2003

Summary

All algorithmic approaches are all based upon knowledge of the scope Garbage IN Garbage OUT

Require a feedback mechanism for tuning Need to be applied at the organisation level in order to gain comparison and past project data

Differentiator is The currency they use for scope / risks