51
Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie Successful IT Projects By Darren Dalcher & Lindsey Brodie www.thomsonlearning.co.uk/fasttrack Chapter 6

Successful IT Projects By Darren Dalcher & Lindsey Brodie

  • Upload
    lada

  • View
    44

  • Download
    0

Embed Size (px)

DESCRIPTION

Successful IT Projects By Darren Dalcher & Lindsey Brodie. Chapter 6. www.thomsonlearning.co.uk/fasttrack. Lecture 6:. Cost Management. Learning outcomes. Understand the place of cost management within project management Outline a process for cost estimation - PowerPoint PPT Presentation

Citation preview

Page 1: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

Successful IT ProjectsBy Darren Dalcher

& Lindsey Brodie

www.thomsonlearning.co.uk/fasttrack

Chapter 6

Page 2: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

Lecture 6:

Cost Management

Page 3: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

Learning outcomes

• Understand the place of cost management within project management

• Outline a process for cost estimation

• Describe COCOMO II and other methods used for cost estimation

• Explain the use of earned value management (EVM) for cost control

Page 4: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

Software costs

• Direct costs for developing and maintaining software

• Indirect costs

• Operating costs

Page 5: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

Direct costs• Creating and updating the software

requirements specification and design specification

• Carrying out the coding and testing• Ensuring software quality (for example

reviews and inspections)• Software maintenance• Purchasing bought-in software artefacts• Project management

Page 6: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

Indirect costs

• Development and test platforms (hardware, system software and software tooling)

• Communications and collaboration platforms (e-mail and intranets)

• Office space and administrative facilities

Page 7: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

Operating costs

• The operating platform (hardware and system software)

• Software costs (for the developed software)

• Installation and upgrade costs• Training costs• User costs (for example data entry)• Quality costs (for example business costs

due to software errors)

Page 8: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

Relationship regarding costs between project and users

Project Software users

Development& maintenance

costs- direct costs

- indirect costs

Transfer cost•software•training

•installation

Operating costs

Developmentfunding

On-going costs for using software

& maintenance

Page 9: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

Managing project funding

The project manager must:• Produce credible plans showing funding

requirements• Ensure stakeholders are not surprised with

major changes to plans or costs• Keep stakeholders informed of progress at

regular intervals• Alert stakeholders to any difficulties as

early as possible

Page 10: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

Contracts

The project manager must ensure:• Financial commitments by various

stakeholders are clearly stated• Appropriate measures for dealing with

non-payment are present• Where payments depend on deliveries,

the deliverables are well-defined with responsibility and procedure for approving them clearly stated

Page 11: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

Cost management processes

Cost management

Cost estimation

Cost budgeting

Cost control

Page 12: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

Overview of how cost management fits into the project processes

Business case

Requirements& scope

Feasibility study

Software process monitoring Benchmarking

Cost estimation

Contract/Service negotiation

Cost budgeting

Planning funding & budget

Work monitoring

Cost control

Contract/Service monitoring

Projectexecution

Technology considerations

Page 13: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

The cost estimation steps

Softwaredesign

Softwaretask

Softwarecost

Softwaresize

Softwareeffort

Softwarecost

Workbreakdown

structure (WBS)

Costbreakdownstructure

Step 2Step 1 Step 3

Page 14: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

Step 1: Software size

Software size measured by:– Code size– Some aspect related to required functionality

Page 15: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

Software size using code size

• Count the lines of code (LOC)

• There are different ways of counting lines.

For example:– Source lines of code (SLOC) counts

only the source lines that are delivered (not test drivers, etc.)

– Delivered source instructions (DSI). An if-then-else statement would be one SLOC but several DSI

Page 16: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

Software size using code size

Problems:

• Comparing or aggregating different programming languages

• New software development methodsFor example:

• Use of models• Automatic code generation• Reuse

Page 17: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

Software size based on functionality

Types of functionality-based metric

Function points Inputs, outputs, files and inquiries

Object points/Application points Screens, reports and modules

Use case points Use cases

What gets counted?

Page 18: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

Function point analysis (1)

First identify instances of the following function types:

– Internal logical files: any file created or updated by the software

– External interface files: any file only read by the software

– External inputs: a process allowing data to enter the software, for example an input screen

– External outputs: a process allowing data to exit the software, for example a report or display screen

– External inquiries: reads data from internal and external files with no updating

Page 19: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

Function point analysis (2)

Then decide the complexity of each instance

Function Type Complexity Weight

Low Average High

Internal logical files 7 10 15

External interface files 5 7 10

External inputs 3 4 6

External outputs 4 5 7

External inquiries 3 4 6

From Boehm et al (2000c)

Page 20: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

Function point analysis (3)Add the number of instances in each category and

then multiply by the relevant complexity weight

So if for the function type of ‘external inputs’ there are 3 instances of low, 4 of average and 6 of high complexity, then

(5 x 3) + (7 x 4) + (10 x 6) = 15 + 28 + 60 = 103

Add together with all the values for the other function types to get the unadjusted function point (UFP) value

Page 21: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

Function point analysis (4)

Adjust the UFP with a value adjustment factor (VAF). A VAF reflects the overall complexity of the project and is calculated from 14 system characteristics (such as multiple sites and reusability). Each system characteristic is given a score from 0 to 5. These are added together to give a total degrees of influence (TDI) value.

VAF = (TDI x 0.01) + 0.65

Page 22: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

Function point analysis (5)

Total function points (FP) = VAF x UFP

Function points can be converted into development effort in two ways:

– Directly using productivity rates

– Via conversion rates to lines of code

Page 23: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

Productivity ratesYou determine the productivity rates by experience. You

need to know the rate at which your organisation can code function points. Then you can calculate software effort*

Software Effort = FP / Productivity Rate

For example: FP = 300 Rate = 6 FP/person-monthThen Effort = FP / Rate = 300/6 = 50 person-months

Multiply by the cost of a person-month to determine the financial cost*

*Note software effort and software cost are Steps 2 and 3, so this slide is leaping ahead somewhat, but it’s important to understand the two ways in which FP is used! (See previous slide)

Page 24: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

Conversion rates for FP to SLOC

Programming language

Average number of SLOC per UFP

C++ 55

Java 53

Visual Basic 5.0 29

Fourth Generation Language 20

HTML 3.0 15

(Boehm et al 2000c quoting figures from Jones 1996)

(SLOC being a measure of software size)

Page 25: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

Application points and use case points

• Application points (formerly known as object points) count higher level software items such as screens, reports and modules. Otherwise similar to function points

• Use case points are relatively new and due to their wide range of interpretation there are difficulties extending beyond “a relatively uniform group of applications and practitioners”

(Boehm et al 2000c)

Page 26: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

Step 2: Software Effort

“If 2 pretzel makers can make 444 pretzels in 6 hours, how long does it take 5 pretzel makers to make 88 pretzels?”

(Enzensberger 2006)

Page 27: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

Software effort calculation

As we have just seen using productivity rates with function points:

Software Effort = FP / Productivity Rate

Or to express this more generally:

Software Effort = Software Size / Productivity Rate

Page 28: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

Effort and Productivity• Units for effort can be person-hours, person-weeks, person-

months or person-years

• Productive time. Have to allow for other things (for example holidays, weekends, lunch, sick days, training and travelling time)

• Overheads: How are management and administrative tasks accounted for?

• People productivity varies:– Some people more productive– Experts in a task tend to be more productive than novices– People have different levels of sickness and absenteeism

• Some tasks more difficult than others

Page 29: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

Complexity• Try using multiple categories to cater for the

different skill levels and different tasks

• Even further complexity due to ‘diseconomy of scale’. Large projects will require more communication and organisation. However component-based development could require less…

• Solutions to these problems have been to use:– Expert opinion– WBS-based costing (or activity-based costing)– Algorithmic approaches

Page 30: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

Step 3: Software cost

• Once you have effort, then converting into cost is a matter of knowing the standard cost

• However:– People are on different pay scales (for example,

project manager, programmer and systems architect)– Rates for the same job can vary due to industry

and/or location– New recruits will require money to be spent on

support and training

• If we assume the more expensive workers are the more productive, then there is some offset

Page 31: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

Software estimation techniques

Software estimation techniques

Parametricmodel-based

COCOMO 81SLIMCheckpointSEER

Expertise-based

WidebandDelphiRule-basedWBS-based

Learning-orientated

NeuralCase-based(Analogy)

Dynamics-based

Abel-Hamid-Madnick

Regression-based

OLSRobust

Composite-Bayesian

COCOMO II

Page 32: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

Wideband Delphi• Expertise-based cost estimation• Introduced by Barry Boehm in 1970s• Iterative• Gather a group of experts• The experts each give their estimate• The results are tabulated. • The experts discuss the tabulated results (Such

discussion only occurs with Wideband Delphi variant)

• The experts again each give their estimate• And so on, iterating until there is a convergence of

views on an estimated value

Page 33: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

WBS-based costing

• Sometimes known as activity-based costing• Each task/activity in a WBS is individually costed• Bottom-up technique starting from the lowest

levels of the WBS and aggregating upwards• Can aggregate by using two types of WBS:

– Product WBS: aggregating according to the different product modules

– Process WBS: aggregating according to the type of process. For example aggregating by processes such as testing and coding

Page 34: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

COCOMO II• Constructive Cost Model • A parametric or algorithmic model• Developed by Barry Boehm• COCOMO 81 (COCOMO I) in 1981 for Waterfall

model• COCOMO II in 2000 for “evolutionary, incremental

and spiral models” (Boehm et al 2000c)

• COCOMO II also caters for very high level languages (VHLLs), commercial off-the-self (COTS) software and reuse through various extension models

Page 35: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

COCOMO II extension models• COPSEMO: phase schedule and effort

estimation

• CORADMO: rapid application development estimation

• COCOTS: COTS integration estimation

• COQUALMO: quality estimation (concerned with defect introduction and defect removal)

• COPROMO: productivity estimation

• Expert COCOMO: risk assessment

(Boehm et al 2000c)

Page 36: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

COCOMO II’s three basic models

• Choice of model depends on the development stage:– Application composition: for software developed using

prototyping usually in early stages of development. Uses application points

– Early design: used during early stages when little is known about the system design. It uses KSLOC or UFPs

– Post architecture: used during actual development and maintenance of software. Uses SLOC or FP

Page 37: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

Cost drivers and scale factors

• COCOMO II sets out a series of cost drivers and scale factors impacting cost

• Values (known as effort multipliers (EM)) for the various cost drivers and scale factors differ for the different models. Default EM values are given by COCOMO II, but should be calibrated by an organisation using feedback obtained from their own project experience

• Cost driver and scale factor EM values are inserted into the COCOMO II equations

Page 38: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

EM values for cost drivers for ‘early design’ model

Baseline Effort Constants: A = 2.94; B = 0.91

Baseline Schedule Constants: C = 3.67; D = 0.28

Cost Driver Extra

Low

Very

Low

Low Nominal High Very

High

Extra

High

RCPX Product

reliability

& complexity

0.49 0.60 0.83 1.00 1.33 1.91 2.72

RUSE Reusability 0.95 1.00 1.07 1.15 1.24

PDIF Platform difficulty 0.87 1.00 1.29 1.81 2.61

PERS Personnel

capability 2.12 1.62 1.26 1.00 0.83 0.63 0.50

PREX Personnel

experience 1.59 1.33 1.12 1.00 0.87 0.74 0.62

FCIL Facilities 1.43 1.30 1.10 1.00 0.87 0.73 0.62

SCED Required

development

schedule

1.43 1.14 1.00 1.00 1.00

(Boehm et al 2000c)

Page 39: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

EM values for scale factors for ‘early design’ and ‘post-architecture’ models

Scale Factor Very

Low

Low Nominal High Very

High

Extra

High

PREC

Precedentedness

6.20 4.96 3.72 2.48 1.24 0.00

FLEX

Development /

flexibility

5.07 4.05 3.04 2.03 1.01 0.00

RESL

Architecture / risk

resolution

7.07 5.65 4.24 2.83 1.41 0.00

TEAM Team

cohesion

5.48 4.38 3.29 2.19 1.10 0.00

PMAT Process

maturity

7.80 6.24 4.68 3.12 1.56 0.00

(Boehm et al 2000c)

Page 40: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

COCOMO II effort equation for ‘early design’ and ‘post architecture’ models

Effort = A x EAF x (KSLOC)E

where• Effort is measured in person-months (PM)• A is a productivity constant and is calibrated to 2.94 for

COCOMO II.2000• KSLOC is an estimate of software project size, measured in

thousands of SLOC• EAF is the effort adjustment factor derived from the EM

values of the cost drivers. How many EMs there are depends on which model is being used. EAF is calculated by multiplying the EMs together

• E is an exponent derived from the five scale factors.E = B + (0.01 x sum of the scale factors) where B is calibrated to 0.91 for COCOMO II.2000

(Boehm et al 2000c)

Page 41: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

COCOMO II duration equation for ‘early design’ and ‘post architecture’ models

Duration = C x (Effort)SE

where • Effort is the effort from the COCOMO

II.2000 effort equation• C is a constant and is calibrated to 3.67 for

COCOMO II.2000• SE is the schedule equation exponent

derived from the five scale factors(Boehm et al 2000c)

Page 42: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

Cost estimation tools

• Many cost estimation tools exist:– COCOMO II– CoStar– CostModeler– CostXpert– KnowledgePlan– PRICE S– SEER– SLIM– SoftCost

Caper Jones (2005)

Page 43: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

Cost estimation tools

“The commercial software estimating tools are far from perfect and they can be wrong, too. But automated estimates often outperform human estimates in terms of accuracy, and always in terms of speed and cost effectiveness. However, no method of estimation is totally error-free. The current best practice for software cost estimation is to use a combination of software cost estimating tools coupled with software project management tools, under the careful guidance of experienced software project managers and estimating specialists.”

Capers Jones (2005)

Page 44: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

Software costs - accuracy of estimates

X

0.5X

0.25X

4X

2X

1.5X1.25X

Relative Size Range

Milestones

Feasibility Study

Requirements Specification

Design Specification

Detailed Design Specification

Accepted Software

(Boehm et al 2000c)

Page 45: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

Cost measurement

• Metrication within organisations

• Historical data

• Calibration

• Use of feedback

Page 46: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

Cost Control:Earned value management (EVM)

In EVN, ‘value’ is linked to achievement of planned, scheduled work defined in terms of cost

– How much work has been accomplished?

– How does it compare to the plan?

Typically need an underlying WBS defining the project work - allows budget to be allocated against work

Page 47: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

EVM

Planned value (PV)

Earned value (EV) Plot against Time

Actual costs (AC)

Scheduled variance (SV) SV = EV - PV

Cost variance (CV) CV = EV - AC

Page 48: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

EVM performance reportingM

oney

Time

Projected slippage

Estimated cost at completion

Total budget

ACPV

EV CVSV

Reportingto date

Contingency budget

Estimatedbudget overrun

(NASA EVM 2006)See http://evm.nasa.gov/overview.html/

Page 49: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

Summary

Cost management

• Cost estimation– Establish software size (SLOC and FP)– Establish effort (productivity rates)– Calculate software costs

• Cost budgeting (PV)

• Cost control (EV and AC against PV)

Page 50: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

RequirementsSpecification

FunctionalSpecification

Stakeholder Value/Potential Benefits

Functional Specification

EstablishSoftware Size

Quantity/Software Size

Create/Modify WBS

Software Tasks

Software Cost Estimates

RequirementsSpecification

Create/Modify Schedule

Cost Budgeting Planned

Schedule

Add Cost Estimatesinto Schedule

Cost Estimation

Monitor & ControlCosts /

Review CostsPlanned Total Budget& Cost Baseline with Planned Value (PV) information

Actual Costs (AC)Report

Revised Cost Estimates,Earned Value (EV)information,Corrective Actions, & Updates to Software Process information

All Tasks

Cost Control

Needs, Opportunities & Requested Changes

Other Costs

Software Processinformation

ResourceAvailability

Calculate Software Costs

Effort

Establish Effort

Step 1Step 2

Step 3

Overview of the cost management processand related processes

Page 51: Successful IT Projects By Darren Dalcher  & Lindsey Brodie

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie

Summary continued…

• Cost estimation methods– Wideband Delphi– WBS-based costing– COCOMO II

• Cost control method– Earned value management (EVM)