Ops CONSULTING CodeMetrics An Extensible Tool for Code Counting Presented at the 21st International...

Preview:

Citation preview

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-StandardCounting 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, Presidentgregfoley@opsconsulting.com

443-838-4817

Paul Wetzel, CTOpaulwetzel@opsconsulting.com

240-381-4839

OPS Consulting, L.L.C.2017 Martins Grant CourtCrownsville, MD 21032

http://www.opsconsulting.com/