codemetrics an extensible tool for code counting

22
ops CONSULTING CodeMetrics An Extensible Tool for Code Counting Presented at the 21st International Forum on COCOMO and Software Cost Modeling

Upload: harlan

Post on 09-Feb-2016

29 views

Category:

Documents


3 download

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 Presentation

TRANSCRIPT

Page 1: CodeMetrics An Extensible Tool for Code Counting

opsCONSULTING

CodeMetricsAn Extensible Tool for Code Counting

Presented at the 21st International Forum on COCOMO and Software

Cost Modeling

Page 2: CodeMetrics An Extensible Tool for Code Counting

opsCONSULTING

What’s the problem?

“… vast majority of projects are over budget and over

schedule …”

Page 3: CodeMetrics An Extensible Tool for Code Counting

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

Page 4: CodeMetrics An Extensible Tool for Code Counting

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

Page 5: CodeMetrics An Extensible Tool for Code Counting

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

Page 6: CodeMetrics An Extensible Tool for Code Counting

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

Page 7: CodeMetrics An Extensible Tool for Code Counting

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

Page 8: CodeMetrics An Extensible Tool for Code Counting

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

Page 9: CodeMetrics An Extensible Tool for Code Counting

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

Page 10: CodeMetrics An Extensible Tool for Code Counting

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

Page 11: CodeMetrics An Extensible Tool for Code Counting

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)

Page 12: CodeMetrics An Extensible Tool for Code Counting

opsCONSULTING

Issues with Current Tools

Not EasilyExtensible

Mainly PreeminentLanguages

Often NotPlug&Play Non-Standard

Counting Rules

Page 13: CodeMetrics An Extensible Tool for Code Counting

opsCONSULTING

CodeMetrics Standard View

Page 14: CodeMetrics An Extensible Tool for Code Counting

opsCONSULTING

CodeMetrics Execution

Page 15: CodeMetrics An Extensible Tool for Code Counting

opsCONSULTING

CodeMetrics Text Viewer

Page 16: CodeMetrics An Extensible Tool for Code Counting

opsCONSULTINGCodeMetrics Backfire

Page 17: CodeMetrics An Extensible Tool for Code Counting

opsCONSULTING

CodeMetrics Basic COCOMO

Page 18: CodeMetrics An Extensible Tool for Code Counting

opsCONSULTING

CodeMetrics Designate CSCIs

Page 19: CodeMetrics An Extensible Tool for Code Counting

opsCONSULTING

CodeMetrics COCOMO II

Page 20: CodeMetrics An Extensible Tool for Code Counting

opsCONSULTING

CodeMetrics Extensions

Page 21: CodeMetrics An Extensible Tool for Code Counting

opsCONSULTING

Questions/Comments

Page 22: CodeMetrics An Extensible Tool for Code Counting

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/