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

Slides:



Advertisements
Similar presentations
Cost as a Business Driver 1 John Brown C Eng MIEE mr_ Software Cost Estimation.
Advertisements

Project Estimation: Metrics and Measurement
Chapter 26 Estimation for Software Projects
Chapter 6: Project Cost Management
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Software.
Chapter 7: Project Cost Management
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Software Cost Estimation.
SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION © University of LiverpoolCOMP 319slide 1.
SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION © University of LiverpoolCOMP 319slide 1.
Project Cost Management J.-S. Chou, P.E., Ph.D.. 2 Learning Objectives  Explain basic project cost management principles, concepts, and terms.  Discuss.
HIT241 - COST MANAGEMENT Introduction
Chapter 23 – Project planning Part 2. Estimation techniques  Organizations need to make software effort and cost estimates. There are two types of technique.
Software Cost Estimation Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn.
Project Cost Management J.-S. Chou, P.E., Ph.D.. 2 Learning Objectives  Explain basic project cost management principles, concepts, and terms.  Discuss.
1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.
Cost Management Week 6-7 Learning Objectives
Information System Economics Software Project Cost Estimation.
Cmpe 589 Spring Software Quality Metrics Product  product attributes –Size, complexity, design features, performance, quality level Process  Used.
1 ECE 453 – CS 447 – SE 465 Software Testing & Quality Assurance Lecture 22 Instructor Paulo Alencar.
COCOMO Models Ognian Kabranov SEG3300 A&B W2004 R.L. Probert.
After Lesson 6 next is Lesson 13 to fit topic on Software Development SOFTWARE PROJECT MANAGEMENT.
PPMT CE-408T Engr. Faisal ur Rehman CED N-W.F.P UET P.
Estimation Why estimate? What to estimate? When to estimate?
Chapter 6 : Software Metrics
Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie Successful IT Projects By Darren Dalcher & Lindsey Brodie
Chapter 6 The Work Breakdown Structure and Project Estimation Copyright 2012 John Wiley & Sons, Inc. 6-1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 26 Slide 1 Software cost estimation 1.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Chapter 23 Software Cost Estimation.
Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie Successful IT Projects By Darren Dalcher & Lindsey Brodie
Centro de Estudos e Sistemas Avançados do Recife PMBOK - Chapter 4 Project Integration Management.
Software Estimation How hard can it be? Peter R Hill.
Software cost estimation Predicting the resources required for a software development process 1.
9-1 Project Management from Simple to Complex. 9-2 This work is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported.
1 Estimation Function Point Analysis December 5, 2006.
Lecture 4 Software Metrics
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.
Cost Estimation What is estimated? –resources (humans, components, tools) –cost (person-months) –schedule (months) Why? –Personnel allocation –Contract.
Quality Software Project Management Software Size and Reuse Estimating.
Project Cost Management
BSBPMG504A Manage Project Costs 7.2 Determine Budget Adapted from PMBOK 4 th Edition InitiationPlanning ExecutionClose Monitor Control The process of aggregating.
©Ian Sommerville 2000Software Engineering, 7th edition. Chapter 26Slide 1 Software cost estimation l Predicting the resources required for a software development.
SFWR ENG 3KO4 Slide 1 Management of Software Engineering Chapter 8: Fundamentals of Software Engineering C. Ghezzi, M. Jazayeri, D. Mandrioli.
Software cost estimation. Fundamental estimation questions How much effort is required to complete an activity? How much calendar time is needed to complete.
Function Points Synthetic measure of program size used to estimate size early in the project Easier (than lines of code) to calculate from requirements.
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.
Unit – I Presentation. Unit – 1 (Introduction to Software Project management) Definition:-  Software project management is the art and science of planning.
Cost Estimation Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman.
SOFTWARE PROJECT MANAGEMENT
Information Technology Project Management, Six th Edition Kathy Schwalbe Copyright Disampaikan Oleh : Wiwid Dolianto S.Kom, MT Universitas Muhammadiyah.
Information Technology Project Management, Seventh Edition Note: See the text itself for full citations.
Chapter 5: Software effort estimation
COCOMO Software Cost Estimating Model Lab 4 Demonstrator : Bandar Al Khalil.
Estimation Questions How do you estimate? What are you going to estimate? Where do you start?
Developing the schedule – Tracking Gantt charts Critical path method – Longest path, earliest time Schedule trade-offs using CPM – Free slack, total slack.
Chapter 33 Estimation for Software Projects
Project Cost Management
The Work Breakdown Structure and Project Estimation
Software Project Sizing and Cost Estimation
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Software Project Estimation
Constructive Cost Model
Software Development & Project Management
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.
Chapter 33 Estimation for Software Projects
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Chapter 26 Estimation for Software Projects.
Presentation transcript:

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie Successful IT Projects By Darren Dalcher & Lindsey Brodie Chapter 6

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie Lecture 6: Cost Management

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

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie Software costs Direct costs for developing and maintaining software Indirect costs Operating costs

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

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 ( and intranets) Office space and administrative facilities

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)

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 Development funding On-going costs for using software & maintenance

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

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

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie Cost management processes Cost management Cost estimation Cost budgeting Cost control

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 Project execution Technology considerations

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie The cost estimation steps Software design Software task Software cost Software size Software effort Software cost Work breakdown structure (WBS) Cost breakdown structure Step 2Step 1Step 3

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

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

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie Software size using code size Problems: Comparing or aggregating different programming languages New software development methods For example: Use of models Automatic code generation Reuse

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie Software size based on functionality Types of functionality-based metric Function pointsInputs, outputs, files and inquiries Object points/Application pointsScreens, reports and modules Use case pointsUse cases What gets counted?

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

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie Function point analysis (2) Then decide the complexity of each instance Function TypeComplexity Weight LowAverageHigh Internal logical files External interface files5 710 External inputs3 46 External outputs4 5 7 External inquiries3 46 From Boehm et al (2000c)

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) = = 103 Add together with all the values for the other function types to get the unadjusted function point (UFP) value

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)

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

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie Productivity rates You 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-month Then 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)

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 Java53 Visual Basic Fourth Generation Language 20 HTML (Boehm et al 2000c quoting figures from Jones 1996) (SLOC being a measure of software size)

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)

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)

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

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

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

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

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie Software estimation techniques Parametric model -based COCOMO 81 SLIM Checkpoint SEER Expertise -based Wideband Delphi Rule-based WBS-based Learning -orientated Neural Case-based (Analogy) Dynamics -based Abel- Hamid- Madnick Regression -based OLS Robust Composite- Bayesian COCOMO II

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

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

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

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)

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

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

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie EM values for cost drivers for ‘early design’ model (Boehm et al 2000c)

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie EM values for scale factors for ‘early design’ and ‘post-architecture’ models (Boehm et al 2000c)

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)

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)

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)

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)

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie Software costs - accuracy of estimates X 0.5X 0.25X 4X 2X 1.5X 1.25X Relative Size Range Milestones Feasibility Study Requirements Specification Design Specification Detailed Design Specification Accepted Software (Boehm et al 2000c)

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie Cost measurement Metrication within organisations Historical data Calibration Use of feedback

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

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

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie EVM performance reporting Money Time Projected slippage Estimated cost at completion Total budget AC PV EV CV SV Reporting to date Contingency budget Estimated budget overrun (NASA EVM 2006)See

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)

Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie Requirements Specification Functional Specification Stakeholder Value/ Potential Benefits Functional Specification Establish Software Size Quantity/ Software Size Create/Modify WBS Software Tasks Software Cost Estimates Requirements Specification Create/Modify Schedule Cost Budgeting Planned Schedule Add Cost Estimates into Schedule Cost Estimation Monitor & Control Costs / Review Costs Planned 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 Process information Resource Availability Calculate Software Costs Effort Establish Effort Step 1 Step 2 Step 3 Overview of the cost management process and related processes

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)