codemetrics an extensible tool for code counting
DESCRIPTION
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?. - PowerPoint PPT PresentationTRANSCRIPT
opsCONSULTING
CodeMetricsAn Extensible Tool for Code Counting
Presented at the 21st International Forum on COCOMO and Software
Cost Modeling
opsCONSULTING
What’s the problem?
“… vast majority of projects are over budget and over
schedule …”
opsCONSULTING
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
opsCONSULTING
Estimating During Program Life Cycle
Program Life Cycle
Gross Estimates Detailed Estimates
Analogy
Parametric[ExtrapolationFrom] Actuals
Engineering [Build-Up]
Concept & Technology
Development
System Development & Demonstration
Production & Deployment
Operations & Support
Chart #300R4, Defense Systems Management College (DSMC), 2001
opsCONSULTING
Typical Period Where Estimates are Generated
Program Life Cycle
Gross Estimates Detailed Estimates
Analogy
Parametric[ExtrapolationFrom] Actuals
Engineering [Build-Up]
Concept & Technology
Development
System Development & Demonstration
Production & Deployment
Operations & Support
Chart #300R4, Defense Systems Management College (DSMC), 2001
opsCONSULTING
There is a need to shift this estimating cycle to improve cost and schedule estimates…
Chart #300R4, Defense Systems Management College (DSMC), 2001
Program Life Cycle
Gross Estimates Detailed Estimates
Analogy
Parametric [ExtrapolationFrom] Actuals
Engineering [Build-Up]
Concept & Technology
Development
System Development & Demonstration
Production & Deployment
Operations & Support
Make a Shift
opsCONSULTING
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
opsCONSULTING
Cataloging Existing Software is the Starting Point for Quantifying a Software Portfolio
Since there were no tools available to do all this, we built our own:
CodeMetrics
How Do You Quantify a Software Portfolio?
• Identify software assets– SLOC– Languages– Quality
• Observe project structure• Identify project artifacts
– Documentation– CM trails
most parametric tools based on
SLOC
opsCONSULTING
What does CodeMetrics Catalog?
DSIDelivered Source Instructions (DSI)The delivered source instructions include all program instructions created by the project personnel and processed into machine code
Comments
Blank LinesDense
Comments
Total Lines
Files
Directories
opsCONSULTING
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
opsCONSULTING
Current Market
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)
Reengineering Tools• Understand (STI)• McCabe (McCabe)
opsCONSULTING
Issues with Current Tools
Not EasilyExtensible
Mainly PreeminentLanguages
Often NotPlug&Play Non-Standard
Counting Rules
opsCONSULTING
CodeMetrics Standard View
opsCONSULTING
CodeMetrics Execution
opsCONSULTING
CodeMetrics Text Viewer
opsCONSULTINGCodeMetrics Backfire
opsCONSULTING
CodeMetrics Basic COCOMO
opsCONSULTING
CodeMetrics Designate CSCIs
opsCONSULTING
CodeMetrics COCOMO II
opsCONSULTING
CodeMetrics Extensions
opsCONSULTING
Questions/Comments
opsCONSULTING
How to Contact OPS
Greg Foley, [email protected]
443-838-4817
Paul Wetzel, [email protected]
240-381-4839
OPS Consulting, L.L.C.2017 Martins Grant CourtCrownsville, MD 21032
http://www.opsconsulting.com/