The Art and Science of Estimating Software Development Cost Glenn Briskin Partner, Sierra Systems Group A. Nicklas Malik Technical Architect Certified.

Slides:



Advertisements
Similar presentations
Test Automation Success: Choosing the Right People & Process
Advertisements

Planning Iterative Software Development Projects Raj Agrawal, PMP Unisys.
Early Effort Estimation of Business Data-processing Enhancements CS 689 November 30, 2000 By Kurt Detamore.
Software Cost Estimation Main issues:  What factors determine cost/effort?  How to relate effort to development time?
Software Effort Estimation based on Use Case Points Chandrika Seenappa 30 th March 2015 Professor: Hossein Saiedian.
Project Risks and Feasibility Assessment Advanced Systems Analysis and Design.
Software project management (intro)
1 PROJECT SIZING AND ESTIMATING - EFFECTIVELY USING FUNCTIONAL MEASUREMENT Southern California Software Process Improvement.
GPII-2A Planning a software project: Estimation & Measurement.
Software Project Planning CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 12, 2002.
IS 421 Information Systems Analysis James Nowotarski 4 November 2002.
Information Technology Project Management, Sixth Edition Note: See the text itself for full citations.
Information Technology Project Management
Cost Management Week 6-7 Learning Objectives
UMT and Microsoft Presenting Tips and Tricks Basics What’s new in Microsoft Project 2010 Brian Feder, MBA, PMP Senior Vice President UMT Consulting Group.
Corporate Efficiency Meeting Improving Your Business Processes Using SharePoint and Beyond.
Copyright © The David Consulting Group, Inc. 1 UNDERSTANDING and EFFECTIVELY USING FUNCTIONAL MEASUREMENT Presented By The David Consulting Group.
1.Database plan 2.Information systems plan 3.Technology plan 4.Business strategy plan 5.Enterprise analysis Which of the following serves as a road map.
© The McGraw-Hill Companies, Software Project Management 4th Edition Software effort estimation Chapter 5.
This document is proprietary to Project Consulting Group, Inc. and contains confidential information which is solely the property of Project Consulting.
What is Oracle Hyperion Planning  Centralized, web- based Budgeting and Planning application  Combines Operational and Financial measures to improve.
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.
1 © Copyright Q/P Management Group, Inc. All Rights Reserved. Software Estimating with Functional Metrics Scott Goldfarb Q/P Management Group,
Software Estimation How hard can it be? Peter R Hill.
UKSMA 2005 Lessons Learnt from introducing IT Measurement Peter Thomas –
Project estimation Biased advice on producing accurate project estimates and managing expectations with stakeholders. Morgan Strong.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
1 Estimation Function Point Analysis December 5, 2006.
Lecture 4 Software Metrics
Ch 4 - Learning Objectives Scope Management You should be able to: n Discuss the relationship between scope and project failure n Describe how strategic.
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M11 - Version 9.01 SMU CSE 7315 Planning and Managing a Software Project.
10/27/20151Ian Sommerville.  Fundamentals of software measurement, costing and pricing  Software productivity assessment  The principles of the COCOMO.
Cost Estimation. Problem Our ability to realistically plan and schedule projects depends on our ability to estimate project costs and development efforts.
Quality Software Project Management Software Size and Reuse Estimating.
Estimating Software Projects & Activity Scheduling in the Dynamic, Multi-Project Setting: Choosing Heuristics Through Deterministic Simulation.
Introduction to Software Project Estimation I (Condensed) Barry Schrag Software Engineering Consultant MCSD, MCAD, MCDBA Bellevue.
SOFTWARE METRICS. Software Process Revisited The Software Process has a common process framework containing: u framework activities - for all software.
Effort Estimation ( 估计 ) And Scheduling ( 时序安排 ) Presented by Basker George.
BSBPMG504A Manage Project Costs 7.1 Estimate Costs Adapted from PMBOK 4 th Edition InitiationPlanning ExecutionClose Monitor Control The process of developing.
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M16 - Version 8.01 SMU CSE 7315 Planning and Managing a Software Project.
Function Points Synthetic measure of program size used to estimate size early in the project Easier (than lines of code) to calculate from requirements.
CSC 480 Software Engineering Lecture 6 September 11, 2002.
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.
Ivar Jacobson, Grady Booch, and James Rumbaugh The Unified Software Development Process Addison Wesley, : James Rumbaugh's OOMD 1992: Ivar Jacobson's.
Advanced Software Engineering Lecture 4: Process & Project Metrics.
Chapter 7: Project Cost Management
Managing Challenging Projects Presented to the class of: Dr. Jane Mackay M.J. Neely School of Business.
Copyright © , Dennis J. Frailey, All Rights Reserved Day 2, Part 1, Page 1 1/11/2004 Day 2, Part 1 Estimating Software Size Section 2 Calculating.
FUNCTION POINT ANALYSIS & ESTIMATION
Cost Estimation Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman.
CSE SW Project Management / Module 11 - Overview of Size Estimating Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315M11 Slide.
By Manish Shrotriya CSE MS Software Estimation Effort Estimation: how much effort is required to complete an activity. (How to define efforts: Line.
Project Scope, Time and Cost IT Project Management PM Knowledge Areas:
Estimation Questions How do you estimate? What are you going to estimate? Where do you start?
THE FAMU-CIS ALUMNI SYSTEM
Project Cost Management
Alternative Software Size Measures for Cost Estimation
The Work Breakdown Structure and Project Estimation
The Work Breakdown Structure and Project Estimation
Constructive Cost Model
COCOMO Model Basic.
Chapter 5: Software effort estimation- part 2
Driving Data Quality Initiatives with Agile Analytics
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 Sizing and Costing
Presentation transcript:

The Art and Science of Estimating Software Development Cost Glenn Briskin Partner, Sierra Systems Group A. Nicklas Malik Technical Architect Certified Function Point Specialist

Agenda  Sierra Systems Intro  Estimating Software Development  Project Management Point of View –Key concepts for creating and managing estimates  Technical Architect Point of View –Estimating Size (using Function Points) –Estimating Cost (using Historical Data)

Sierra Systems Intro  A full service systems integration company  Emphasis on business solutions  Over 900 consultants, 300 in PNW –Vancouver and Victoria –Bellevue and Olympia  Olympia office since 2000 serving over 25 state agencies  EGovernment, Health, Justice, Enterprise Solutions  Strong methodology and technology expertise

Managing Estimates  What’s an estimate?  What goes into an estimate?  What happens once you make an estimate?  How can you make it work for you, not against you?

What’s an Estimate?  An estimate predicts what something will cost and how long it will take to deliver –Numbers –Confidence Level

What goes into an Estimate?  Your understanding about what you want  Your experience in doing that before  The more you know about each, the easier it will be to estimate

Understanding and Experience  Understanding –What problem will be solved? (Objectives) –What capabilities will solve it? (Functionality) –How will you do it? (Tasks) –What assumptions and constraints do you have?

Understanding and Experience  Experience –What has it taken for you or others to do this? –What historical information do you have? –What expert experience can you draw on? –What is your confidence level in the applicability of your information? –What do you know about your possible resources?

Estimating Process Functionality Tasks/Resources History Assumptions and Constraints Estimating Tools and Processes Estimates of Costs and Time Confidence Level

How much of this comprises your estimate? Functionality Tasks/Resources History Assumptions and Constraints Estimating Tools and Processes Estimates of Costs and Time All of it! Confidence Level

What Happens when you make an Estimate?  Set expectations –Cost, Time, Scope –People see what they are looking for  Create a baseline –Cost, Time, Scope –Assumptions, Constraints, Confidence

Making the Estimate Work for You  When any part of the estimate changes… –Functionality –Tasks –Assumptions/Constraints –Cost and Time Estimates –Confidence Level  Then the entire estimate has changed  Adjust expectations and show variance to the baseline  Negotiate changes to expectations

Estimating Models – A case for Function Points  ‘And then magic happens…’  Your inputs vary in quality and completeness  Characteristics of a useful estimating model –Consistently applied to the information available –Usable early with accuracy –Easily updateable – responsive to changes –Applicable to historical projects –Adjustable with experience Estimating Tools and Processes

Top down vs. Bottom Up Project charter Iteration Plan High Level Requirements Project Planning Detailed Project Plan Determine size Calc. Cost Estimate Historical data Determine tasks Estimate task durations Experience Assign resources Calc. Cost Estimate Top-down estimate Bottom-up estimate

Top-down Cost Estimation  First estimate the size. –Count function points. –Estimate total lines of code (KLOC)  Apply Measured Productivity –Hours / Function Point or Hours / KLOC –Calibrate using local history or industry averages  Cost = size * productivity

Ease into measurement  On a couple of projects, count the function points at the beginning, and at every major release.  At each point, take the effort expended and calculate productivity (hours per function point delivered).  Store for future use in estimating.

Other benefits of measurement  Measurement can lead to improving: –Cost performance –Methodology –Client Satisfaction –Credibility  The more we know, the better we can do. Function s Goal s Quality Tasks People Features Plan TimeScope

Any measurement should be:  Simple  Consistent  Not technology or platform dependent  Not company dependent  Useful at different points in software lifecycle

The generic application Application Store and Update data Push information inSimple lookup Produce report Pull information in

Relative Difficulty  Each function gets a number of “points” reflecting how “hard” the function is to write.  Each of these five functions can be complex, average, or simple.  To be consistent, there is a whole set of rules to decide what function to use, and what level of complexity to measure it as.

Complexity  Depending on requirements, some systems are harder to write… that needs to be taken into account.  Complexity factors are multiplied against the total of the function points… causes the final number to range from 65% to 135%

Demo: Counting Tool  Excel spreadsheet  Pages for types of “files” (ILF, EIF)  One page for all transaction types (EI, EO, EQ)  Summary and Productivity pages  Record of counter notes, constraints, use case notes, data dictionary, any other pertinent information

Estimating Cost  Start with a size measurement  Multiply by productivity –Dependent on platform, language, environment (IT shop vs. Outsource), project requirements (documentation, reviews, testing), etc.  Heavily dependent on historical performance

Demo: Productivity Calculations  Guidance on what industry or local averages are.  Room for applying variances to averages + justifications  Calculations by Rational Unified Process Workflow

Summary  Measure size using simple constructs, easy to understand  Multiply size by productivity  Requires measurement of past projects to calibrate productivity  As requirements improve, estimates improve

Software Estimation Resources  International Function Point User’s Group ( ) –Certification –Counting Practices Manual  “Software Assessments, Benchmarks and Best Practices” by Capers Jones  “Software Cost Estimation with COCOMO2” by Barry Boehm, et. al.

Where to Get More Information Glenn Briskin Partner, Sierra Systems Group A. Nicklas Malik Technical Architect Certified Function Point Specialist