Cost as a Business Driver 1 John Brown C Eng MIEE mr_ [email protected] Software Cost...

23
1 Cost as a Business Driver John Brown C Eng MIEE mr_ [email protected] Software Cost Estimation

Transcript of Cost as a Business Driver 1 John Brown C Eng MIEE mr_ [email protected] Software Cost...

Page 1: Cost as a Business Driver 1 John Brown C Eng MIEE mr_ john_brown@hotmail.com Software Cost Estimation.

1

Cost as a Business Driver

John Brown C Eng MIEE

mr_ [email protected]

Software Cost Estimation

Page 2: Cost as a Business Driver 1 John Brown C Eng MIEE mr_ john_brown@hotmail.com Software Cost Estimation.

2

Cost as a Business Driver

• What is Software Cost Estimation (SCE).• Software Cost Estimation Techniques.• COTS - Software Cost Estimation Tools. Benefits,

Drawbacks and Accuracy.• Software Cost Estimating – Key Steps.• Cost Drivers.• The Software Lifecycle.• Summary.

Software Cost EstimationModule Outline

Page 3: Cost as a Business Driver 1 John Brown C Eng MIEE mr_ john_brown@hotmail.com Software Cost Estimation.

3

Cost as a Business Driver

“The estimation of costs relating to the development of software based on information available at the time.”

Software Cost Estimation (SCE).

Page 4: Cost as a Business Driver 1 John Brown C Eng MIEE mr_ john_brown@hotmail.com Software Cost Estimation.

4

Cost as a Business Driver

Software Cost Estimation

• How is it done?

• By using expert judgement, tools and techniques.

• The scope must be determined at the out-set ( what’s to be included in the estimate).

Page 5: Cost as a Business Driver 1 John Brown C Eng MIEE mr_ john_brown@hotmail.com Software Cost Estimation.

5

Cost as a Business Driver

The importance of having a good Software Cost Estimate

An effective cost-estimationprovides a sound baseline for eachproject phase and activity to serveas a basis for planning andcontrol.

An effective planning and controlcapability provides useful data forcost estimation model study.

Page 6: Cost as a Business Driver 1 John Brown C Eng MIEE mr_ john_brown@hotmail.com Software Cost Estimation.

6

Cost as a Business Driver

Data Capture

• Previous Projects• Expert System• ERP (Enterprise Resource Planning)

Systems• Interview - Expert Judgment• Software Questionnaire

Page 7: Cost as a Business Driver 1 John Brown C Eng MIEE mr_ john_brown@hotmail.com Software Cost Estimation.

7

Cost as a Business Driver

Software Cost Estimation:Techniques.

1. Expert Judgment.

2. Estimation by Analogy.

3. Parkinson’s Law.

4. Algorithmic Model.

5. Top-down Estimation.

6. Bottom-up Estimation.

7. Price to Win.

Page 8: Cost as a Business Driver 1 John Brown C Eng MIEE mr_ john_brown@hotmail.com Software Cost Estimation.

8

Cost as a Business Driver

COTS - Software Cost Estimation Tools

• COCOMO II• SLIM• PRICE “S”• SEER - SEM• Others

Page 9: Cost as a Business Driver 1 John Brown C Eng MIEE mr_ john_brown@hotmail.com Software Cost Estimation.

9

Cost as a Business Driver

What are the benefits of Using What are the benefits of Using Parametric Estimating Tools?Parametric Estimating Tools?

• Provides a Quick answer based on a database of completed projects.

• Top-down needs fewer inputs than Bottom-up.• Unbiased, Objective and Consistent.• Cost Estimating Relationships (CER’s) between a

number of cost drivers are established.• All models demand similar input parameters.

Page 10: Cost as a Business Driver 1 John Brown C Eng MIEE mr_ john_brown@hotmail.com Software Cost Estimation.

10

Cost as a Business Driver

….And the drawbacks?• GIGO.• NOT the answer but another data point.• Dangerous if used in isolation or without training

and experience.• Calibration and accurate data required.• Calibrated to past Projects.• Extensive database of US Projects. Database of

European projects limited but expanding.• Data used to build CER’s is difficult to acquire.

Page 11: Cost as a Business Driver 1 John Brown C Eng MIEE mr_ john_brown@hotmail.com Software Cost Estimation.

11

Cost as a Business Driver

Software Cost Estimation: Cost and Size

• Most cost models use size of the finished system as input for cost estimation.

• Most widely used metric is Source Lines of Code (SLOC). Two other metrics used; Function Points and Object Points.

• Size is difficult to determine at the early stages.

Page 12: Cost as a Business Driver 1 John Brown C Eng MIEE mr_ john_brown@hotmail.com Software Cost Estimation.

12

Cost as a Business Driver

Software Cost Estimation:Accuracy of Models

A Software Cost estimation model is doing

well if it can estimate software development

costs within 20% of the actual costs, 70% of

the time, within the domain it was intended or

calibrated.

Page 13: Cost as a Business Driver 1 John Brown C Eng MIEE mr_ john_brown@hotmail.com Software Cost Estimation.

13

Cost as a Business Driver

Software Cost Estimation Techniques - A Comparison

• None of the techniques mentioned is better than the other from all aspects.

• Parkinson and Price-to-win do not produce sound cost estimates and should not be used.

• The strengths and weaknesses of the other techniques are complementary:– algorithmic versus expert judgement– top-down versus bottom-up

Page 14: Cost as a Business Driver 1 John Brown C Eng MIEE mr_ john_brown@hotmail.com Software Cost Estimation.

14

Cost as a Business Driver

Which Technique to use?

It is important to use a combination of techniques, and to compare, and iterate the estimates obtained from each.

Page 15: Cost as a Business Driver 1 John Brown C Eng MIEE mr_ john_brown@hotmail.com Software Cost Estimation.

15

Cost as a Business Driver

An Effective Combination

• Top-down estimate using the judgement of more than one expert, using analogy estimation where a comparable project is available.

• Bottom-up estimate using an algorithmic model, with inputs and component-level estimates provided by experts.

• Comparison and iteration of both estimates.

Page 16: Cost as a Business Driver 1 John Brown C Eng MIEE mr_ john_brown@hotmail.com Software Cost Estimation.

16

Cost as a Business Driver

Software Cost Estimation – Key Steps 1. Analyse the requirements.

2. Identify the activities to be included.

3. Estimate the size of key deliverables.

4. Assess the level of design growth anticipated.

5. Assess the level of software defects and removal methods.

6. Estimate Effort and Schedules.

7. Estimate staffing requirements.

8. Adjust assumptions based on capabilities and experience.

9. Estimate Development Costs.

10. Estimate maintenance and enhancement costs.

11. Est. compatible with Cost Recording System and WBS.

Page 17: Cost as a Business Driver 1 John Brown C Eng MIEE mr_ john_brown@hotmail.com Software Cost Estimation.

17

Cost as a Business Driver

Poor Cost Estimation • Baseline estimate lacks credibility - Unrealistic for

Project Tracking.• Unable to compare actual costs to estimate at

work package level, hence, knowledge will be lost.• May result in fire-fighting to bring the project in on

schedule and within budget.• Resource and schedule over/under-runs cost

money and may affect other projects.

Page 18: Cost as a Business Driver 1 John Brown C Eng MIEE mr_ john_brown@hotmail.com Software Cost Estimation.

18

Cost as a Business Driver

SOFTWARE COST ESTIMATION: Most Common Mistakes

• Underestimating the amount of time and effort required to do a proper estimate.

• Imprecise and drifting requirements not taken into account.

• Quantifying difference from previous Projects.

• Estimates forced to match resources available.

• Human bias.

Page 19: Cost as a Business Driver 1 John Brown C Eng MIEE mr_ john_brown@hotmail.com Software Cost Estimation.

19

Cost as a Business Driver

Software Cost Drivers• Size

– Source Lines of Code (SLOC), Function Points, Object Points

Language– Assembler, Pascal, Visual

Basic, ADA95, C/C++, JAVA, SQL, ORACLE

Code Mix– (New, Reused or Modified)

Test & Integration

Productivity– Team structure,

Experience, Tools

Complexity– Functionality,

Platform, Organisation

Security Schedule

– Overruns, Poor estimation

Page 20: Cost as a Business Driver 1 John Brown C Eng MIEE mr_ john_brown@hotmail.com Software Cost Estimation.

20

Cost as a Business Driver

• Conception through to final obsolescence and disposal.

• Modelled as a number of successive phases.

• Main Models– Waterfall– Prototyping:

– Incremental– Evolutionary – Spiral

The Software Lifecycle

Page 21: Cost as a Business Driver 1 John Brown C Eng MIEE mr_ john_brown@hotmail.com Software Cost Estimation.

21

Cost as a Business Driver

The Software LifecycleWaterfall Model

Feasibility Study

Requirements Analysis & Specification

Design & Specification

Coding & Module Testing

Integration & System Testing

Delivery & Maintenance

Page 22: Cost as a Business Driver 1 John Brown C Eng MIEE mr_ john_brown@hotmail.com Software Cost Estimation.

22

Cost as a Business Driver

The Software Lifecycle Spiral Model

PLANNING

RISK ANALYSIS

ENGINEERINGCUSTOMER EVALUATION

Based on initial requirements

Based on customer reaction

Toward a completed

system

GO/NO GO

Initial prototype

Engineered System

Customer evaluation

Initial Requirements gathering and project planning

Based on customer evaluation

Page 23: Cost as a Business Driver 1 John Brown C Eng MIEE mr_ john_brown@hotmail.com Software Cost Estimation.

23

Cost as a Business Driver

The Software LifecycleTypical Proportions - For Defence Projects

Coding15%

Unit Testing8%

System Integration8%

Maintenance55%

Detailed Design6%

System Design6%

Requirements & Definition

2%

Source: S/W Engineering Explained. M Norris ISBN 0471 929 50 6