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.

Slides:



Advertisements
Similar presentations
FPA – IFPUG CPM 4.1 Rules.
Advertisements

Chpter#5 -part#1 Project Scope and Human Resource Planning
Lecture # 2 : Process Models
Software Process Models
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Metrics. A Good Manager Measures measurement What do we use as a basis? size? size? function? function? project metrics process metrics process product.
Technical Communication Anupama Gummaraju - as a service in the IT consulting industry.
Regional Portfolio Model Redevelopment Presentation to System Analysis Advisory Committee August 23, 2013.
The Comparison of the Software Cost Estimating Methods
ICS Management Poor management is the downfall of many software projects Software project management is different from other engineering management.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Software.
Software Effort Estimation based on Use Case Points Chandrika Seenappa 30 th March 2015 Professor: Hossein Saiedian.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Software Cost Estimation.
Software project management (intro)
SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION © University of LiverpoolCOMP 319slide 1.
Planning. SDLC Planning Analysis Design Implementation.
Software Cost Estimation Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn.
Cost Management Week 6-7 Learning Objectives
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
Information System Economics Software Project Cost Estimation.
Copyright © The David Consulting Group, Inc. 1 UNDERSTANDING and EFFECTIVELY USING FUNCTIONAL MEASUREMENT Presented By The David Consulting Group.
© The McGraw-Hill Companies, Software Project Management 4th Edition Software effort estimation Chapter 5.
Chapter 2 The process Process, Methods, and Tools
Cmpe 589 Spring Software Quality Metrics Product  product attributes –Size, complexity, design features, performance, quality level Process  Used.
COCOMO Models Ognian Kabranov SEG3300 A&B W2004 R.L. Probert.
Testing Challenges in an Agile Environment Biraj Nakarja Sogeti UK 28 th October 2009.
Estimation Why estimate? What to estimate? When to estimate?
Software Estimation and Function Point Analysis Presented by Craig Myers MBA 731 November 12, 2007.
Chapter 6 : Software Metrics
Chapter 6 The Work Breakdown Structure and Project Estimation Copyright 2012 John Wiley & Sons, Inc. 6-1.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Chapter 23 Software Cost Estimation.
1 UseCase-based effort estimation of software projects TDT 4290 Customer-driven project IDI, NTNU, 14. Sept Bente Anda, Simula Research Lab., Oslo,
Software Estimation How hard can it be? Peter R Hill.
Software cost estimation Predicting the resources required for a software development process 1.
9/17/2002 COSYSMO Usage Experience Panel: What is Happening at Lockheed Martin Garry Roedler, Lockheed Martin Engineering Process Improvement Center
1 Estimation Function Point Analysis December 5, 2006.
Lecture 4 Software Metrics
Software complexity estimation by Adam Bondarowicz by Adam Bondarowicz.
Quality Software Project Management Software Size and Reuse Estimating.
Planning with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit or .
Function Point Analysis. Function Points Analysis (FPA) What is Function Point Analysis (FPA)? Function points are a standard unit of measure that represent.
SEG3300 A&B W2004R.L. Probert1 COCOMO Models Ognian Kabranov.
1 Chapter 3 1.Quality Management, 2.Software Cost Estimation 3.Process Improvement.
Chapter 3: Software Project Management Metrics
BSBPMG504A Manage Project Costs 7.1 Estimate Costs Adapted from PMBOK 4 th Edition InitiationPlanning ExecutionClose Monitor Control The process of developing.
BSBPMG503A Manage Project Time 6.4 Estimate Activity Duration The process of approximating the number of work periods needed to complete individual activities.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
SOFTWARE PROCESS AND PROJECT METRICS. Topic Covered  Metrics in the process and project domains  Process, project and measurement  Process Metrics.
Software cost estimation. Fundamental estimation questions How much effort is required to complete an activity? How much calendar time is needed to complete.
Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 Guide to Computer Forensics and Investigations, 2e CC20O7N Software.
Estimating “Size” of Software There are many ways to estimate the volume or size of software. ( understanding requirements is key to this activity ) –We.
Effort Estimation In WBS,one can estimate effort (micro-level) but needed to know: –Size of the deliverable –Productivity of resource in producing that.
FUNCTION POINT ANALYSIS & ESTIMATION
COMPGZ07 Project Management CMMI Project Planning Lecture 5b Graham Collins, UCL.
Copyright 2015 John Wiley & Sons, Inc. Project Planning Part II.
Information Technology Project Management, Seventh Edition.
Estimation Questions How do you estimate? What are you going to estimate? Where do you start?
1 Team Skill 4 Managing the scope Noureddine Abbadeni Al-Ain University of Science and Technology College of Engineering and Information Technology Based.
Alternative Software Size Measures for Cost Estimation
The Work Breakdown Structure and Project Estimation
RET Rules One of the following rules applies when counting RETs:
Software Life Cycle Models
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
Software Project Sizing and Cost Estimation
Mk II Function Point Analysis
Software Metrics “How do we measure the software?”
More on Estimation In general, effort estimation is based on several parameters and the model ( E= a + b*S**c ): Personnel Environment Quality Size or.
COCOMO Models.
Software metrics.
Presentation transcript:

Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit or Copyright 2003

Agenda Why Estimates are not Accurate What Use Cases bring to Estimating What a Difference a Phase makes! Estimating Methods Use Case Points – a worked example How Use Cases can be mapped to function points Summary Questions

Copyright 2003 The Typical Estimating Process Architecture Schedule Needs Budget

Copyright 2003 Why Estimates are not Accurate

Copyright 2003 Why Estimates are not Accurate

Copyright 2003 Why Estimates are not Accurate

Copyright 2003 Why Estimates are not Accurate

Copyright 2003 Why Estimates are not Accurate Technical and Process Issues are uncovered and the uncertainty increases The uncertainty blip

Copyright 2003 Agenda Why Estimates are not Accurate What Use Cases bring to Estimating What a Difference a Phase makes! Estimating Methods Use Case Points – a worked example How Use Cases can be mapped to function points Summary Questions

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

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

Copyright 2003 Architecture Exposes Complexity

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.

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)

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

Copyright 2003 Agenda Why Estimates are not Accurate What Use Cases bring to Estimating What a Difference a Phase makes! Estimating Methods Use Case Points – a worked example How Use Cases can be mapped to function points Summary Questions

Copyright 2003 Remember this?

Copyright 2003 What a Difference A Phase Makes!

Copyright 2003 What a Difference A Phase Makes!

Copyright 2003 What a Difference A Phase Makes!

Copyright 2003 What a Difference A Phase Makes!

Copyright 2003 What a Difference A Phase Makes!

Copyright 2003 What a Difference A Phase Makes!

Copyright 2003 What a Difference A Phase Makes!

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

Copyright 2003 Agenda Why Estimates are not Accurate What Use Cases bring to Estimating What a Difference a Phase makes! Estimating Methods Use Case Points – a worked example How Use Cases can be mapped to function points Summary Questions

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.

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

Copyright 2003 The Recommended Approach E = Expertise

Copyright 2003 The Recommended Approach E = Expertise A = Algorithm

Copyright 2003 The Recommended Approach E = Expertise A = Algorithm

Copyright 2003 The Recommended Approach Algorithms provide the repeatable basis that supplement the Risk Focused approach E = Expertise A = Algorithm

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 algorithms All based upon knowledge of the scope Require a feedback mechanism for tuning Differentiator is the currency they use for scope / risks

Copyright 2003 Use Case Points Developed 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

Copyright 2003 Use Case Points Process

Copyright 2003 Weight Actors (AW)

Copyright 2003 Weight Actors (AW) Each Actor (interface) is weighted based on Actor Type Actor Weighting (AW) = ∑Actor Weights

Copyright 2003 Weight Use Cases (UCW)

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

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 project 5 = Factor is essential. Total Weighted Factor = ∑(Extended Value) Extended Value = Assigned Value x Weight TCF = 0.6+(0.01*Total Weighted Value)

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)

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!!!

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!!!

Copyright 2003 Calculate Effort and Schedule Use Case Points = (AW + UCW) x TCF x EF Use Case Points = (8 + 35) x 0.93 x = 36.19

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

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

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 flavours Function Points – US developed MK II Function Points – UK developed

Copyright 2003 Function Point Analysis

Copyright 2003 Function Point Analysis

Copyright 2003 Function Point Analysis Number of Input Attributes Number of Entities Referenced Number of Output Attributes

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

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

Copyright 2003 Use Cases and Function Points

Copyright 2003 Use Cases and Function Points A Use Case flow contains one or more Functional Transactions

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

Copyright 2003 Use Case and Function Point Process

Copyright 2003 Use Case and Function Point Process

Copyright 2003 Use Case and Function Point Process

Copyright 2003 Use Case and Function Point Process

Copyright 2003 Use Case and Function Point Process

Copyright 2003 Function Point Guidelines CCTA Guidelines for Function Point Estimation

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 = ∑(UFP 1 + UFP 2 + … + UFP n )

Copyright 2003 Use Case and Function Point Process System Characteristics Data Communications Distributed Data Processing Performance Heavily Use Configuration Transaction Rate On-line Data Entry End-User Efficiency On-line Update Complex Processing Re-useability Ease of Installation Ease of Operation Multiple Sites Facilitate Change

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

Copyright 2003 Analysis of Function Points Only applicable to business systems Require good understanding of counting rules and so trained counters

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.

Copyright 2003 Summary Remember the Cone of Uncertainty Adding 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

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