220 likes | 319 Views
CodeMetrics An Extensible Tool for Code Counting. Presented at the 21st International Forum on COCOMO and Software Cost Modeling. What’s the problem?. “ … vast majority of projects are over budget and over schedule … ”. Reason?.
E N D
CodeMetricsAn Extensible Tool for Code Counting Presented at the 21st International Forum on COCOMO and Software Cost Modeling
What’s the problem? “… vast majority of projects are over budget and over schedule …”
Reason? • Basing estimates on historic actuals is the most accurate way to estimate future activity • Cost and schedule analysts traditionally do not have this valuable information when they need it the most But
Estimating During Program Life Cycle Program Life Cycle System Development & Demonstration Concept & Technology Development Production & Deployment Operations & Support [Extrapolation From] Actuals Parametric Engineering [Build-Up] Analogy Detailed Estimates Gross Estimates Chart #300R4, Defense Systems Management College (DSMC), 2001
Typical Period Where Estimates are Generated Program Life Cycle System Development & Demonstration Concept & Technology Development Production & Deployment Operations & Support [Extrapolation From] Actuals Parametric Engineering [Build-Up] Analogy Detailed Estimates Gross Estimates Chart #300R4, Defense Systems Management College (DSMC), 2001
There is a need to shift this estimating cycle to improve cost and schedule estimates… Make a Shift Program Life Cycle System Development & Demonstration Concept & Technology Development Production & Deployment Operations & Support [Extrapolation From] Actuals Parametric Engineering [Build-Up] Analogy Detailed Estimates Gross Estimates Chart #300R4, Defense Systems Management College (DSMC), 2001
How do you shift the estimating methodology? • Quantify the organization’s own portfolio of software in order to: • Create historically accurate analogies • Calibrate parametric tools • Solidify the basis of estimate for engineering build-ups
How Do You Quantify a Software Portfolio? Cataloging Existing Software is the Starting Point for Quantifying a Software Portfolio • Identify software assets • SLOC • Languages • Quality • Observe project structure • Identify project artifacts • Documentation • CM trails most parametric tools based on SLOC Since there were no tools available to do all this, we built our own: CodeMetrics
What does CodeMetrics Catalog? Delivered Source Instructions (DSI) The delivered source instructions include all program instructions created by the project personnel and processed into machine code DSI Directories Comments Files Total Lines Blank Lines Dense Comments
CodeMetrics Usage • Consulting agreement with Government agency to evaluate software portfolio metrics • All software assets in a portfolio, not just primary programmatic language • GOTS • Open Source • Utilize OPS’s Quality Assessment Capability (QAC) 170 MSLOC
Many Language SLOC Count (David Wheeler) Code Count (CSE USC) Code Counter Pro (Geronesoft) EZ-Metrix (James Heires Consulting) SLOC Metrics (Microguru) One/Few Language C/C++ SLOC Counter (retiSoft) Java NCSS (Clemens) LOCC (CSDL U of Hawaii) Project Line Counter (Solomon) Resource Standard Metrics (M Squared Technologies) Toad (Quest Software) Current Market Reengineering Tools • Understand (STI) • McCabe (McCabe)
Issues with Current Tools Mainly Preeminent Languages Not Easily Extensible Often Not Plug&Play Non-Standard Counting Rules
How to Contact OPS Greg Foley, President gregfoley@opsconsulting.com 443-838-4817 Paul Wetzel, CTO paulwetzel@opsconsulting.com 240-381-4839 OPS Consulting, L.L.C. 2017 Martins Grant Court Crownsville, MD 21032 http://www.opsconsulting.com/