260 likes | 438 Views
07T-1552.01. Load Bearing Walls: Early Sizing Estimation In The NOSTROMO Tool (U). Brandon Gautney Dynetics Program Software Support brandon.gautney@dynetics.com. Dan Strickland Dynetics Program Software Support daniel.strickland@dynetics.com. Ashley Mathis
E N D
07T-1552.01 Load Bearing Walls: Early Sizing Estimation In The NOSTROMO Tool (U) • Brandon Gautney • Dynetics Program Software Support • brandon.gautney@dynetics.com Dan Strickland Dynetics Program Software Support daniel.strickland@dynetics.com • Ashley Mathis • THAAD Project Office System Software Engineering • ashley.mathis@mda.mil DISTRIBUTION STATEMENT A – Approved for public release; distribution is unlimited.
07T-1552.02 Overview (U) • Background • Area of Opportunity • Heuristic Model • Subcomponent Weight • Complexity Weight • NOSTROMO Concept • NOSTROMO Additions
07T-1552.03 Background (U) • Size estimation is the cornerstone to software development cost estimation and a mandatory input to most calibrated estimation models • Accurately estimating software size early in development would provide better cost estimates • Some organizations don’t have large databases of completed projects to estimate by analogy
07T-1552.04 Boehm Horn Curve (U) • Size (and effort) should converge over time relative to development phase • During Concept of Operation, estimates can be 50% to 200% of the actual final size [Ref (1) - SOFTWARE COST ESTIMATION WITH COCOMO II (P 10) - BOEHM 2000]
07T-1552.05 Area of Opportunity (U) • Area between Concept of Operations and Requirements Specification when early size estimation is key • Early sizing method needs to have accuracy within this area 4x 2x 1.5x 1.25x x 0.5x Concept of Operations Requirements Spec Preliminary Design Spec. Detailed Design Spec. Qualified Software 0.25x
07T-1552.06 Roetzheim Heuristic Model (U) Project Scope Table Project Class Table Project Type Table Roetzheim, William. “Estimating and Managing Project Scope for New Development.”Cross Talk April 2005 • Project taxonomies are a method for estimating Function Points (FP) • Function Points are a language independent approach for estimating software development effort
07T-1552.07 Heuristic Model Results Projects Parameters Results • Most large, complex programs use SLOC as system of delivery for their sizing metrics • “Backfiring” is a method for converting FPs to an estimated corresponding number of Software Lines of Code (SLOC)
07T-1552.08 Heuristic Model Results (cont’d) • Projects 2 & 3 are within acceptable boundaries of the Area of Opportunity. • Project estimated totals are within 14% of the actual size.
07T-1552.09 Subcomponents (U) Project Parameters
07T-1552.10 Heuristic Model With Subcomponents Results • Heuristic Model performance improves when coupled with Subcomponent Weight. • Projects 2 & 3 are within acceptable boundaries of the Area of Opportunity. • Project estimated totals are within 13% of the actual size.
07T-1552.11 Complexity (U) Problem Complexity 1-5 1-5 Code Complexity 1-5 Data Complexity Jones, Capers T. Estimating Software Cost. New York: McGraw Hill,1998.
07T-1552.12 Heuristic Model With Complexity Results Project Parameters Results
07T-1552.13 Heuristic Model With Complexity Results (cont’d) • Heuristic Model performance is slightly improved when coupled with Complexity Weight. • Projects 2 & 3 are within acceptable boundaries of the Area of Opportunity. • Project estimated totals are within 5% of the actual size.
07T-1552.14 Complete Heuristic Model- Combined Heuristic Model with Subcomponent Weight and Complexity Weight Project Parameters
07T-1552.15 Complete Heuristic Model Results- Combined Heuristic Model with Subcomponent Weight and Complexity Weight • Heuristic Model performance improves when coupled with Subcomponent Weight and Complexity Weight. • Projects 2 & 3 are within acceptable boundaries of the Area of Opportunity. • Project estimated totals are within 3% of the actual size.
07T-1552.16 Original NOSTROMO Concept (U) Notional Obscurity STatistical Risk Observation MOdel DATA PAGE NEWT NOSTROMO REPORTS • NOSTROMO first takes normal COCOMO II inputs • NOSTROMO accounts for uncertainty in the settings • NOSTROMO uses Monte Carlo to simulate hundreds of COCOMO II estimates using the inputs and uncertainties • NEWT – NOSTROMO Entry Writing Tool – a Delphi polling tool that captures Uncertainty
07T-1552.17 New NOSTROMO Concept (U) PESSIMISM AGC CALCULATOR DATA PAGE REPORTS NEWT NOSTROMO DEFAULT UNCERTAINTY COMBINATION EARLY SIZE ESTIMATION • NOSTROMO 0.3.16 offers: • multiple methods for inputting Uncertainty • combination of subcomponents • AGC methodology • Pessimistic SLOC estimation • Early Size Estimation
07T-1552.18 NOSTROMO Input Sheet – Notional Data (U) Software Item Name Scale Factors Function Buttons Code Size Early Size Estimation Pessimism Toggle Conditional Formatting Cost Drivers Iterations Putnam Productivity
07T-1552.19 NOSTROMO Early Size Estimation Worksheet – Notional Data (U) • Allows the user the option to use the Weighted Subcomponents and Weighted Complexity with the Heuristic Model in NOSTROMO to calculate Function Points. • Heuristic Model estimates the number of Function Points and Backfires them into SLOC. • Allows the user to copy the results into NOSTROMO Input Sheet.
410 KSLOC – Estimated SLOC 410 KSLOC – ESLOC vs. Effort 07T-1552.20 NOSTROMO Outputs – Notional Data (U)
07T-1552.21 Demonstration
07T-1552.22 Future NOSTROMO Additions and Efforts (U) • Addition of Exception Conditions from Ray Madachy’s Expert COCOMO • Transition to an application environment (MS-Access or .NET) • Expansion of the NOSTROMO tool to address other COCOMO Family models with uncertainties • COSYSMO – especially relevant in development of complex DoD systems • COSOSIMO – System of Systems models are becoming increasingly prevalent in DoD efforts • COQUALMO – Defect Prediction Models • Expansion of the NOSTROMO methodology and tool into Readiness Level models • Software Readiness Levels (SWRL) • Technology Program Management Model (TPMM)
07T-1552.23 Conclusion (U) • Estimating software size accurately during the Area of Opportunity will increase the fidelity of the estimate • When analogous data is unavailable or unreliable, use of a heuristic model can produce accurate metrics for size • New NOSTROMO methodology incorporates code size estimate heuristic model to provide better answers earlier Early and accurate estimation of software size metrics provides a method of true software cost estimation
07T-1552.24 BACKUP
07T-1552.25 Distributions of Uncertainty (U) Level 1 - Certain NOSTROMO assumes ceiling and floor limits of the highest and lowest default values for each COCOMO II Scale Factor and Cost Driver Level 2 - Low Uncertainty - Normal Level 3 - Medium Uncertainty - Triangle Level 4 - High Uncertainty - Uniform Setting n Setting n+1 Setting n-1 NOSTROMO changes the distribution and sets the high and low points based on the level of uncertainty with each factor
Microsoft Excel worksheet with attached macros and Visual Basic code Currently on version 0.3.16 (as of 10/17/07) Does not use outside applications for Monte Carlo simulation (standard random number generation from Visual basic) Limited testing performed on a proof-of-concept application Suggest limiting Monte Carlo run size to 500-2000 runs Generates two pages of output – Data and Charts Data page contains all outputs from Monte Carlo simulation, charting data, and histograms Charts page contains Confidence Intervals for output of COCOMO II and Putnam models, charts, and histograms NOSTROMO – Data Sheet and CM Control Sheet are Developer pages and should not be removed 07T-1552.26 NOSTROMO Application (U)