Turning Cost Models On Their Heads
David Seaver
Solutions Architect/Strategic Estimation Lead
General Dynamics Information Technology (GDIT)
david.seaver@gdit.com
First International Boehm Forum on COCOMO®
and Systems and Software Cost Modeling
November 2022
Required Dilberts
Metrics?
towardsdatascience.com
Cassie Kozyrkov from Google
Metric Design for Data Scientists and Business Leaders
In order to make good data driven decisions you need 3 things:
Is it time to evolve our estimation practices to make better data driven decision?
Reasons Why?
The Beatles’ ‘Revolver’ Reissue Is Here—With a Little Help From A.I.
Value Streams: Organizing Around Value �
Operational Value Streams�
Type of Operational Value Stream | Description |
Fulfillment value streams | Steps necessary to process a customer request, deliver a digitally enabled product or service, and receive remuneration. |
Manufacturing value streams | Convert raw materials into the products customers will purchase. |
Software product value streams | Support for software products. |
Supporting value streams | End-to-end workflows for various supporting activities, generally around internal policies. |
Development Value Stream (Product and Service Delivery)�
Software Project Value Streams
Features
Defects
Risks
Debt
Epics and Features
Software Engineering has evolved�Estimation needs to evolve too
Changes to COCOMO III for SW estimation in 2023 because of (and not limited too)
But the world has been changing
COCOMO 3
Size inputs are Source Code Based
Working on Function Points and SNAP Points
Cost Drivers have evolved from Waterfall and are written in a private language understood primarily by the estimation community
Requires a translation to explain these measures for both the development team and the customer and relate to the value stream
Future of Size Inputs/Measures
Enhanced Tee Shirt Size using Standard Feature Size
Source Code
Function Points
Software Size for DevSecOps Teams
Example
Basis of Estimate
Metric Table | Data |
hours per person month | 160 |
fte hours per year | 1920 |
team size | 8 |
total hours per year per team | 15360 |
time per release/months | 3 |
Release per year | 4 |
hours per release | 3840 |
Features Per Release | 14 |
Hours Per Feature | 275 |
| |
Process Control Application | |
Commercial Production Software High Reliability | |
Includes Agile Team of 8 plus tax for SEPM | |
Hours per Feature/Application Complexity & SW Technology ( New Dev or Modification)
Feature Estimation Example
Impacts on COCOMO 3
Attributes and Drivers
Product and Platform Attributes
Product Attributes |
|
Impact of Software Failure (FAIL) | Extra High descriptions for Impact on Project Activities come out of the box with CI/CD SW Factory on CLOUD. Infrastructure as SW/CODE |
Product Complexity (CPLX) | Needs Work |
Developed for Reusability (RUSE) | CI/CD changes |
Required Software Security (SECU) | Needs Work |
Platform Attributes | |
Platform Constraints (PLAT) | Cloud and SW Factory Updates needed |
Platform Volatility (PVOL) | Cloud and SW Factory Updates needed |
Personnel Attributes�
|
|
Analyst Capability (ACAP) | Resource Names need to be reworked, as well as scope of activities |
Programmer Capability (PCAP) | Resource Names need to be reworked, as well as scope of activities |
Personnel Continuity (PCON) | These stay static in the context of bidding |
Application Domain Experience (APEX) | |
Language and Tool Experience (LTEX) | |
Platform Experience (PLEX) |
Project Attributes
Project Attributes |
|
Precedentedness (PREC) | PREC is based on the need for innovative data processing architectures, algorithms, and development processes (e.g. testing). Much of this is mitigated by SW Factory and Cloud capabilities. |
Development Flexibility (FLEX) | IDK yet |
Risk/Opportunity Management (RISK - New) | IDK yet |
Software Architecture Understanding (ARCH - New) | IDK yet |
Stakeholder Team Cohesion (TEAM) | This would default to a High to Extra High Setting |
Process Capability & Usage (PCUS – Replaces PMAT) | Default ot VH or EH |
Use of Software Tools (TOOL) | Scope of activities needs to be reflected in the tool attributes. Extra High needs to be added for Tool Coverage and Tool Integration |
Multisite Development (SITE) | COVID and remote work has significantly impacted this |
Required Development Schedule (SCED) | With release cadence is this still relevant ? |
Degree the software development practices have been automated. We need to rethink what nominal is for this. �
Automated Tools Use | | |
SEER SEM Inputs | | |
Rating | Description | |
Very High | Advanced fully integrated tool set encompassing all aspects of requirements, design, development, test and configuration management. |
|
High+ | Modern fully automated application development environment, including requirements, design, and test analyzers |
|
High | Modern visual programming tools, automated CM, test analyzers plus requirements or design tools |
|
Nominal+ | Visual programming, CM tools and simple test tools | |
Nominal | Interactive, programmer work bench (Ada minimal ASPE) | |
Low | Base batch tools (compiler, editor) | |
Very Low | Primitive tools (bit switches, dumps) | |
Quality Attributes�
Quality Attributes | |
Automated Analysis (AUTO) | IDK Yet |
Peer Reviews (PREV) | IDK Yet |
Execution Testing and Tools (EXTT) | IDK Yet |
Application Super Domains
Source Code
Function Points
Software Size for DevSecOps Teams
Software Size for DevSecOps Teams
Other Stuff you might want to know
Not going to talk about today but backup reference
SeaFeaMod
Software Estimation and Analysis of Features Model
Steps Involved In Defining And Realizing Value Streams
DevOps�
GitOps�
DoD ….
ARTS
Agile Teams
What is infrastructure as code?�
What is infrastructure as code?
Nonfunctional Requirements
Containers and Kubernetes
Microservices
Container Orchestration
@Code
Continuous Integration/Continuous Delivery�
Software FLOW�