SlideShare a Scribd company logo
1 of 21
Download to read offline
Presented at 2007 ISPA-SCEA Joint Conference
Technomics
201 12th Street South
Suite 612, West Tower
Arlington, VA 22202
Voice (703) 412-0602
5290 Overpass Road
Suite 206
Santa Barbara, CA 93111
Voice (805) 964-9894
Simple is Not Necessarily Better:
Why Software Productivity Factors
Can Lead to Bad Estimates
2007 ISPA-SCEA Joint Conference
New Orleans, LA
Simple is Not Necessarily Better:
Why Software Productivity Factors
Can Lead to Bad Estimates
2007 ISPA-SCEA Joint Conference
New Orleans, LA
Michael A. Gallo
Paul Hardin
Presented at 2007 ISPA-SCEA Joint Conference Slide 1Technomics
The problem…The problem…
The use of simple productivity factors to
estimate software development cost injects
unnecessary risk into the program.
SIZE ESTIMATE
(ESLOC)
SIZE ESTIMATE
(ESLOC) X
PRODUCTIVITY
FACTOR
(HRS/ESLOC)
PRODUCTIVITY
FACTOR
(HRS/ESLOC)
=
ESTIMATED
EFFORT
(HRS)
ESTIMATED
EFFORT
(HRS)
SOFTWARE COST ESTIMATING USING THE PRODUCTIVITY METHOD
• ESLOC (Equivalent 
New Source Lines of 
Code) is a weighted sum 
of New, Modified, 
Reused, etc.  The 
weights used for 
modified and reused, etc 
are typically less than 1 
which implies that the 
cost of this code is less 
than the cost of new 
code.
• In almost all cases, 
ESLOC ≤ Delivered 
SLOC (DSLOC)
• Based on either an 
analogy to a similar 
completed project 
development or based 
on an average of 
productivities of several 
analogous projects
• Frequently reflects only 
‘core’ software 
development activities 
(Design, Code, Unit 
Test)
• Method for computing 
ESLOC may differ from 
method used to compute 
estimated ESLOC
• Estimated effort will 
reflect the set of 
activities included in 
the productivity factor
• Additional activities 
(e.g. Requirements, 
System Integration & 
Test, etc) are estimated 
as a factor of the ‘core’
software development 
estimate
Presented at 2007 ISPA-SCEA Joint Conference Slide 2Technomics
Risks Associated With Productivity FactorsRisks Associated With Productivity Factors
1. Linear extrapolation fails to account
for diseconomies of scale
2. Error can be exacerbated when the
estimate is treated discretely rather
than as a whole system
3. May neglect to properly count ESLOC
for incremental developments
4. Leads to erroneous use of
adjustment factors to account for
missing software development
activities
Presented at 2007 ISPA-SCEA Joint Conference Slide 3Technomics
Effort
Size
New
SW Project
The potential for significant estimating error exists when 
a software estimate is built based upon the productivity 
of an analogous software development project. 
1.  A productivity based approach 
starts with an analogous project that 
(hopefully) is completed.  The analyst 
derives a productivity by taking the 
ratio of actual effort incurred to size of 
the software developed.  Size is 
usually a weighted sum of new, 
modified, and reused software, for 
example, ESLOC.
Productivity = Total Effort/ESLOC 
2.  The estimate of the new software development project uses the 
productivity derived from the analogous project in #1.  This is a linear 
extrapolation (represented by the blue dashed line) from the analogous 
project.
New SW Project Effort  = New SW Project ESLOC x (Productivity)
Completed Project
Our “Analogy”
3.  Technomics research shows a continuation of 
diseconomy of scale for weapon system software 
development.  That means the effort to develop 
software increases non‐linearly as the size of the 
software grows.
New SW Project Effort  = k* New SW Project ESLOC
Z
4.  As the size of the new project 
continues to move away from the size 
of the analogous program, the non‐
linear estimate will continue to 
diverge from the productivity based 
estimate.  The gap between the two 
estimates is the potential error that 
exists in the estimate by not 
accounting for diseconomy of scale.
Risk #1: Linear ExtrapolationRisk #1: Linear Extrapolation
Diseconomies of scale remains
prevalent in DoD software
projects
– Effort = a*Sizeb; b>1
Productivity methods use a linear
relationship
– Effort = a * Size1
Impact: a potentially large
underestimation of effort when
size of project is substantially
larger than its analogy
Simple productivity factors fail to reflect diseconomies of scale
Potential Error Arising from the Use
of a Linearly Extrapolated Productivity Analogy
to Estimate SW Development Effort
1.0X
1.1X
1.2X
1.3X
1.4X
1.5X
1.6X
1.7X
1X 4X 7X 10X
Ratio (New Project SIZE / Analagous Project SIZE)
Ratio(Non-LinearEstimate/LinearEstimate)
b = 1.20
b = 1.15
b = 1.10
b = 1.05
b = 1.02
Trend in DoD Weapon System Software Size
Size measured in Source Lines of Code
1.4M0.80M0.40M0.24M
34M
16M
13M
2.8M
1.7M
F-14D F/A-18 A/B F/A-18 C/D C-17 F-22 F/A-18 E/F Joint Strike
Fighter
DD(X) Future
Combat
System
Sources:
General Accounting Office
Defense Contract Management Agency
Software Productivity Consortium
F‐22 Program Website
Presented at 2007 ISPA-SCEA Joint Conference Slide 4Technomics
Risk #2: Ignoring System EffectsRisk #2: Ignoring System Effects
The whole (i.e.
system) is greater than
the sum of its parts
(i.e. components and
sub-systems)
Existing DoD databases
have perpetuated this
problem
– Systems are broken up and
sanitized to protect
proprietary data
– Little if any insight into the
number of development
organizations by system
– Few (if any) total system
data points
Hrs
Size
Diseconomies
of scale trend
Diseconomies
of scale trend
ErrorError
Discrete Component Size
Total System
Size
Σ Discrete Effort Estimates
Without System Effect
System Effort Estimate
Discrete Effort Estimates
with System Effect
Discrete Effort Estimates
Without System Effect
Current DoD data and analyses miss the ‘big picture’
Tier 1Tier 1
SubSub--ContractorContractor
Tier 2Tier 2
SubSub--ContractorContractor
DisplayDisplay
SystemSystem
ContractorContractor
EWEW
EWEW
System of SystemsSystem of Systems
ContractorContractor
IntegratedIntegrated
AvionicsAvionics
DisplayDisplay
107 - 106 106 - 105 105 - 104 105 - 103
Increasing Product Size (SLOC)
Increasing Level of Integration
Prevalence
of Data Collected
Presented at 2007 ISPA-SCEA Joint Conference Slide 5Technomics
Risk #3: Incremental DevelopmentRisk #3: Incremental Development
Incremental
development looks
suspiciously like pre-
planned product
improvement
– Successive deliveries of
software are built upon
pre-existing base of
software
– Cost to build, integrate and
test the latest product
build is a function of the
product’s cumulative size
Estimates should
incorporate pre-
existing base in the
ESLOC computation
Incremental Development
1 1
2
1
2
3
1
2
3
4
Increments
DeliveredSize
Increment 1
Increment 2
Increment 3
Increment 4
ESLOC computations must include cumulative reuse
Pre-Planned Product Improvement
1 1
2
1
2
3
1
2
3
4
Production Versions
DeliveredSize
Version 1.0
Version 2.0
Version 3.0
Version 4.0
Presented at 2007 ISPA-SCEA Joint Conference Slide 6Technomics
Risk #4: Flawed Adjustment FactorsRisk #4: Flawed Adjustment Factors
Developer’s definition
of software effort may
not align with cost
analyst’s standardized
definition of effort
It is common practice
to apply simple (fixed)
factors to add or
remove software
development activities
However, distribution
of activities changes as
the size of the software
changes –Result: too
much (or too little)
addition or removal of
effort
Application of fixed factors increases estimating error
System
Reqt's
System
Reqt's
System
Reqt's
System
Reqt's
System
Reqt's
System
Reqt's
System
Reqt's
System
Design
System
Design
System
Design
System
Design
System
Design
System
Design
System
Design
SW Reqt'sSW Reqt'sSW Reqt'sSW Reqt'sSW Reqt'sSW Reqt'sSW Reqt's
Prototyping Prototyping Prototyping Prototyping Prototyping Prototyping Prototyping
Prelim Des Prelim Des Prelim Des Prelim Des Prelim Des Prelim Des Prelim Des
Detailed
Design
Detailed
Design
Detailed
Design
Detailed
Design
Detailed
Design
Detailed
Design
Detailed
Design
C&UT C&UT C&UT C&UT C&UT C&UTC&UT
SW I&T
SW I&T SW I&T
SW I&T SW I&T
SW I&T SW I&T
System I&T System I&T System I&T System I&T System I&T System I&T System I&T
Certification Certification Certification Certification Certification Certification Certification
CM CM CM CM CM CM CM
QA QA QA QA QA QA QA
SW PM SW PM SW PM SW PM SW PM SW PM SW PM
Data Data Data Data Data Data Data
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
10,000 50,000 100,000 500,000 1,000,000 5,000,000 10,000,000
Equivalent New SLOC
%ofTotalEffort
Standardized Software
Cost Estimate
Contractor A Standard
SW Development
Activities
X
Contractor B Standard
SW Development
Activities
Activity to
remove
from the
SW cost
estimate
Activity to
add to the
SW cost
estimate
Presented at 2007 ISPA-SCEA Joint Conference Slide 7Technomics
How to Mitigate These RisksHow to Mitigate These Risks
Use parametric
estimating relationships
to add/remove activities
Flawed Adjustment
Factors
Include ‘Carryover’ in
ESLOC computation
Incremental Sizing
Derive equations at the
system level; specify
equations below system
level
System Effect
Use proper parametric
estimating relationships
Linear Extrapolation
Our ApproachProblem
A new Technomics model (VERA) implements these approaches
Presented at 2007 ISPA-SCEA Joint Conference Slide 8Technomics
Final ThoughtFinal Thought
Source:  “Engineering of Systems for Navy Interoperability”, Version 5.8 dated April 2003  by Eric Honour, Honourcode, Inc.
http://jax.acqconf.com/Presentations/Power%20Points/SE‐Interop.pdf
Presented at 2007 ISPA-SCEA Joint Conference Slide 9Technomics
Technomics POCsTechnomics POCs
Mike Gallo, Senior Cost Analyst
Phone (571) 366-1405
E-mail: mgallo@technomics.net
Paul Hardin, Senior Cost Analyst
Phone: (571) 366-1407
E-mail: phardin@technomics.net
Fax: (703) 412-0600
Web Site: www.technomics.net
Hyperlink
Graphics Slides
Hyperlink
Graphics Slides
K
Size
Effort Graph of Effort = K * SIZEb
b>1, Effort increasing at increasing rate
0 < b < 1, Effort increasing at decreasing rate
b = 1, Effort increasing at constant rate
‐1 < b < 0, Effort decreasing at decreasing rate
b <‐ 1, Effort decreasing at increasing  rate
Hyperlink from Slide 2
Effort
Size
New
SW Project
The potential for significant estimating error exists when 
a software estimate is built based upon the productivity 
of an analogous software development project. 
1.  A productivity based approach 
starts with an analogous project that 
(hopefully) is completed.  The analyst 
derives a productivity by taking the 
ratio of actual effort incurred to size of 
the software developed.  Size is 
usually a weighted sum of new, 
modified, and reused software, for 
example, ESLOC.
Productivity = Total Effort/ESLOC 
2.  The estimate of the new software development project uses the 
productivity derived from the analogous project in #1.  This is a linear 
extrapolation (represented by the blue dashed line) from the analogous 
project.
New SW Project Effort  = New SW Project ESLOC x (Productivity)
Completed Project
Our “Analogy”
3.  Technomics research shows a continuation of 
diseconomy of scale for weapon system software 
development.  That means the effort to develop 
software increases non‐linearly as the size of the 
software grows.
New SW Project Effort  = k* New SW Project ESLOC
Z
4.  As the size of the new project 
continues to move away from the size 
of the analogous program, the non‐
linear estimate will continue to 
diverge from the productivity based 
estimate.  The gap between the two 
estimates is the potential error that 
exists in the estimate by not 
accounting for diseconomy of scale.
Hyperlink from Slide 3
Hyperlink from Slide 3
Potential Error Arising from the Use
of a Linearly Extrapolated Productivity Analogy
to Estimate SW Development Effort
1.0X
1.1X
1.2X
1.3X
1.4X
1.5X
1.6X
1.7X
1X 4X 7X 10X
Ratio (New Project SIZE / Analagous Project SIZE)
Ratio(Non-LinearEstimate/LinearEstimate)
b = 1.20
b = 1.15
b = 1.10
b = 1.05
b = 1.02
Hyperlink from Slide 3
Trend in DoD Weapon System Software Size
Size measured in Source Lines of Code
1.4M0.80M0.40M0.24M
34M
16M
13M
2.8M
1.7M
F-14D F/A-18 A/B F/A-18 C/D C-17 F-22 F/A-18 E/F Joint Strike
Fighter
DD(X) Future
Combat
System
Sources:
General Accounting Office
Defense Contract Management Agency
Software Productivity Consortium
F‐22 Program Website
Hrs
Size
Diseconomies
of scale trend
Diseconomies
of scale trend
ErrorError
Discrete Component Size
Total System
Size
Σ Discrete Effort Estimates
Without System Effect
System Effort Estimate
Discrete Effort Estimates
with System Effect
Discrete Effort Estimates
Without System Effect
Hyperlink from Slide 4
Tier 1Tier 1
SubSub--ContractorContractor
Tier 2Tier 2
SubSub--ContractorContractor
DisplayDisplay
SystemSystem
ContractorContractor
EWEW
EWEW
System of SystemsSystem of Systems
ContractorContractor
IntegratedIntegrated
AvionicsAvionics
DisplayDisplay
107 - 106 106 - 105 105 - 104 105 - 103
Increasing Product Size (SLOC)
Increasing Level of Integration
Prevalence
of Data Collected
Hyperlink from Slide 4
Pre-Planned Product Improvement
1 1
2
1
2
3
1
2
3
4
Production Versions
DeliveredSize
Version 1.0
Version 2.0
Version 3.0
Version 4.0
Incremental Development
1 1
2
1
2
3
1
2
3
4
Increments
DeliveredSize
Increment 1
Increment 2
Increment 3
Increment 4
Hyperlink from Slide 6
Standardized Software
Cost Estimate
Contractor A Standard
SW Development
Activities
X
Contractor B Standard
SW Development
Activities
Activity to
remove
from the
SW cost
estimate
Activity to
add to the
SW cost
estimate
System
Reqt's
System
Reqt's
System
Reqt's
System
Reqt's
System
Reqt's
System
Reqt's
System
Reqt's
System
Design
System
Design
System
Design
System
Design
System
Design
System
Design
System
Design
SW Reqt'sSW Reqt'sSW Reqt'sSW Reqt'sSW Reqt'sSW Reqt'sSW Reqt's
Prototyping Prototyping Prototyping Prototyping Prototyping Prototyping Prototyping
Prelim Des Prelim Des Prelim Des Prelim Des Prelim Des Prelim Des Prelim Des
Detailed
Design
Detailed
Design
Detailed
Design
Detailed
Design
Detailed
Design
Detailed
Design
Detailed
Design
C&UT C&UT C&UT C&UT C&UT C&UTC&UT
SW I&T
SW I&T SW I&T
SW I&T SW I&T
SW I&T SW I&T
System I&T System I&T System I&T System I&T System I&T System I&T System I&T
Certification Certification Certification Certification Certification Certification Certification
CM CM CM CM CM CM CM
QA QA QA QA QA QA QA
SW PM SW PM SW PM SW PM SW PM SW PM SW PM
Data Data Data Data Data Data Data
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
10,000 50,000 100,000 500,000 1,000,000 5,000,000 10,000,000
Equivalent New SLOC
%ofTotalEffort
Hyperlink from Slide 6

More Related Content

What's hot

WITS Presentation - 6 Dec 2013
WITS Presentation - 6 Dec 2013WITS Presentation - 6 Dec 2013
WITS Presentation - 6 Dec 2013
Magdalene Tan
 
Friedenthal.sandford
Friedenthal.sandfordFriedenthal.sandford
Friedenthal.sandford
NASAPMC
 
Estimation
EstimationEstimation
Estimation
weebill
 
Kapruch steve
Kapruch steveKapruch steve
Kapruch steve
NASAPMC
 
Cook.richard
Cook.richardCook.richard
Cook.richard
NASAPMC
 
Chapter 5 software design
Chapter 5 software designChapter 5 software design
Chapter 5 software design
Piyush Gogia
 

What's hot (20)

WITS Presentation - 6 Dec 2013
WITS Presentation - 6 Dec 2013WITS Presentation - 6 Dec 2013
WITS Presentation - 6 Dec 2013
 
IC Mask Design - IC Layout Acceleration Tool - DAC Conference, June 2010
IC Mask Design - IC Layout Acceleration Tool - DAC Conference, June 2010IC Mask Design - IC Layout Acceleration Tool - DAC Conference, June 2010
IC Mask Design - IC Layout Acceleration Tool - DAC Conference, June 2010
 
Friedenthal.sandford
Friedenthal.sandfordFriedenthal.sandford
Friedenthal.sandford
 
Enhancing the Software Effort Prediction Accuracy using Reduced Number of Cos...
Enhancing the Software Effort Prediction Accuracy using Reduced Number of Cos...Enhancing the Software Effort Prediction Accuracy using Reduced Number of Cos...
Enhancing the Software Effort Prediction Accuracy using Reduced Number of Cos...
 
Estimation
EstimationEstimation
Estimation
 
Ac2017 6. output based contracting
Ac2017   6. output based contractingAc2017   6. output based contracting
Ac2017 6. output based contracting
 
A Suite Of Tools For Technology Assessment
A Suite Of Tools For Technology AssessmentA Suite Of Tools For Technology Assessment
A Suite Of Tools For Technology Assessment
 
Software Estimation
Software EstimationSoftware Estimation
Software Estimation
 
Kapruch steve
Kapruch steveKapruch steve
Kapruch steve
 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
 
Lecture5
Lecture5Lecture5
Lecture5
 
Software effort estimation
Software effort estimationSoftware effort estimation
Software effort estimation
 
Cook.richard
Cook.richardCook.richard
Cook.richard
 
Chapter 9 software maintenance
Chapter 9 software maintenanceChapter 9 software maintenance
Chapter 9 software maintenance
 
Unit 5
Unit   5Unit   5
Unit 5
 
Software Metrics - Software Engineering
Software Metrics - Software EngineeringSoftware Metrics - Software Engineering
Software Metrics - Software Engineering
 
Productivity Factors in Software Development for PC Platform
Productivity Factors in Software Development for PC PlatformProductivity Factors in Software Development for PC Platform
Productivity Factors in Software Development for PC Platform
 
Software metrics
Software metricsSoftware metrics
Software metrics
 
Chapter 5 software design
Chapter 5 software designChapter 5 software design
Chapter 5 software design
 
Decomposition technique In Software Engineering
Decomposition technique In Software Engineering Decomposition technique In Software Engineering
Decomposition technique In Software Engineering
 

Similar to Simple is Not Necessarily Better: Why Software Productivity Factors Can Lead to Bad Estimates

QM-007-Design for 6 sigma
QM-007-Design for 6 sigmaQM-007-Design for 6 sigma
QM-007-Design for 6 sigma
handbook
 
Care with Source2VALUE
Care with Source2VALUECare with Source2VALUE
Care with Source2VALUE
meijerandre
 
Alm Specialist Toolkit Team System 2008 Deep Dive
Alm Specialist Toolkit   Team System 2008 Deep DiveAlm Specialist Toolkit   Team System 2008 Deep Dive
Alm Specialist Toolkit Team System 2008 Deep Dive
Christian Thilmany
 
Pm Scheduling Cost Pricing
Pm Scheduling Cost PricingPm Scheduling Cost Pricing
Pm Scheduling Cost Pricing
jonathan077070
 

Similar to Simple is Not Necessarily Better: Why Software Productivity Factors Can Lead to Bad Estimates (20)

QM-007-Design for 6 sigma
QM-007-Design for 6 sigmaQM-007-Design for 6 sigma
QM-007-Design for 6 sigma
 
Spm software effort estimation
Spm software effort estimationSpm software effort estimation
Spm software effort estimation
 
LIFT: A Legacy InFormation retrieval Tool
LIFT: A Legacy InFormation retrieval ToolLIFT: A Legacy InFormation retrieval Tool
LIFT: A Legacy InFormation retrieval Tool
 
Lean six sigma executive overview (case study) templates
Lean six sigma executive overview (case study) templatesLean six sigma executive overview (case study) templates
Lean six sigma executive overview (case study) templates
 
Demantra Case Study Doug
Demantra Case Study DougDemantra Case Study Doug
Demantra Case Study Doug
 
Care with Source2VALUE
Care with Source2VALUECare with Source2VALUE
Care with Source2VALUE
 
Machine programming
Machine programmingMachine programming
Machine programming
 
Alm Specialist Toolkit Team System 2008 Deep Dive
Alm Specialist Toolkit   Team System 2008 Deep DiveAlm Specialist Toolkit   Team System 2008 Deep Dive
Alm Specialist Toolkit Team System 2008 Deep Dive
 
Software Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer ScienceSoftware Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer Science
 
What does an event mean? Manage the meaning of your data! | Andreas Wombacher...
What does an event mean? Manage the meaning of your data! | Andreas Wombacher...What does an event mean? Manage the meaning of your data! | Andreas Wombacher...
What does an event mean? Manage the meaning of your data! | Andreas Wombacher...
 
Managing Software Risk with CAST
Managing Software Risk with CASTManaging Software Risk with CAST
Managing Software Risk with CAST
 
Pm Scheduling Cost Pricing
Pm Scheduling Cost PricingPm Scheduling Cost Pricing
Pm Scheduling Cost Pricing
 
Software Development Life Cycle
Software Development Life Cycle Software Development Life Cycle
Software Development Life Cycle
 
Derivación y aplicación de un Modelo de Estimación de Costos para la Ingenier...
Derivación y aplicación de un Modelo de Estimación de Costos para la Ingenier...Derivación y aplicación de un Modelo de Estimación de Costos para la Ingenier...
Derivación y aplicación de un Modelo de Estimación de Costos para la Ingenier...
 
The Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs PublicThe Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs Public
 
Se notes
Se notesSe notes
Se notes
 
Airbyte - Seed deck
Airbyte  - Seed deckAirbyte  - Seed deck
Airbyte - Seed deck
 
Managing Application Compatibility In Windows 7
Managing Application Compatibility In Windows 7Managing Application Compatibility In Windows 7
Managing Application Compatibility In Windows 7
 
Fda 21 CFR 820.30 compliant software development process
Fda 21 CFR 820.30 compliant software development processFda 21 CFR 820.30 compliant software development process
Fda 21 CFR 820.30 compliant software development process
 
The Increasing Value and Complexity of Software Call for the Reevaluation of ...
The Increasing Value and Complexity of Software Call for the Reevaluation of ...The Increasing Value and Complexity of Software Call for the Reevaluation of ...
The Increasing Value and Complexity of Software Call for the Reevaluation of ...
 

Recently uploaded

Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...
Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...
Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...
amitlee9823
 
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
lizamodels9
 
Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...
Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...
Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...
lizamodels9
 
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabiunwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
Abortion pills in Kuwait Cytotec pills in Kuwait
 
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Dipal Arora
 

Recently uploaded (20)

Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...
Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...
Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...
 
Phases of Negotiation .pptx
 Phases of Negotiation .pptx Phases of Negotiation .pptx
Phases of Negotiation .pptx
 
Monthly Social Media Update April 2024 pptx.pptx
Monthly Social Media Update April 2024 pptx.pptxMonthly Social Media Update April 2024 pptx.pptx
Monthly Social Media Update April 2024 pptx.pptx
 
Dr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdfDr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdf
 
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
 
Famous Olympic Siblings from the 21st Century
Famous Olympic Siblings from the 21st CenturyFamous Olympic Siblings from the 21st Century
Famous Olympic Siblings from the 21st Century
 
Call Girls Service In Old Town Dubai ((0551707352)) Old Town Dubai Call Girl ...
Call Girls Service In Old Town Dubai ((0551707352)) Old Town Dubai Call Girl ...Call Girls Service In Old Town Dubai ((0551707352)) Old Town Dubai Call Girl ...
Call Girls Service In Old Town Dubai ((0551707352)) Old Town Dubai Call Girl ...
 
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best ServicesMysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
 
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
 
Forklift Operations: Safety through Cartoons
Forklift Operations: Safety through CartoonsForklift Operations: Safety through Cartoons
Forklift Operations: Safety through Cartoons
 
Pharma Works Profile of Karan Communications
Pharma Works Profile of Karan CommunicationsPharma Works Profile of Karan Communications
Pharma Works Profile of Karan Communications
 
Value Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and painsValue Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and pains
 
Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...
Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...
Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...
 
Organizational Transformation Lead with Culture
Organizational Transformation Lead with CultureOrganizational Transformation Lead with Culture
Organizational Transformation Lead with Culture
 
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabiunwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
 
RSA Conference Exhibitor List 2024 - Exhibitors Data
RSA Conference Exhibitor List 2024 - Exhibitors DataRSA Conference Exhibitor List 2024 - Exhibitors Data
RSA Conference Exhibitor List 2024 - Exhibitors Data
 
Cracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptxCracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptx
 
Ensure the security of your HCL environment by applying the Zero Trust princi...
Ensure the security of your HCL environment by applying the Zero Trust princi...Ensure the security of your HCL environment by applying the Zero Trust princi...
Ensure the security of your HCL environment by applying the Zero Trust princi...
 
A DAY IN THE LIFE OF A SALESMAN / WOMAN
A DAY IN THE LIFE OF A  SALESMAN / WOMANA DAY IN THE LIFE OF A  SALESMAN / WOMAN
A DAY IN THE LIFE OF A SALESMAN / WOMAN
 
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
 

Simple is Not Necessarily Better: Why Software Productivity Factors Can Lead to Bad Estimates

  • 1. Presented at 2007 ISPA-SCEA Joint Conference Technomics 201 12th Street South Suite 612, West Tower Arlington, VA 22202 Voice (703) 412-0602 5290 Overpass Road Suite 206 Santa Barbara, CA 93111 Voice (805) 964-9894 Simple is Not Necessarily Better: Why Software Productivity Factors Can Lead to Bad Estimates 2007 ISPA-SCEA Joint Conference New Orleans, LA Simple is Not Necessarily Better: Why Software Productivity Factors Can Lead to Bad Estimates 2007 ISPA-SCEA Joint Conference New Orleans, LA Michael A. Gallo Paul Hardin
  • 2. Presented at 2007 ISPA-SCEA Joint Conference Slide 1Technomics The problem…The problem… The use of simple productivity factors to estimate software development cost injects unnecessary risk into the program. SIZE ESTIMATE (ESLOC) SIZE ESTIMATE (ESLOC) X PRODUCTIVITY FACTOR (HRS/ESLOC) PRODUCTIVITY FACTOR (HRS/ESLOC) = ESTIMATED EFFORT (HRS) ESTIMATED EFFORT (HRS) SOFTWARE COST ESTIMATING USING THE PRODUCTIVITY METHOD • ESLOC (Equivalent  New Source Lines of  Code) is a weighted sum  of New, Modified,  Reused, etc.  The  weights used for  modified and reused, etc  are typically less than 1  which implies that the  cost of this code is less  than the cost of new  code. • In almost all cases,  ESLOC ≤ Delivered  SLOC (DSLOC) • Based on either an  analogy to a similar  completed project  development or based  on an average of  productivities of several  analogous projects • Frequently reflects only  ‘core’ software  development activities  (Design, Code, Unit  Test) • Method for computing  ESLOC may differ from  method used to compute  estimated ESLOC • Estimated effort will  reflect the set of  activities included in  the productivity factor • Additional activities  (e.g. Requirements,  System Integration &  Test, etc) are estimated  as a factor of the ‘core’ software development  estimate
  • 3. Presented at 2007 ISPA-SCEA Joint Conference Slide 2Technomics Risks Associated With Productivity FactorsRisks Associated With Productivity Factors 1. Linear extrapolation fails to account for diseconomies of scale 2. Error can be exacerbated when the estimate is treated discretely rather than as a whole system 3. May neglect to properly count ESLOC for incremental developments 4. Leads to erroneous use of adjustment factors to account for missing software development activities
  • 4. Presented at 2007 ISPA-SCEA Joint Conference Slide 3Technomics Effort Size New SW Project The potential for significant estimating error exists when  a software estimate is built based upon the productivity  of an analogous software development project.  1.  A productivity based approach  starts with an analogous project that  (hopefully) is completed.  The analyst  derives a productivity by taking the  ratio of actual effort incurred to size of  the software developed.  Size is  usually a weighted sum of new,  modified, and reused software, for  example, ESLOC. Productivity = Total Effort/ESLOC  2.  The estimate of the new software development project uses the  productivity derived from the analogous project in #1.  This is a linear  extrapolation (represented by the blue dashed line) from the analogous  project. New SW Project Effort  = New SW Project ESLOC x (Productivity) Completed Project Our “Analogy” 3.  Technomics research shows a continuation of  diseconomy of scale for weapon system software  development.  That means the effort to develop  software increases non‐linearly as the size of the  software grows. New SW Project Effort  = k* New SW Project ESLOC Z 4.  As the size of the new project  continues to move away from the size  of the analogous program, the non‐ linear estimate will continue to  diverge from the productivity based  estimate.  The gap between the two  estimates is the potential error that  exists in the estimate by not  accounting for diseconomy of scale. Risk #1: Linear ExtrapolationRisk #1: Linear Extrapolation Diseconomies of scale remains prevalent in DoD software projects – Effort = a*Sizeb; b>1 Productivity methods use a linear relationship – Effort = a * Size1 Impact: a potentially large underestimation of effort when size of project is substantially larger than its analogy Simple productivity factors fail to reflect diseconomies of scale Potential Error Arising from the Use of a Linearly Extrapolated Productivity Analogy to Estimate SW Development Effort 1.0X 1.1X 1.2X 1.3X 1.4X 1.5X 1.6X 1.7X 1X 4X 7X 10X Ratio (New Project SIZE / Analagous Project SIZE) Ratio(Non-LinearEstimate/LinearEstimate) b = 1.20 b = 1.15 b = 1.10 b = 1.05 b = 1.02 Trend in DoD Weapon System Software Size Size measured in Source Lines of Code 1.4M0.80M0.40M0.24M 34M 16M 13M 2.8M 1.7M F-14D F/A-18 A/B F/A-18 C/D C-17 F-22 F/A-18 E/F Joint Strike Fighter DD(X) Future Combat System Sources: General Accounting Office Defense Contract Management Agency Software Productivity Consortium F‐22 Program Website
  • 5. Presented at 2007 ISPA-SCEA Joint Conference Slide 4Technomics Risk #2: Ignoring System EffectsRisk #2: Ignoring System Effects The whole (i.e. system) is greater than the sum of its parts (i.e. components and sub-systems) Existing DoD databases have perpetuated this problem – Systems are broken up and sanitized to protect proprietary data – Little if any insight into the number of development organizations by system – Few (if any) total system data points Hrs Size Diseconomies of scale trend Diseconomies of scale trend ErrorError Discrete Component Size Total System Size Σ Discrete Effort Estimates Without System Effect System Effort Estimate Discrete Effort Estimates with System Effect Discrete Effort Estimates Without System Effect Current DoD data and analyses miss the ‘big picture’ Tier 1Tier 1 SubSub--ContractorContractor Tier 2Tier 2 SubSub--ContractorContractor DisplayDisplay SystemSystem ContractorContractor EWEW EWEW System of SystemsSystem of Systems ContractorContractor IntegratedIntegrated AvionicsAvionics DisplayDisplay 107 - 106 106 - 105 105 - 104 105 - 103 Increasing Product Size (SLOC) Increasing Level of Integration Prevalence of Data Collected
  • 6. Presented at 2007 ISPA-SCEA Joint Conference Slide 5Technomics Risk #3: Incremental DevelopmentRisk #3: Incremental Development Incremental development looks suspiciously like pre- planned product improvement – Successive deliveries of software are built upon pre-existing base of software – Cost to build, integrate and test the latest product build is a function of the product’s cumulative size Estimates should incorporate pre- existing base in the ESLOC computation Incremental Development 1 1 2 1 2 3 1 2 3 4 Increments DeliveredSize Increment 1 Increment 2 Increment 3 Increment 4 ESLOC computations must include cumulative reuse Pre-Planned Product Improvement 1 1 2 1 2 3 1 2 3 4 Production Versions DeliveredSize Version 1.0 Version 2.0 Version 3.0 Version 4.0
  • 7. Presented at 2007 ISPA-SCEA Joint Conference Slide 6Technomics Risk #4: Flawed Adjustment FactorsRisk #4: Flawed Adjustment Factors Developer’s definition of software effort may not align with cost analyst’s standardized definition of effort It is common practice to apply simple (fixed) factors to add or remove software development activities However, distribution of activities changes as the size of the software changes –Result: too much (or too little) addition or removal of effort Application of fixed factors increases estimating error System Reqt's System Reqt's System Reqt's System Reqt's System Reqt's System Reqt's System Reqt's System Design System Design System Design System Design System Design System Design System Design SW Reqt'sSW Reqt'sSW Reqt'sSW Reqt'sSW Reqt'sSW Reqt'sSW Reqt's Prototyping Prototyping Prototyping Prototyping Prototyping Prototyping Prototyping Prelim Des Prelim Des Prelim Des Prelim Des Prelim Des Prelim Des Prelim Des Detailed Design Detailed Design Detailed Design Detailed Design Detailed Design Detailed Design Detailed Design C&UT C&UT C&UT C&UT C&UT C&UTC&UT SW I&T SW I&T SW I&T SW I&T SW I&T SW I&T SW I&T System I&T System I&T System I&T System I&T System I&T System I&T System I&T Certification Certification Certification Certification Certification Certification Certification CM CM CM CM CM CM CM QA QA QA QA QA QA QA SW PM SW PM SW PM SW PM SW PM SW PM SW PM Data Data Data Data Data Data Data 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% 10,000 50,000 100,000 500,000 1,000,000 5,000,000 10,000,000 Equivalent New SLOC %ofTotalEffort Standardized Software Cost Estimate Contractor A Standard SW Development Activities X Contractor B Standard SW Development Activities Activity to remove from the SW cost estimate Activity to add to the SW cost estimate
  • 8. Presented at 2007 ISPA-SCEA Joint Conference Slide 7Technomics How to Mitigate These RisksHow to Mitigate These Risks Use parametric estimating relationships to add/remove activities Flawed Adjustment Factors Include ‘Carryover’ in ESLOC computation Incremental Sizing Derive equations at the system level; specify equations below system level System Effect Use proper parametric estimating relationships Linear Extrapolation Our ApproachProblem A new Technomics model (VERA) implements these approaches
  • 9. Presented at 2007 ISPA-SCEA Joint Conference Slide 8Technomics Final ThoughtFinal Thought Source:  “Engineering of Systems for Navy Interoperability”, Version 5.8 dated April 2003  by Eric Honour, Honourcode, Inc. http://jax.acqconf.com/Presentations/Power%20Points/SE‐Interop.pdf
  • 10. Presented at 2007 ISPA-SCEA Joint Conference Slide 9Technomics Technomics POCsTechnomics POCs Mike Gallo, Senior Cost Analyst Phone (571) 366-1405 E-mail: mgallo@technomics.net Paul Hardin, Senior Cost Analyst Phone: (571) 366-1407 E-mail: phardin@technomics.net Fax: (703) 412-0600 Web Site: www.technomics.net
  • 12. K Size Effort Graph of Effort = K * SIZEb b>1, Effort increasing at increasing rate 0 < b < 1, Effort increasing at decreasing rate b = 1, Effort increasing at constant rate ‐1 < b < 0, Effort decreasing at decreasing rate b <‐ 1, Effort decreasing at increasing  rate Hyperlink from Slide 2
  • 13. Effort Size New SW Project The potential for significant estimating error exists when  a software estimate is built based upon the productivity  of an analogous software development project.  1.  A productivity based approach  starts with an analogous project that  (hopefully) is completed.  The analyst  derives a productivity by taking the  ratio of actual effort incurred to size of  the software developed.  Size is  usually a weighted sum of new,  modified, and reused software, for  example, ESLOC. Productivity = Total Effort/ESLOC  2.  The estimate of the new software development project uses the  productivity derived from the analogous project in #1.  This is a linear  extrapolation (represented by the blue dashed line) from the analogous  project. New SW Project Effort  = New SW Project ESLOC x (Productivity) Completed Project Our “Analogy” 3.  Technomics research shows a continuation of  diseconomy of scale for weapon system software  development.  That means the effort to develop  software increases non‐linearly as the size of the  software grows. New SW Project Effort  = k* New SW Project ESLOC Z 4.  As the size of the new project  continues to move away from the size  of the analogous program, the non‐ linear estimate will continue to  diverge from the productivity based  estimate.  The gap between the two  estimates is the potential error that  exists in the estimate by not  accounting for diseconomy of scale. Hyperlink from Slide 3
  • 14. Hyperlink from Slide 3 Potential Error Arising from the Use of a Linearly Extrapolated Productivity Analogy to Estimate SW Development Effort 1.0X 1.1X 1.2X 1.3X 1.4X 1.5X 1.6X 1.7X 1X 4X 7X 10X Ratio (New Project SIZE / Analagous Project SIZE) Ratio(Non-LinearEstimate/LinearEstimate) b = 1.20 b = 1.15 b = 1.10 b = 1.05 b = 1.02
  • 15. Hyperlink from Slide 3 Trend in DoD Weapon System Software Size Size measured in Source Lines of Code 1.4M0.80M0.40M0.24M 34M 16M 13M 2.8M 1.7M F-14D F/A-18 A/B F/A-18 C/D C-17 F-22 F/A-18 E/F Joint Strike Fighter DD(X) Future Combat System Sources: General Accounting Office Defense Contract Management Agency Software Productivity Consortium F‐22 Program Website
  • 16. Hrs Size Diseconomies of scale trend Diseconomies of scale trend ErrorError Discrete Component Size Total System Size Σ Discrete Effort Estimates Without System Effect System Effort Estimate Discrete Effort Estimates with System Effect Discrete Effort Estimates Without System Effect Hyperlink from Slide 4
  • 17. Tier 1Tier 1 SubSub--ContractorContractor Tier 2Tier 2 SubSub--ContractorContractor DisplayDisplay SystemSystem ContractorContractor EWEW EWEW System of SystemsSystem of Systems ContractorContractor IntegratedIntegrated AvionicsAvionics DisplayDisplay 107 - 106 106 - 105 105 - 104 105 - 103 Increasing Product Size (SLOC) Increasing Level of Integration Prevalence of Data Collected Hyperlink from Slide 4
  • 18. Pre-Planned Product Improvement 1 1 2 1 2 3 1 2 3 4 Production Versions DeliveredSize Version 1.0 Version 2.0 Version 3.0 Version 4.0
  • 20. Hyperlink from Slide 6 Standardized Software Cost Estimate Contractor A Standard SW Development Activities X Contractor B Standard SW Development Activities Activity to remove from the SW cost estimate Activity to add to the SW cost estimate
  • 21. System Reqt's System Reqt's System Reqt's System Reqt's System Reqt's System Reqt's System Reqt's System Design System Design System Design System Design System Design System Design System Design SW Reqt'sSW Reqt'sSW Reqt'sSW Reqt'sSW Reqt'sSW Reqt'sSW Reqt's Prototyping Prototyping Prototyping Prototyping Prototyping Prototyping Prototyping Prelim Des Prelim Des Prelim Des Prelim Des Prelim Des Prelim Des Prelim Des Detailed Design Detailed Design Detailed Design Detailed Design Detailed Design Detailed Design Detailed Design C&UT C&UT C&UT C&UT C&UT C&UTC&UT SW I&T SW I&T SW I&T SW I&T SW I&T SW I&T SW I&T System I&T System I&T System I&T System I&T System I&T System I&T System I&T Certification Certification Certification Certification Certification Certification Certification CM CM CM CM CM CM CM QA QA QA QA QA QA QA SW PM SW PM SW PM SW PM SW PM SW PM SW PM Data Data Data Data Data Data Data 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% 10,000 50,000 100,000 500,000 1,000,000 5,000,000 10,000,000 Equivalent New SLOC %ofTotalEffort Hyperlink from Slide 6