HOUSTON COMMUNITY COLLEGE SYSTEM SAIGONTECH SAIGON INSTITUTE OF

  • Slides: 38
Download presentation
HOUSTON COMMUNITY COLLEGE SYSTEM SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY SOFTWARE COST ESTIMATION SEMINAR FOR

HOUSTON COMMUNITY COLLEGE SYSTEM SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY SOFTWARE COST ESTIMATION SEMINAR FOR COOP EDUCATION ITSE 1380, ITNW 1380 FALL 2005 1

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Objectives HOUSTON COMMUNITY COLLEGE SYSTEM • To introduce cost

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Objectives HOUSTON COMMUNITY COLLEGE SYSTEM • To introduce cost and schedule estimation • To discuss the problems of productivity estimation • To describe several cost estimation techniques • To discuss the utility of algorithmic cost modeling and its applicability in the software process 2

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY • • • Cost estimation objectives HOUSTON COMMUNITY COLLEGE

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY • • • Cost estimation objectives HOUSTON COMMUNITY COLLEGE SYSTEM Budget To know what you will spend Controls A lever to control the project Differential analysis Monitor progress by comparing planned with estimated costs Cost database Make future estimation better Marry costing to management Cost estimation and planning/scheduling are closely related activities 3

Software cost components SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY HOUSTON COMMUNITY COLLEGE SYSTEM • Hardware

Software cost components SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY HOUSTON COMMUNITY COLLEGE SYSTEM • Hardware and software costs • Travel and training costs • Effort costs (the dominant factor in most projects) • salaries of engineers involved in the project • costs of building, heating, lighting • costs of networking and communications • costs of shared facilities (e. g library, staff restaurant, etc. ) • costs of pensions, health insurance, etc. 4

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Costing and pricing HOUSTON COMMUNITY COLLEGE SYSTEM • Estimating

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Costing and pricing HOUSTON COMMUNITY COLLEGE SYSTEM • Estimating Cost • Costs for developer, not buyer • We need our costs to manage and assess • Estimating Price • There is not a simple relationship between the development cost and the price charged to the customer. • Broader organisational, economic, political and business considerations influence the price charged. 5

Productivity Measures SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY • Size-related measures • • HOUSTON COMMUNITY

Productivity Measures SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY • Size-related measures • • HOUSTON COMMUNITY COLLEGE SYSTEM Must be based on some output from the software process Delivered source code Object code instructions Function-related measures • • Based on an estimate of the functionality of the delivered software. Function-points are the best known of this type of measure 6

SAIGONTECH Lines of Codes SAIGON INSTITUTE OF TECHNOLOGY HOUSTON COMMUNITY COLLEGE SYSTEM LOC =

SAIGONTECH Lines of Codes SAIGON INSTITUTE OF TECHNOLOGY HOUSTON COMMUNITY COLLEGE SYSTEM LOC = NCLOC + CLOC • LOC: lines of code • NCLOC: non-commented line of code • CLOC: commented line of code • KLOC = one thousand of line of code 7

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY • Based on a combination of program characteristics •

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY • Based on a combination of program characteristics • • • Function points HOUSTON COMMUNITY COLLEGE SYSTEM external inputs and outputs user interactions external interfaces files used by the system A weight is associated with each of these The function point count is computed by multiplying each raw count by the weight and summing all values 8

SAIGONTECH Function points SAIGON INSTITUTE OF TECHNOLOGY HOUSTON COMMUNITY COLLEGE SYSTEM • Function point

SAIGONTECH Function points SAIGON INSTITUTE OF TECHNOLOGY HOUSTON COMMUNITY COLLEGE SYSTEM • Function point count modified by complexity of the project • FPs can be used to estimate LOC depending on the average number of LOC per FP for a given language • FPs are very subjective • Depend on the estimator • FP cannot generally be counted automatically 9

SAIGONTECH Factors affecting productivity SAIGON INSTITUTE OF TECHNOLOGY HOUSTON COMMUNITY COLLEGE SYSTEM Factor Description

SAIGONTECH Factors affecting productivity SAIGON INSTITUTE OF TECHNOLOGY HOUSTON COMMUNITY COLLEGE SYSTEM Factor Description Application domain experience Knowledge of the application domain is essential for effective software development. Engineers who already understand a domain are likely to be the most productive. Process quality The development process used can have a significant effect on productivity. This is covered in Chapter 31. Project size The larger a project, the more time required for team communications. Less time is available for development so individual productivity is reduced. Technology support Good support technology such as CASE tools, supportive configuration management systems, etc. can improve productivity. Working environment A quiet working environment with private work areas contributes to improved productivity. 10

Estimation techniques SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY HOUSTON COMMUNITY COLLEGE SYSTEM • Expert judgement

Estimation techniques SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY HOUSTON COMMUNITY COLLEGE SYSTEM • Expert judgement • Estimation by analogy • Parkinson’s Law • Pricing to win • Top-down estimation • Bottom-up estimation • Algorithmic cost modelling 11

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Expert judgement HOUSTON COMMUNITY COLLEGE SYSTEM • One or

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Expert judgement HOUSTON COMMUNITY COLLEGE SYSTEM • One or more experts in both software development and the application domain use their experience to predict software costs. Process iterates until some consensus is reached. • Advantages: Relatively cheap estimation method. Can be accurate if experts have direct experience of similar systems • Disadvantages: May be very costly 12

Estimation by analogy SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY HOUSTON COMMUNITY COLLEGE SYSTEM • The

Estimation by analogy SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY HOUSTON COMMUNITY COLLEGE SYSTEM • The cost of a project is computed by comparing the project to a similar project inthe same application domain • Advantages: Accurate if project data available • Disadvantages: Impossible if no comparable project has been tackled. Needs systematically maintained cost database 13

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Parkinson's Law HOUSTON COMMUNITY COLLEGE SYSTEM • The project

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Parkinson's Law HOUSTON COMMUNITY COLLEGE SYSTEM • The project costs whatever resources are available • Advantages: No overspending • Disadvantages: System is usually unfinished 14

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Pricing to win HOUSTON COMMUNITY COLLEGE SYSTEM • The

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Pricing to win HOUSTON COMMUNITY COLLEGE SYSTEM • The project costs whatever the customer has to spend on it • Advantages: You get the contract • Disadvantages: The probability that the customer gets the system he or she wants is small. Costs do not accurately reflect the work required 15

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Top-down estimation HOUSTON COMMUNITY COLLEGE SYSTEM • Approaches may

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Top-down estimation HOUSTON COMMUNITY COLLEGE SYSTEM • Approaches may be applied using a top -down approach. Start at system level andwork out how the system functionality is provided • Takes into account costs such as integration, configuration management and documentation • Can underestimate the cost of solving difficult low-level technical problems 16

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Bottom-up estimation HOUSTON COMMUNITY COLLEGE SYSTEM • Start at

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Bottom-up estimation HOUSTON COMMUNITY COLLEGE SYSTEM • Start at the lowest system level. The cost of each component is estimated individually. These costs are summed to give final cost estimate • Accurate method if the system has been designed in detail • May underestimate costs of system level activities such as integration and documentation 17

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Estimation methods HOUSTON COMMUNITY COLLEGE SYSTEM – Each method

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Estimation methods HOUSTON COMMUNITY COLLEGE SYSTEM – Each method has strengths and weaknesses – Estimation should be based on several methods – If these do not return approximately the same result, there is insufficient information available – Some action should be taken to find out more in order to make more accurate estimates – Pricing to win is sometimes the only applicable method 18

Algorithmic cost modelling SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY HOUSTON COMMUNITY COLLEGE SYSTEM • Cost

Algorithmic cost modelling SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY HOUSTON COMMUNITY COLLEGE SYSTEM • Cost is estimated as a mathematical function of product, project and processattributes whose values are estimated by project managers • The function is derived from a study of historical costing data • Most commonly used product attribute for cost estimation is LOC (code size) • Most models are basically similar but withdifferent attribute values 19

Examples of cost models SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY HOUSTON COMMUNITY COLLEGE SYSTEM •

Examples of cost models SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY HOUSTON COMMUNITY COLLEGE SYSTEM • General form: E = A + B SC • E: Effort cost; S: Size; A, B, C: constants Examples: E = 5. 2 x (KLOC)0. 91 Walston-Felix Model E = 5. 5 + 0. 73 x (KLOC)1. 16 Bailey-Basili Model E = 3. 2 x (KLOC)1. 05 COCOMO Basic Model E = 5. 288 x (KLOC)1. 047 Doty Model for KLOC > 9 20

Examples of cost models SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY HOUSTON COMMUNITY COLLEGE SYSTEM Cost

Examples of cost models SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY HOUSTON COMMUNITY COLLEGE SYSTEM Cost models using FP as a primary input include (Pressman, 1997): E = -12. 39 + 0. 0545 FP Albrecht and Gaffney Model E = 60. 62 x 7. 728 x 10 -8 FP 3 Kemerer Model E = 585. 7 + 15. 12 FP Matson, Barnett, and Mellichamp Model 21

The COCOMO model SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY HOUSTON COMMUNITY COLLEGE SYSTEM • Developed

The COCOMO model SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY HOUSTON COMMUNITY COLLEGE SYSTEM • Developed at TRW, a US defense contractor • Based on a cost database of more than 60 different projects • Exists in three stages • Basic -Gives a 'ball-park' estimate based on product attributes • Intermediate -modifies basic estimate using project and process attributes • Advanced -Estimates project phases and parts separately 22

SAIGONTECH The COCOMO model SAIGON INSTITUTE OF TECHNOLOGY HOUSTON COMMUNITY COLLEGE SYSTEM • Three

SAIGONTECH The COCOMO model SAIGON INSTITUTE OF TECHNOLOGY HOUSTON COMMUNITY COLLEGE SYSTEM • Three modes: –Organic mode: relatively simple projects in which small teams work to a set of informal requirements –Semidetached mode: an intermediate project in which mixed teams must work to a set of rigid and less than rigid requirements –Embedded mode: a project that must operate within a tight set of constraints (ie. flight control software for aircraft). 23

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY BASIC COCOMO Formula HOUSTON COMMUNITY COLLEGE SYSTEM E =

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY BASIC COCOMO Formula HOUSTON COMMUNITY COLLEGE SYSTEM E = a(KLOC)b TDEV = c. Ed Mode Organic mode a b c d 2. 4 1. 05 2. 5 0. 38 Semi-detached 3. 0 1. 12 2. 5 0. 35 Embedded 3. 6 1. 20 2. 5 0. 32 24

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY COCOMO examples HOUSTON COMMUNITY COLLEGE SYSTEM • Organic mode

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY COCOMO examples HOUSTON COMMUNITY COLLEGE SYSTEM • Organic mode project, KLOC = 32 PM = 2. 4 (32)1. 05 = 91 person months TDEV = 2. 5 (91)0. 38 = 14 months N = 91/15 = 6. 5 people 25

SAIGONTECH Intermediate COCOMO SAIGON INSTITUTE OF TECHNOLOGY HOUSTON COMMUNITY COLLEGE SYSTEM • Takes basic

SAIGONTECH Intermediate COCOMO SAIGON INSTITUTE OF TECHNOLOGY HOUSTON COMMUNITY COLLEGE SYSTEM • Takes basic COCOMO as starting point • Identifies personnel, product, computer and project attributes which affect cost • Multiplies basic cost by attribute multipliers which may increase or decrease costs 26

Effort Multipliers SAIGONTECH Cost Driver Description SAIGON INSTITUTE OF TECHNOLOGY HOUSTON COMMUNITY COLLEGE SYSTEM

Effort Multipliers SAIGONTECH Cost Driver Description SAIGON INSTITUTE OF TECHNOLOGY HOUSTON COMMUNITY COLLEGE SYSTEM Rating Very Low Nominal High Very High Extra High Product RELY Required software reliability 0. 75 0. 88 1. 00 1. 15 1. 40 - DATA Database size - 0. 94 1. 00 1. 08 1. 16 - CPLX Product complexity 0. 70 0. 85 1. 00 1. 15 1. 30 1. 65 Computer TIME Execution time constraint - - 1. 00 1. 11 1. 30 1. 66 STOR Main storage constraint - - 1. 00 1. 06 1. 21 1. 56 VIRT Virtual machine volatility - 0. 87 1. 00 1. 15 1. 30 - TURN Computer turnaround time - 0. 87 1. 00 1. 07 1. 15 - Personnel ACAP Analyst capability 1. 46 1. 19 1. 00 0. 86 0. 71 - AEXP Applications experience 1. 29 1. 13 1. 00 0. 91 0. 82 - PCAP Programmer capability 1. 42 1. 17 1. 00 0. 86 0. 70 - VEXP Virtual machine experience 1. 21 1. 10 1. 00 0. 90 - - LEXP Language experience 1. 14 1. 07 1. 00 0. 95 - - Project MODP Modern programming practices 1. 24 1. 10 1. 00 0. 91 0. 82 - TOOL Software Tools 1. 24 1. 10 1. 00 0. 91 0. 83 - SCED Development Schedule 1. 23 1. 08 1. 00 1. 04 1. 10 - 27

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Advanced COCOMO model HOUSTON COMMUNITY COLLEGE SYSTEM • The

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Advanced COCOMO model HOUSTON COMMUNITY COLLEGE SYSTEM • The Advanced COCOMO model computes effort as a function of program size and a set of cost drivers weighted according to each phase of the software lifecycle. The Advanced model applies the Intermediate model at the component level, and then a phase-based approach is used to consolidate the estimate (Fenton, 1997). • The 4 phases used in the detailed COCOMO model are: requirements planning and product design (RPD), detailed design (DD), code and unit test (CUT), and integration and test (IT). Each cost driver is broken down by phase as in the example shown in Table 6 (Boehm, 1981). 28

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Analyst capability effort multiplier for Advanced COCOMO Cost Driver

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Analyst capability effort multiplier for Advanced COCOMO Cost Driver Rating ACAP HOUSTON COMMUNITY COLLEGE SYSTEM RPD DD CUT IT Very Low 1. 80 1. 35 1. 50 Low 0. 85 1. 20 Nominal 1. 00 High 0. 75 0. 90 0. 85 Very High 0. 55 0. 75 0. 70 29

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Model tuning HOUSTON COMMUNITY COLLEGE SYSTEM • All numbers

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Model tuning HOUSTON COMMUNITY COLLEGE SYSTEM • All numbers in cost model are organization specific. The parameters of the model must be modified to adapt it to local needs • A statistically significant database of detailed cost information is necessary 30

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Staffing requirements HOUSTON COMMUNITY COLLEGE SYSTEM • Staff required

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Staffing requirements HOUSTON COMMUNITY COLLEGE SYSTEM • Staff required can’t be computed by dividing the development time by the requiredschedule • The number of people working on a project varies depending on the phase of the project • The more people who work on the project, the more total effort is usually required • Very rapid build-up of people often correlates with schedule slippage 31

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Rayleigh curve HOUSTON COMMUNITY COLLEGE SYSTEM 32

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Rayleigh curve HOUSTON COMMUNITY COLLEGE SYSTEM 32

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Software Equation HOUSTON COMMUNITY COLLEGE SYSTEM • Putnam used

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Software Equation HOUSTON COMMUNITY COLLEGE SYSTEM • Putnam used some empirical observations about productivity levels to derive the software equation from the basic Rayleigh curve formula (Fenton, 1997). The software equation is expressed as: Size = • where C is a technology factor, E is the total project effort in person years, and t is the elapsed time to delivery in years. 33

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY • • Technology Factor HOUSTON COMMUNITY COLLEGE SYSTEM The

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY • • Technology Factor HOUSTON COMMUNITY COLLEGE SYSTEM The technology factor is a composite cost driver involving 14 components. It primarily reflects: Overall process maturity and management practices The extent to which good software engineering practices are used The level of programming languages used The state of the software environment The skills and experience of the software team The complexity of the application The software equation includes a fourth power and therefore has strong implications for resource allocation on large projects. Relatively small extensions in delivery date can result in substantial reductions in effort (Pressman, 1997). 34

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Key points HOUSTON COMMUNITY COLLEGE SYSTEM • There is

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Key points HOUSTON COMMUNITY COLLEGE SYSTEM • There is not a simple relationship between the price charged for a system and its development costs. • Factors affecting productivity include individual aptitude, domain experience, the development project, the project size, tool support and the working environment. • Software may be priced to gain a contract and the functionality adjusted to the price. 35

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Key points HOUSTON COMMUNITY COLLEGE SYSTEM • Different techniques

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Key points HOUSTON COMMUNITY COLLEGE SYSTEM • Different techniques of cost estimation should be used when estimating costs. • The COCOMO model takes project, product, personnel and hardware attributes into account when predicting effort required. • Algorithmic cost models support quantitative option analysis as they allow the costs of different options to be compared. • The time to complete a project is not proportional to the number of people working on the project. 36

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Seminar Report HOUSTON COMMUNITY COLLEGE SYSTEM • Select any

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Seminar Report HOUSTON COMMUNITY COLLEGE SYSTEM • Select any Software Cost Estimation relating topic of your interest (may or may not presented in the seminar) • Write report having at least 2 pages • Use the form from Saigontech website • Each report must have a title • Indicate the Week # in each report • Indicate reference materials 37

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Reference HOUSTON COMMUNITY COLLEGE SYSTEM Software Engineering, A Practitioner’s

SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Reference HOUSTON COMMUNITY COLLEGE SYSTEM Software Engineering, A Practitioner’s Approach, 4 nd Edition Roger S. Pressman, Ph. D. Mc. Graw-Hill, 2002. Software Engineering Jan Sommerville 38