the art and science of estimating software development cost glenn briskin partner, sierra systems...

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

Upload: joseph-dawson

Post on 23-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

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

The Art and Science of Estimating Software Development Cost

Glenn BriskinPartner, Sierra Systems Group

A. Nicklas MalikTechnical Architect

Certified Function Point Specialist

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

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)

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

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

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

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?

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

What’s an Estimate? An estimate predicts what something will cost and how long

it will take to deliver– Numbers– Confidence Level

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

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

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

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?

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

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?

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

Estimating Process

Functionality

Tasks/Resources

History

Assumptions and Constraints

Estimating Tools and Processes

Estimates of Costs and

Time

Confidence Level

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

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

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

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

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

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

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

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

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

Top down vs. Bottom Up

Project charter

Iteration PlanHigh Level

RequirementsProject

Planning Detailed

Project Plan

Determine size

Calc. Cost Estimate

Historicaldata

Determine tasks

Estimate task durations

Experience

Assign resources

Calc. Cost Estimate

Top-downestimate

Bottom-upestimate

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

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

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

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.

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

Other benefits of measurement Measurement can lead to improving:

– Cost performance– Methodology– Client Satisfaction– Credibility

The more weknow, the betterwe can do.

Functions

Goals

Quality

TasksPeople

Features

Plan

TimeScope

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

Any measurement should be: Simple Consistent Not technology or

platform dependent Not company dependent Useful at different points in

software lifecycle

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

The generic application

Application

Store and Update data

Push information in

Simple lookup

Produce report

Pull information in

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

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.

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

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%

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

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

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

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

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

Demo: Productivity Calculations

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

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

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

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

Software Estimation Resources International Function Point User’s Group

( www.ifpug.org ) – Certification – Counting Practices Manual

“Software Assessments, Benchmarks and Best Practices” by Capers Jones

“Software Cost Estimation with COCOMO2”by Barry Boehm, et. al.

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

Where to Get More InformationGlenn Briskin

Partner, Sierra Systems Group

360 570 4531

[email protected]

A. Nicklas Malik

Technical Architect

Certified Function Point Specialist

360 570 4546

[email protected]