software estimating with functional metrics

27
© Copyright 2000-2001. Q/P Management Group, Inc. All Rights Reserved. Software Estimating with Functional Metrics Scott Goldfarb Q/P Management Group, Inc. 10 Bow Street Stoneham, MA 02180 Tel: (781) 438-2692 FAX: (781) 438-5549 Webpage: www.QPMG.com QP Management Group, Inc.

Upload: hija

Post on 08-Jan-2016

50 views

Category:

Documents


0 download

DESCRIPTION

Q. P. Management. Group, Inc. Software Estimating with Functional Metrics. Scott Goldfarb Q/P Management Group, Inc. 10 Bow Street Stoneham, MA 02180 Tel:(781) 438-2692 FAX: (781) 438-5549 Webpage: www.QPMG.com. Q. P. Management. Group, Inc. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Software Estimating with Functional Metrics

1© Copyright 2000-2001. Q/P Management Group, Inc.

All Rights Reserved.

Software Estimatingwith Functional Metrics

Scott GoldfarbQ/P Management Group, Inc.10 Bow StreetStoneham, MA 02180Tel: (781) 438-2692FAX: (781) 438-5549Webpage: www.QPMG.com

Q PManagementGroup, Inc.

Page 2: Software Estimating with Functional Metrics

2© Copyright 2000-2001. Q/P Management Group, Inc.

All Rights Reserved.

Software Estimatingwith Functional Metrics

The methodologies reflected in the enclosed material, including the benchmark comparisons, are confidential and proprietary information of Q/P Management Group, Inc. and are for the internal use of addressee only.

Q PManagementGroup, Inc.

Page 3: Software Estimating with Functional Metrics

3© Copyright 2000-2001. Q/P Management Group, Inc.

All Rights Reserved.

Objectives - Estimating with Functional Metrics

• Provide a top down estimating approach that can be used early in the life cycle

• Base the estimate on customer requirements and constraints

• Consider the technical environment, project characteristics and past performance

• Communicate accurate estimates that can be easily updated as the situation changes

Page 4: Software Estimating with Functional Metrics

4© Copyright 2000-2001. Q/P Management Group, Inc.

All Rights Reserved.

A Top Down Estimating Approach

• Top Down

• Determine detailed estimates from available totals

– Size functionality to be delivered

– Based on past performance and quantitative information

Functional Metrics

Estimating model,and repository of past

performance

Generated estimates

Page 5: Software Estimating with Functional Metrics

5© Copyright 2000-2001. Q/P Management Group, Inc.

All Rights Reserved.

Project Estimation Influences

Functional Size

Project Attributes

Business Pressure

Quality

Cost

Effort

Schedule

EstimatingProcess

Technical Characteristics

Page 6: Software Estimating with Functional Metrics

6© Copyright 2000-2001. Q/P Management Group, Inc.

All Rights Reserved.

Four Steps to Better Estimates

1. Function Point Analysis - gives the size of the project based on the user perspective of functional requirements.

2. Evaluation of Project Attributes - analyzes the factors, in addition to size, that impact the productivity of projects.

3. Establish Productivity Rating - analyzes size data and project attribute information in order to establish the appropriate productivity rate based on historical data.

4. Develop Estimate - develops and documents estimate of effort, cost and schedule based on the established productivity rate.

Page 7: Software Estimating with Functional Metrics

7© Copyright 2000-2001. Q/P Management Group, Inc.

All Rights Reserved.

The Estimating Process

Preparefor the

Estimate

FunctionPoint

Analysis

Evaluate Project

Attributes

EstablishProductivity

Rate

DevelopEstimate

Communicatethe

Estimate

Iterative Process

Data Warehouseof Estimates &

Actuals

Estimate

Step 1. Step 2.

Step 3.

Step 4.

Page 8: Software Estimating with Functional Metrics

8© Copyright 2000-2001. Q/P Management Group, Inc.

All Rights Reserved.

Step 1: Function Point Analysis - Quantify

Software Size

External Interface Files

InternalLogical

File

External Input

External Output

External Inquiry

Application Being Considered

Other Applications

(EO)

(EI)

• Functionality as viewed from the users’ perspective

Page 9: Software Estimating with Functional Metrics

9© Copyright 2000-2001. Q/P Management Group, Inc.

All Rights Reserved.

Lines of Code versus Function Points

Lines of Code

• Lines of code was the best core measure of the 70’s

• Most applications have operators, not users

• Coded lines of code

• Limited number of languages (COBOL, Assembler) within organization

• Mind set was “code driven”

Function Points

• Function Points is the best core measure of the 90’s and beyond

• User focus

• Paint an application (copy, click, drag, drop), some coding with heavy reuse

• Dozens of languages and technologies in most organizations

• Mind set is “functionality & value driven”

Page 10: Software Estimating with Functional Metrics

10© Copyright 2000-2001. Q/P Management Group, Inc.

All Rights Reserved.

A Function Point Count is Established Based on Functional Requirements

Function Types Example Count

Data Functions

• Internal Logical Files - Empl. Files (3) - 45 FPs- Trans. Files (3) - 30 FPs

• External Interface Files - Password Files - 5 FPs- HRM Data Base - 5 FPs

Transactional Functions

• External Inputs - Timesheet Trans. - 3 FPs- Deductions - 4 FPs

• External Outputs - P/R Report - 4 FPs- Checks - 7 FPs

• External Inquiry - N&A Inquiry - 3 FPs- Check Register - 6 FPs

TOTAL = 112 Function Points

Page 11: Software Estimating with Functional Metrics

11© Copyright 2000-2001. Q/P Management Group, Inc.

All Rights Reserved.

Step 2. Evaluation of Project Attributes

Technical Environment

• Platform - Mainframe, PC, C/S etc

• Software Use - Internal, Commercial, Government etc

• Development Method - Traditional, OOD, Web etc.

• Development Type - New Development, Enhancement

Project Characteristics

• Personnel and Management

• Process and Methods

• Technology and Tools

• Environment and Support

Page 12: Software Estimating with Functional Metrics

12© Copyright 2000-2001. Q/P Management Group, Inc.

All Rights Reserved.

• Productivity rates will vary by Technical Environment

– PC higher productivity vs. C/S lower productivity

– New development higher than enhancement

• Project Characteristics have a significant impact on productivity and quality

– Make-up of project team

– Adequacy of processes and tools

– Project constraints and requirements

• Assess project risk

• Continuous process improvement

– Identify new opportunities

– Measure the impact of new initiatives

Why Evaluate Project Attributes?

Page 13: Software Estimating with Functional Metrics

13© Copyright 2000-2001. Q/P Management Group, Inc.

All Rights Reserved.

Project Characteristics Impact

% Impact on ProjectProject Attributes Effort and Schedule

Personnel Management +/-100%

Process and Methods +/- 75%

Technology and Tools +/- 50%

Environment and Support +/- 25%

Page 14: Software Estimating with Functional Metrics

14© Copyright 2000-2001. Q/P Management Group, Inc.

All Rights Reserved.

Project Characteristics - Adjustment Factor Example

Score Weighted Project Score Influence

Personnel Management 1-Low 1.5I/S Personnel Knowledge and Experience 2 1.25 1.25User Personnel Knowledge and Experience 3-Avg. 1Personnel Management and Support 4 0.83

5-High 0.75

Process and Methods 1-Low 1.38 Development Methods and Techniques 2 1.19Project Management Methods and Tech 3-Avg 1Q/A and Control Methods and Tech 4 0.89 .89Measurement Methods and Techniques 5-High 0.72

Multiply the weighted scores together.

This is your effort and schedule Adjustment Factor 1.11

Page 15: Software Estimating with Functional Metrics

15© Copyright 2000-2001. Q/P Management Group, Inc.

All Rights Reserved.

Customization / Calibration Project Attributes

You can customize the Attribute influences to reflect your own particular environment

• An advantage of this technique is that you can identify the influencing ratio you feel are appropriate.

• By weighting these influencing factors the estimates can become more reliable and accurate.

• Adjustments should be based on an analysis of past projects and their influencing factors

Page 16: Software Estimating with Functional Metrics

16© Copyright 2000-2001. Q/P Management Group, Inc.

All Rights Reserved.

Step 3. Establish Productivity Rating

FP/Hour

Project Function Point Size

0 50 100 150 200 250 300 350 400 450

• Productivity rates vary by size - analyze your past performance

Enhancement Project Productivity

Page 17: Software Estimating with Functional Metrics

17© Copyright 2000-2001. Q/P Management Group, Inc.

All Rights Reserved.

Productivity Rates are Established based onHistorical Data and/or External Benchmarks

Project History Database - Client Server New Development

Size Effort P-Rate Schedule Benchmark by Size Category(FPs) Months FP/Mo. Months FP Range P-Rate Schedule100 6 17 2 110 7 16 3115 6 19 3 150 9 17 3 100-150 17 FP/Mo 2.75 Mo.160 10 16 4170 12 14 4175 16 11 5176 5 35 6 151-200 16 FP/Mo 4.75 Mo.255 20 13 7262 25 10 8270 30 9 9274 35 8 10279 36 8 11 201-300 9 FP/Mo 9.00 Mo.305 42 7 12406 48 8 10480 65 7 13 301-400 8 FP/Mo 12.00 Mo.

Page 18: Software Estimating with Functional Metrics

18© Copyright 2000-2001. Q/P Management Group, Inc.

All Rights Reserved.

External Benchmark Data is Available (Public and Proprietary)

Major Considerations for Evaluating Benchmark Data

• What is the size of the database?

• How current is the data?

• What types of organizations are represented? (sector, size, technology, maturity, geography)

• How consistent and accurate is the information?

– Time accounting and cost standards

– Function points vs. Line of Code size

– Defect definition and timing

Page 19: Software Estimating with Functional Metrics

19© Copyright 2000-2001. Q/P Management Group, Inc.

All Rights Reserved.

Step 4: Develop Estimate

Function Point Estimate

Project X – 112 FPs

Historical Rates

Effort = 6.5 Months

Schedule Duration = 2.75 Months

Productivity =17 FPs/Mo.

Project Attributes

• Client Server• New Development• Below Average

Personnel Management• Above Average Process

and Methods

Project Characteristics Adjustment Factor

= 1.11

= 1.11

Project Estimate Based on Standard Rates from Historical Data

Effort = 6.5 months

Schedule = 2.75 months

Productivity Rate = 17 FP/Mo.

Project Estimate Based on Adjusted Rates

Effort = 7.2 months

Schedule = 3.05 months

Productivity Rate = 15 FP/Mo.

Page 20: Software Estimating with Functional Metrics

20© Copyright 2000-2001. Q/P Management Group, Inc.

All Rights Reserved.

Calibration and Refinement

Must define your terms carefully, and recognize what is most susceptible to inconsistent reporting of measures. Where necessary adjust (calibrate) the estimate to conform with the project situation.

• Define the Chart of Accounts

• Estimate by Phase/Activity as appropriate

• Carefully define cost components

• Consider reuse

• Consider scope creep and requirement clarity

• Adjust for schedule compression

Page 21: Software Estimating with Functional Metrics

21© Copyright 2000-2001. Q/P Management Group, Inc.

All Rights Reserved.

Scope Creep - A Special Consideration

• As projects progress, new requirements not considered previously become identified, this is known as “scope creep”.

• On average projects encounter scope creep of approximately 35% from requirements definition to implementation.

• Small project (<100FPs) 5-15%

• Large projects (>1500FPs) 50-200%

• By using techniques such as a clarity of requirements risk assessment while conducting a function point count, scope creep can be anticipated more accurately.

Page 22: Software Estimating with Functional Metrics

22© Copyright 2000-2001. Q/P Management Group, Inc.

All Rights Reserved.

Other Considerations for Estimating

• Overstaffing may reduce schedule duration but will always increase effort and cost

• Accuracy improves with detail

• Use a number of estimating techniques for improved accuracy

• Do not underestimate the impact of project size on productivity rates

– Complexity

– Management overhead

• Cost is derivative of effort plus travel, hardware, software, training, miscellaneous

• Consider trade-offs between staff size and schedule duration

• Use ranges to communicate estimates

Page 23: Software Estimating with Functional Metrics

23© Copyright 2000-2001. Q/P Management Group, Inc.

All Rights Reserved.

Documenting the Estimate

• Purpose of the estimate

• Identify the estimates

• Identify the level of accuracy of the estimate

• Identify the assumptions and interpretations

• Identify the techniques and approaches used

• Identify the estimation models used

• Identify the trigger for the next estimate

Page 24: Software Estimating with Functional Metrics

24© Copyright 2000-2001. Q/P Management Group, Inc.

All Rights Reserved.

Communication - The Estimate Report

Table of Contents

• Project Background and Description

• Sponsor and Participant Information

• Project Scope

• Estimation Methodology

• Project Constraints

• Project Assumptions

• Function Point Analysis

• Attribute Evaluation

• Estimate

• Issues and Recommendations

• Summary

Page 25: Software Estimating with Functional Metrics

25© Copyright 2000-2001. Q/P Management Group, Inc.

All Rights Reserved.

Summary

• Estimating is primarily a communications process

• Understanding and communicating assumptions is key

• Size has the greatest impact on effort and schedule

• Function points are the best measure of size

• Estimating improves with experience

• Estimates are only as accurate as the requirements

• Historical data greatly improves estimating accuracy

• Calibration is required for greater accuracy

Page 26: Software Estimating with Functional Metrics

26© Copyright 2000-2001. Q/P Management Group, Inc.

All Rights Reserved.

Estimation with Functional Metrics Benefits

• Identify and quantify size based on the customers perspective

• Estimate early in the development process

• Quantify and manage change of scope

• Base agreements on measured data

• Monitor progress compared to estimates

• Recognize requirements problems early and take corrective action

• Improve communications

• Repeatable

Page 27: Software Estimating with Functional Metrics

27© Copyright 2000-2001. Q/P Management Group, Inc.

All Rights Reserved.

Getting Started

• Get educated on using functional metrics as an estimating and management tool - spread the word

• Get trained in detailed Function Point Analysis or utilize external expertise

• Look for opportunities to apply function points (pilot)

– Defining requirements

– Estimating projects

– Evaluating COTS and vendors

• Establish a measurement repository

– Historical project performance statistics

– External benchmark data

• Establish an ongoing process

– Integrate with life cycle and organizational activities

– Develop expertise