Evolution of Software Cost Estimating:�Challenges & Insights
Brad Clark, PhD
2024 International Boehm COCOMO
Forum on Systems and Software Cost
Modeling
Boehm Center for Systems and Software Engineering
2
November 2024
My first career!
(40 years ago)
The Problem
Boehm Center for Systems and Software Engineering
3
November 2024
Organizations have a need for credible costs and schedules for budgeting purposes
Platforms and development approaches have put stress on organizations to produce quality cost estimates that meet mission needs
As a result, the cost estimation industry needs to evolve to address these estimation challenges through education, processes, and tools
In this presentation we are going to discuss the wide array of challenges and discuss a few insights to meet them
COST ESTIMATING CHALLENGES
Boehm Center for Systems and Software Engineering
4
November 2024
Software’s Perverseness
Boehm Center for Systems and Software Engineering
5
November 2024
|
|
|
|
|
|
|
|
|
|
Advances in Computing Platforms
Boehm Center for Systems and Software Engineering
6
November 2024
We have come a long way, and platforms continue to evolve
+ AI
Computing Platform Evolution
Boehm Center for Systems and Software Engineering
7
November 2024
Big Iron computing hardware (e.g., IBM 360 Mainframe)
ENIAC
Mini-computers (e.g., DEC VAX)
Micro-computers and Personal computers
Modem communications
DARPA network
Super-computers &
Parallel computing
Public internet networks – web browsers & text-based email
Collaborative software applications
Server farms & increased computing power
Cloud Computing
Software as a Service (SaaS)
Internet of Things (IoT)
Infrastructure as a Service (IaaS)
Who needs the Internet?
Autonomous systems�(sea, land, air, and space)
Collective of:
Web browser as a computing platform
Evolving computing capability brings new cost estimation challenges
Generative Pre-trained Transformer AI
(ChatGPT, CoPilot, Gemini)
Estimating Applications
As estimation capabilities increase so do their applications
Boehm Center for Systems and Software Engineering
8
November 2024
Quote Analysis
Sustain
Negotiation Analysis
Bid / No Bid
Life Cycle Cost Analysis
Should Cost
Estimate to Complete
Develop
Cost Risk Analysis
Cost As Independent Variable
Early Cost Estimation
75% of System costs are determined early in the lifecycle during the time of greatest uncertainty
Boehm Center for Systems and Software Engineering
9
November 2024
Rapid Change Creates a Late Cone of Uncertainty
Boehm Center for Systems and Software Engineering
10
November 2024
Early lifecycle uncertainty (ConOps) meets late lifecycle uncertainty (changing priorities)
Source: Barry Boehm, USC-CSSE COCOMO Forum, 2014
Brownfield Software Conversion
Boehm Center for Systems and Software Engineering
11
November 2024
Source: Wikipedia
Challenging to perform conversion due to re-engineering/translation and difficult to estimate the cost
Image source: Scholarly Community Encyclopedia, encyclopedia.pub
Developing Secure Software
Boehm Center for Systems and Software Engineering
12
November 2024
Level 1 | Protection is ad-hoc. |
Level 2 | Protect against casual or coincidental access by unauthenticated entities. |
Level 3 | Protect against intentional unauthenticated access by entities using simple means with low resources, generic skills and low motivation. |
Level 4 | Protect against intentional unauthenticated access by entities using sophisticated means with moderate resources. |
Level 5 | Protect against intentional unauthenticated access by entities using sophisticated means with extended resources. |
Digital Engineering -1
Boehm Center for Systems and Software Engineering
13
November 2024
Image source: appspacesol.com
Digital Engineering -2
Continuous simulation, development, and production
Boehm Center for Systems and Software Engineering
14
November 2024
Image source: mantech.com
Continuous Iterative Development
Boehm Center for Systems and Software Engineering
15
November 2024
Image source: embedded.com
AI Assisted Development -1
AI benefits could reduce cost
Boehm Center for Systems and Software Engineering
16
November 2024
Activity | Benefits |
Requirements | AI tools can help clarify terminologies and concepts on-the-fly, reducing the need for prolonged meetings or external consultations. Developers or analysts can query AI tools for insights or comparative analysis, which might help in refining requirements. |
Design | Developers can quickly consult AI tools for recommended design patterns or architectural practices suitable for their problem. Preliminary design ideas can be discussed with AI tools for quick feedback. |
Code | Developers can seek assistance on coding challenges, syntax, and algorithmic solutions. AI tools can assist in code reviews, highlighting potential pitfalls or anti-patterns. |
Testing and Integration | AI tools can suggest potential edge cases or testing scenarios. For failing tests or integration issues, developers can discuss potential causes and solutions with AI tools. |
Maintenance | AI tools can assist in understanding old codebases, suggesting potential refactoring techniques or identifying deprecated methods. For known errors or bugs, AI tools can suggest common solutions or workarounds. |
Source: Ray Madachy, Ryan Bell, Ryan Longshore, “Factoring AI Assistance into Software and Systems Engineering Cost Models,” Naval Postgraduate School, International Boehm COOCOM Forum, Nov 2023
AI Assisted Development -2
AI benefits could increase cost
Boehm Center for Systems and Software Engineering
17
November 2024
Activity | Downfalls |
Requirements | Relying too much on AI tools for domain-specific knowledge might lead to missed nuances that an expert in the field would be aware of. |
Design Code | Over-relying on AI for design decisions without human review can lead to suboptimal choices. |
Testing and Integration | If developers use AI tool suggestions verbatim without understanding, it might introduce bugs or inefficient code. Waiting on AI tool responses for every small issues can become a crutch and delay development if developers stop trying to problem-solve on their own. |
Maintenance | If AI tool suggestions are taken without thorough review, it might lead to unnecessary tests or efforts spent on non-issues. If teams over-rely on AI tools for maintenance, they might overlook deeper architectural or design issues that require human expertise. |
Source: Ray Madachy, Ryan Bell, Ryan Longshore, “Factoring AI Assistance into Software and Systems Engineering Cost Models,” Naval Postgraduate School, International Boehm COOCOM Forum, Nov 2023
GAO Cost Estimating Challenges
Boehm Center for Systems and Software Engineering
18
November 2024
Program | Data | Cost Estimate |
Program instability Unreasonable program baselines Unrealistic projected savings New development or sustainment processes First-time integration Cutting edge technology Complex technology Diminished industrial base | Obtaining data Inadequate data collection Historical cost databases not available Irrelevant or out-of-date data Unreliable data No comparison to similar programs Data not normalized | No defined process for generating the estimate Inexperienced analyst Unrealistic or poorly defined assumptions No supporting documentation Overoptimism Inappropriate estimating methodologies No basis of estimate |
Source: GAO Cost Estimating and Assessment Guide, 2020
”Having some data is better than not having any data at all” – Is that true?
COST ESTIMATING INSIGHTS
Boehm Center for Systems and Software Engineering
19
November 2024
Evolving Cost Estimation Requires Better Tools��
Boehm Center for Systems and Software Engineering
20
November 2024
74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 00 | … | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | AI Assistance | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | ACEIT | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | • | COCOMO II | | | | ||
| | | | | | | | | | | | | | | | | | | | | | | • | CostXpert | | | | | | | ||
| | | | | | | | | | | | | | | | | | | | | • | Sage | | | | | | | | | | |
| | | | | | | | | | | | | • | REVIC | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | • | SEER | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | • | SASET | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | • | JS-1 | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | • | COCOMO | | | | | | | | | | | | | | | | | | | | | | | ||
| | | | | | | • | SLIM | | | | | | | | | Automated Cost Estimating Integrated Tools | | | | | |||||||||||
| | | | | • | Freburger-Basili | | | | | | | | | | | | | | | | | | | | | | | | |||
| | | | | • | Price | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | • | Schneider | | | | | | | | | | | | | | | | | | | | | | | | | | ||
| | | • | Walston-Felix | | | | | | | | | | | | | | | | | | | | | | | | | | |||
| | | • | Jones | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | • | Halstead | | | | | | | | | | | | | | | | | | | | | | | | | | | ||
• | Fredrick | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ||
Insight: Integrated Cost Estimation Analysis Tools are the future
ACEIT: Automated Cost Estimating Integrated Tools
Development Approaches Drive Estimation
Boehm Center for Systems and Software Engineering
21
November 2024
Image source: commons.wikipedia.org
Analysis of Alternatives (AoA) LCCE
Boehm Center for Systems and Software Engineering
22
November 2024
Transdisciplinary Cost Estimation
Boehm Center for Systems and Software Engineering
23
November 2024
Image source: i2insights.org
Continuous Need for Cost Estimation Training
Boehm Center for Systems and Software Engineering
24
November 2024
Image source: electricalworkbook.com
Mayfly Cost Models
Boehm Center for Systems and Software Engineering
25
November 2024
Image source: researchgate.net
Stop Pounding a Square Peg Into a Round Hole
Boehm Center for Systems and Software Engineering
26
November 2024
Image source: manufacturingtomorrow.com
In Summary
Boehm Center for Systems and Software Engineering
27
November 2024
Thank You��Questions or Comments?
Boehm Center for Systems and Software Engineering
28
November 2024