cost as a business driver 1 john brown c eng miee mr_ [email protected] software cost...
TRANSCRIPT
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
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).
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).
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.
6
Cost as a Business Driver
Data Capture
• Previous Projects• Expert System• ERP (Enterprise Resource Planning)
Systems• Interview - Expert Judgment• Software Questionnaire
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.
8
Cost as a Business Driver
COTS - Software Cost Estimation Tools
• COCOMO II• SLIM• PRICE “S”• SEER - SEM• Others
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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
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
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
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
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