+ All Categories
Home > Documents > ODC Orthogonal Defect Classification

ODC Orthogonal Defect Classification

Date post: 30-Oct-2021
Category:
Upload: others
View: 3 times
Download: 0 times
Share this document with a friend
34
ODC ODC Orthogonal Defect Classification Orthogonal Defect Classification Ram Chillarege Ram Chillarege Tutorial 2000 Tutorial 2000 [email protected] [email protected] (914) 739 2826 (914) 739 2826 Table of Contents Table of Contents Background Background Concept Concept ODC Specification ODC Specification Application & Case Studies Application & Case Studies The ODC Practice The ODC Practice Chillarege 1-2
Transcript
Page 1: ODC Orthogonal Defect Classification

ODCODCOrthogonal Defect ClassificationOrthogonal Defect Classification

Ram ChillaregeRam Chillarege

Tutorial 2000Tutorial 2000

[email protected]@chillarege.com(914) 739 2826(914) 739 2826

Table of ContentsTable of Contents

BackgroundBackgroundConceptConceptODC SpecificationODC SpecificationApplication & Case StudiesApplication & Case StudiesThe ODC PracticeThe ODC Practice

Chillarege 1-2

Page 2: ODC Orthogonal Defect Classification

BackgroundBackground

What is ODC ?What is ODC ?

ODC is a measurement technology for Software Engineering - ODC is a measurement technology for Software Engineering - and the operative word is and the operative word is measurement.measurement.

It uses the defect stream, found in any software development It uses the defect stream, found in any software development activity as a source of information about two thingsactivity as a source of information about two things

The software product under developmentThe software product under developmentThe software process that is being used for developmentThe software process that is being used for development

This knowledge can then be used for a variety of software This knowledge can then be used for a variety of software engineering work -engineering work -

project management, prediction, analysis, assessmentproject management, prediction, analysis, assessmentquality control, close feedback loops, etc.quality control, close feedback loops, etc.research on better software engineering method, etc.research on better software engineering method, etc.

Chillarege 3-4

Page 3: ODC Orthogonal Defect Classification

ODC SummaryODC Summary

ODC was invented circa 1990 and evolved over 10 yearsODC was invented circa 1990 and evolved over 10 yearsReaches around 3000 IBM engineers worldwide ('99)Reaches around 3000 IBM engineers worldwide ('99)Motorola, Telcordia, Nortel, Lucent, .. are also usersMotorola, Telcordia, Nortel, Lucent, .. are also users

Low implementation cost, very significant returnsLow implementation cost, very significant returnsReduces root cause analysis cost by a factor of 10xReduces root cause analysis cost by a factor of 10xCost savings of $100 M / year in one legacy productCost savings of $100 M / year in one legacy product

ODC/Butterfly models provide accuracy, and tradeoffsODC/Butterfly models provide accuracy, and tradeoffsPredict number, nature, and timing of field failuresPredict number, nature, and timing of field failuresProcess signatures help in-process managementProcess signatures help in-process management

ODC is a new foundation for software engineering methodsODC is a new foundation for software engineering methodsIs a fastpath to Is a fastpath to SEI level 3 and aboveSEI level 3 and aboveNew methods for test effectiveness, risk management, .. New methods for test effectiveness, risk management, ..

Defect analysis methods vary vastly in their Defect analysis methods vary vastly in their capability and costs tradeoffscapability and costs tradeoffs

CapabilityCapability

CostCost

Detailed Detailed RCARCA

Defect Rate CurvesDefect Rate Curves

ODCODC

Change in paradigm: Change in paradigm: semantics -->> semantics -->> measurementmeasurement

Chillarege 5-6

Page 4: ODC Orthogonal Defect Classification

ODC in IBMODC in IBMThe evolution of a Software Engineering PracticeThe evolution of a Software Engineering Practice

1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000

Year

0

1

2

3

4

Th

ou

san

ds

En

gin

eers

Rea

ched Concept

Proof

Pilots

Scalable

Deployable

At concept and proof of concept - it is still and ideaAt concept and proof of concept - it is still and ideaPilot is when the main stream is engaged - say 10-25 peoplePilot is when the main stream is engaged - say 10-25 peopleRepeatability of the pilot experience is critical and signifies the Repeatability of the pilot experience is critical and signifies the beginnings of a practice - which may scalebeginnings of a practice - which may scaleDeployment implies professional implementationDeployment implies professional implementationThis evolution cycle can easily take between 5 and 15 yearsThis evolution cycle can easily take between 5 and 15 years

PoughkeepsiePoughkeepsie

San JoseSan Jose

Santa TeresaSanta Teresa

EndicottEndicott

TorontoToronto

AustinAustin

YamatoYamato

RaleighRaleigh

KinsgtonKinsgton

BethesdaBethesda

BoulderBoulder

BoeblingenBoeblingen

Boca RatonBoca Raton

IGS MadridIGS Madrid

IGS GaithersburgIGS Gaithersburg

IGS TampaIGS Tampa

IGS PortsmouthIGS Portsmouth

IGS DenverIGS Denver

ConceptsConcepts

Chillarege 7-8

Page 5: ODC Orthogonal Defect Classification

ODC: How does it work ?ODC: How does it work ?

Type: how fixed ?

Trigger: catalyst ?

Source: what code ?

Impact: so what ?

Defect semantics captured by four attribute-value setsDefect semantics captured by four attribute-value setsIndependent of product, process, language, applicationIndependent of product, process, language, applicationRigorous models exploit multi-dimensional dataRigorous models exploit multi-dimensional dataInsights for developers, testers, and managersInsights for developers, testers, and managersDevelopment experience is communicable through ODC Development experience is communicable through ODC

Innovation : Turn the rich defect steam's knowledge into Innovation : Turn the rich defect steam's knowledge into a a quantifiablequantifiable information source information source

{{ Defect Stream Defect Stream

In software development - there are always defects -In software development - there are always defects - (changes (changes required in code and design)required in code and design)Defects are rich in information Defects are rich in information - "who done it to whom ?"- "who done it to whom ?"The defects appear to a statistician like a sampling of the The defects appear to a statistician like a sampling of the product over the process space product over the process space ODC converts the semantics into a quantifiable information ODC converts the semantics into a quantifiable information sourcesource

Chillarege 9-10

Page 6: ODC Orthogonal Defect Classification

How does ODC turn defect semantics into a measurement ? How does ODC turn defect semantics into a measurement ?

0

1

2

3

4

5

FunctionAssignmentInterfaceTiming

StartStart ReleaseRelease

The The defect type defect type dd istribution tells us "where we are"istribution tells us "where we are"And the data is actionable to recommend corrective decisionsAnd the data is actionable to recommend corrective decisions

01A

pr87

01Ju

l87

01O

ct87

01Ja

n88

01A

pr88

01Ju

l88

01O

ct88

01Ja

n89

01A

pr89

01Ju

l89

01O

ct89

01Ja

n90

01A

pr90

01Ju

l90

01O

ct90

Date

0100200300400500600700800900

PTMSPeriod 0 Period 1 Period 2 Period 3

Product Example 1:Product Example 1:Hindsight analysis of the development defects in a component of a high-end Hindsight analysis of the development defects in a component of a high-end

operating system - approximately 70 KLOCoperating system - approximately 70 KLOC

Chillarege 11-12

Page 7: ODC Orthogonal Defect Classification

Period 0 Period 1 Period 2 Period 30

10

20

30

40

50

60

Per

cent

age

Funct ion Defect Type

Period 0 Period 1 Period 2 Period 30

5

10

15

20

25

30

35

Per

cent

age

Assignment Defect Type

Period 0 Period 1 Period 2 Period 30

5

10

15

20

25

Per

cent

age

In ter face Defect Type

Period 0 Period 1 Period 2 Period 30

5

10

15

20

25

Per

cent

age

Checking Defect Type

Product Example 1:Product Example 1:Signature revealed by ODC analysisSignature revealed by ODC analysis

Activity/Trigger

Interaction

Classifying by AttributesTracking

Open

FixClosePriority

Etc.

How defect detected Customer ViewImpact

QualifierMissing, Incorrect, Extraneous?

AgeHistory

Feedback on Development Process

Feedback on Verification Process

Target/TypeWhat was fixed

Multi-dimensional semantic data relating cause and effectUniform across developmentConsistent across products, labs, etc.

SourceWhere defect located

Orthogonal Defect ClassificationOrthogonal Defect Classification

Chillarege 13-14

Page 8: ODC Orthogonal Defect Classification

2Q 4Q 6Q 8Q

0

20

40

60

80

HW ConfigStress

SW ConfigRecovery

Startup

Trigger by Quarter after Release

Example Triggers and their distribution Example Triggers and their distribution Subgroup of field found defects (ST Triggers) Subgroup of field found defects (ST Triggers)

Points to notice:Points to notice:

Changing DistributionChanging DistributionSignature of Customer Signature of Customer UsageUsageMeasures maturityMeasures maturity

Quiz:Quiz:Does it meet the Does it meet the criterion for ODC ?criterion for ODC ?

What makes a defect classification What makes a defect classification ODC - Orthogonal Defect Classification ?ODC - Orthogonal Defect Classification ?

Few fundamental requirements: on the Attribute - Value setFew fundamental requirements: on the Attribute - Value set

IndependentIndependentEach of the value classifications need to be as independent Each of the value classifications need to be as independent of the other as possible - since, they are semantic of the other as possible - since, they are semantic classifications there can be fuzz - but it should be clear.classifications there can be fuzz - but it should be clear.

Distribution ChangesDistribution ChangesA collection of defects should demonstrate a changing A collection of defects should demonstrate a changing pattern in their distribution as a function of processpattern in their distribution as a function of processAnd the value sets be collectively exhaustive - so that it can And the value sets be collectively exhaustive - so that it can explain the position of the productexplain the position of the product

Process InvarianceProcess InvarianceThe first two properties should be invariant across most of The first two properties should be invariant across most of the software development processes and practicesthe software development processes and practices

Chillarege 15-16

Page 9: ODC Orthogonal Defect Classification

LLD

Code

Missing Interface/MessagesMissing Timing/SerializationMissing Relationship

Req

Missing CheckingIncorrect Algorithm/MethodMissing Assignment/Initiliazation

Incorrect Assignment/Init Incorrect Checking

HLD

Missing Function/Class

Incorrect Function/Class

Missing Algorithm/Method

Incorrect Interface/MessagesIncorrect Timing SerializationIncorrect Relationship

ODC Defect Types mapped to generic activity ODC Defect Types mapped to generic activity injecting defectsinjecting defects

CodeInspection

Unit Test

Function Test

SystemTest

DesignReview

Design Conf.

Logic/Data Flow

Backward Comp.

Lateral Comp.

Concurr. Language Dependency

Internal Doc.

SideEffect

Rare Sit.

Simple Path Complex Path

Coverage Variation Sequencing Interaction

Normal Mode

StartUp/Restart

Hardware Config

Software Config

Recovery/Exception

Workload/Stress

Sample Trigger-Trigger relationships to map escapesSample Trigger-Trigger relationships to map escapes

Chillarege 17-18

Page 10: ODC Orthogonal Defect Classification

ODC

Captures the semantics of each defect and links the

distribution to process and product maturity - Thus, it levers the low cost of mathematical

methods with the power of qualitative

analysis

The spectrum of defect measurement and analysisThe spectrum of defect measurement and analysis

Statistical Defect ModelsStatistical Defect Models

Counting techniquesCounting techniquesComparison to Comparison to historical datahistorical dataGrowth Curve Growth Curve modelingmodeling

Not easily Not easily translatable into translatable into corrective actionscorrective actions

Causal Analysis Causal Analysis

Qualitative analysisQualitative analysis

Investigates the details Investigates the details of a few defectsof a few defects

Time consuming and Time consuming and expensiveexpensive

Has fewer restrictions on Has fewer restrictions on what can be analyzedwhat can be analyzed

Easy to translate to Easy to translate to individual actions, but individual actions, but hard to aggregatehard to aggregate

ODC SpecificationODC Specification

Chillarege 19-20

Page 11: ODC Orthogonal Defect Classification

Definition: Defect TypeDefinition: Defect Type

The defect type is the meaning of the fixThe defect type is the meaning of the fix

It is not the cause of the bugIt is not the cause of the bugIt is what was needed to fix the problem - It is what was needed to fix the problem - From a programming perspective From a programming perspective Collectively the defect types describe the nature of workCollectively the defect types describe the nature of work

Definition: Defect TriggerDefinition: Defect Trigger

Trigger is the catalyst that helps a defect surfaceTrigger is the catalyst that helps a defect surface

Defects are latent by definition - until detectedDefects are latent by definition - until detectedTriggers - are not "cause", they are facilitatorsTriggers - are not "cause", they are facilitatorsThe The triggertrigger is the catalyst which surfaces the defect is the catalyst which surfaces the defect

trigger 1

trigger 2

trigger 3

trigger k

Fault Failure

Chillarege 21-22

Page 12: ODC Orthogonal Defect Classification

System Test

RecoveryStart and RestartWorkload, StressHW ConfigurationSW ConfigurationBlocked Test (old

Normal mode)

Review Inspection

Backward compatibilityLateral compatibilityDesign conformanceConcurrencyLogic flowSide EffectsRare Situation

Function Test

CoverageVariationSequencingInteractionSimple PathCombination Path

Triggers - associated by typical activitiesTriggers - associated by typical activities

2Q 4Q 6Q 8Q

0

20

40

60

80

HW ConfigStress

SW ConfigRecovery

Startup

Trigger by Quarter after ReleaseThe MVS Field example:The MVS Field example:

Distribution specific to Distribution specific to product and captures product and captures customer usage customer usage Helps validate test plans Helps validate test plans against field usage against field usage The refinement yields The refinement yields Butterfly prediction Butterfly prediction > 90% accuracy> 90% accuracyFacilitates dynamic Facilitates dynamic staffing with appropriate staffing with appropriate skills to manage skills to manage workload.workload.

Examples of ways to exploiting the TriggerExamples of ways to exploiting the Trigger

Chillarege 23-24

Page 13: ODC Orthogonal Defect Classification

ODC Version 5.1 Submitter InputODC Version 5.1 Submitter Input

InstallabilitySecurityPerformanceMaintenanceServiceabilityMigrationStandardsDocumentationUsabilityReliabilityCustomer ExpectationsCapability

Activity Trigger

Design Review/Code Inspection

Unit Test/Function Test

Design ConformanceUnderstanding FlowConcurrenceBackward CompatibilityLateral CompatibilityInternal DocumentLanguage DependencySide EffectsRare Situations

Simple Path Complex Path Coverage Variation Sequencing Interaction

Information Development

AccuracyAestheticsClarityConsistencyCompletenessOrganizationRetrievabilityStyleTask

System Test

Workload/StressRecoveryStartUp/RestartHW ConfigSW ConfigBlocked Test

{ {Black Box

White Box

Activity Trigger

Design ConformanceIcon/Widget AppearanceScreen Text/CharactersInput DevicesNavigationWidget/GUI Behavior

Graphical UserInterface

(code implications)

Graphical UserInterface

(online text content)

use Information Development Triggers

ODC Version 5.1 Submitter InputODC Version 5.1 Submitter Input

Chillarege 25-26

Page 14: ODC Orthogonal Defect Classification

Target Defect Type

DesignCode

InformationDevelopment

Assignment-InitializationCheckingAlgorithm/MethodFunctionTiming/SerializationInterfaceRelationship

Editorial TechnicalNavigational

ReferenceTasksMessagesExamplesPresentationConcepts

Source Age

BaseNewRewrittenRefixed

Developed in HouseReused from LibraryPortedOutsourced

Content Type

ODC Version 5.1 Responder InputODC Version 5.1 Responder Input

MissingIncorrectExtraneous

Defect Qualifier

Target Defect Type Source Age

National LanguageSupport

TranslationCharacter HandlingUser InterfaceLanguage ExpectationEnablement

Process ConformanceCode IntegrationInstall DependenciesShipped filesPackaging ScriptsFeature Install DependenciesMedia

Build / Package

BaseNewRewrittenRefixed

Developed in HouseReused from LibraryPortedOutsourced

ODC Version 5.1 Responder InputODC Version 5.1 Responder Input

Chillarege 27-28

Page 15: ODC Orthogonal Defect Classification

Inspector's ExperienceTriggers

New/Trained

WithinProject

WithinProduct

CrossProduct

Solution(CrossPlatform)

Design Conformance x xUnderstanding Flow x xInternal Document consistency/completeness

x

Backward Compatibility xLateral Compatibility x x

Concurrency x xLanguage Dependency xSide Effects x x xRare Situations x x x

Inspection triggers by (minimum) experienceInspection triggers by (minimum) experience

Tester's ExperienceTriggers

New/Trained

WithinProject

WithinProduct

CrossProduct

Solution(CrossPlatform)

White Box

Simple Path Coverage x x Complex Path Coverage x x Side Effects x x xBlack Box

Single-function coverage x x Single-function variation x x x Multi-function sequencing x x x Multi-function interaction x x x

Function test triggers by (minimum) Function test triggers by (minimum) experienceexperience

Chillarege 29-30

Page 16: ODC Orthogonal Defect Classification

Tester's ExperienceTriggers

New/Trained

WithinProject

WithinProduct

CrossProduct

Solution(CrossPlatform)

Software Configuration x x x

Hardware Configuration x x x

Startup/Restart x x x x

Recovery x x x x

Workload/Stress x x x

Normal Mode x x x x x

System test triggers by (minimum) experienceSystem test triggers by (minimum) experience

ODC ReferencesODC References

ODC Standard definitions (e.g. ODC 5.1)ODC Standard definitions (e.g. ODC 5.1)

http://www.research.ibm.com/softenghttp://www.research.ibm.com/softeng

ODC Articles, presentations, reports, etcODC Articles, presentations, reports, etc

http://chillarege.com/odchttp://chillarege.com/odc

Chillarege 31-32

Page 17: ODC Orthogonal Defect Classification

Target Source

Impact

Capability

Usability

Performance

Reliability

Maintenance

Integrity/Security

DocumentationStandards

TriggerInstallabilityDefect ID

Phase Found

Date Open

Date Closed

SeverityComponent

Type

Qualifier

MissingIncorrectExtraneous

RequirementsDesignCodeInformationUIBuildNLS

Target Specific

ActivitySpecific

Activity

Review/Inspection

Unit Test /Func TestSystem Test

Product Use Information

Target Specific

Su

bm

itter

Res

po

nd

erODC Defect AttributesODC Defect Attributes

Application & Application & Case Studies Case Studies

Chillarege 33-34

Page 18: ODC Orthogonal Defect Classification

Process SignatureProcess SignatureA representation of the process, characterized by the A representation of the process, characterized by the normalized percent distribution of defect type and triggers normalized percent distribution of defect type and triggers by activity. Regardless of product, these normalized by activity. Regardless of product, these normalized distributions remain consistent as long as the process does distributions remain consistent as long as the process does not changenot change

Product ProfileProduct ProfileA description of characteristics associated with a specific A description of characteristics associated with a specific product, including (but not limited to) process (signature), product, including (but not limited to) process (signature), environment, function, Product Difficulty Index, and environment, function, Product Difficulty Index, and customer usagecustomer usageThe distribution of defects by ODC attributes, reflecting The distribution of defects by ODC attributes, reflecting expected or real volumes, across the process activities expected or real volumes, across the process activities and field discoveries and field discoveries

Signature and Profile distinctions Signature and Profile distinctions

Assign Check Alg Func Time Interf RelDesign FlowConcurrencyBack CompLat CompSide EffectsRare SitSimple PathComplex PathCoverageVariationSequencingInteractionSoftware ConfigHardware ConfigWorkloadStartupRecoveryBlocked /Normal

Principle Assocation - The Trigger powerPrinciple Assocation - The Trigger power

Chillarege 35-36

Page 19: ODC Orthogonal Defect Classification

670

390

926

576

550

567

Inprocess

Field

0 100 200 300 400 500 600 700 800 900 1000

Number of Defects

Inspection Unit/FunctionTest System Test

Example 1 - Improvement Example 1 - Improvement Release 2Release 2

122

53

198

54

257

51

Inprocess

Field

0 50 100 150 200 250 300

Number of Defects

Inspection Unit/FunctionTest System Test

Example 1- Improvement Example 1- Improvement Release 6Release 6

Chillarege 37-38

Page 20: ODC Orthogonal Defect Classification

Code size 1.4 MlocBase Inspection is the lowest investmentDistribution very different from customer usageHigh volume of test coverage and normal mode indicate incomplete or ineffective inspections

Example 1Example 1Release 2: In-process defects Release 2: In-process defects Activity by ODC TriggersActivity by ODC Triggers

Inspection

Function Test

System Test

Act

ivit

y

0100

200300

400500

600700

800900

1000

Number of Defects

Design ConformanceLogic FlowBackward CompatibilityLateral CompatibilityConcurrencySide EffectsRare SituationDocument ContentSimple PathComplex PathTest CoverageTest VariationTest SequenceTest InteractionHardware ConfigSoftware ConfigRecoveryStartup/RestartWorkloadNormal Mode

Field volumes are 75% of the in-process volume and they are both high.Many field escapes related to inspectionCustomer usage exposures should be mapped to skills (e.g. backward compatibility)Was there opportunity to test adequately, given removal of basic problemsCustomer usage indicates where test plans should be focused

Example 1Example 1Release 2: Field defects Release 2: Field defects ODC TriggersODC Triggers

Inspection

Function Test

System Test

Mo

st li

kely

act

ivit

y

0 200 400 600 800 1000

Number of Defects

Design ConformanceLogic FlowBackward CompatibilityLateral CompatibilityConcurrencySide EffectsRare SituationDocument ContentSimple PathComplex PathTest CoverageTest VariationTest SequenceTest InteractionHardware ConfigSoftware ConfigRecoveryStartup/RestartWorkloadNormal Mode

Chillarege 39-40

Page 21: ODC Orthogonal Defect Classification

FinancialFinancialWarranty Cost reduced 30% each year (1990 - 1994)Warranty Cost reduced 30% each year (1990 - 1994)Development Cost reduced by 85%Development Cost reduced by 85%Number of licenses on new release doubled previous releaseNumber of licenses on new release doubled previous release

Defect and Problem ReductionsDefect and Problem ReductionsValid Unique Apars reduced by 97% from 1990 - 1994; continuous, Valid Unique Apars reduced by 97% from 1990 - 1994; continuous, significant improvement every releasesignificant improvement every releaseCustomer Reported Problems (DOPs and NDOPs) reduced by 85% from Customer Reported Problems (DOPs and NDOPs) reduced by 85% from 1990 - 1994; continuous, significant improvement every release1990 - 1994; continuous, significant improvement every releaseRate of defects discovered in-process decreased from 18/MLOC to Rate of defects discovered in-process decreased from 18/MLOC to 2/MLOC (improved prevention) 2/MLOC (improved prevention)

Customer SatisfactionCustomer Satisfaction Overall product satisfaction attained 100% satisfaction Overall product satisfaction attained 100% satisfaction Service satisfaction from 4Q92 - 4Q95 Service satisfaction from 4Q92 - 4Q95 VERY SAT from 15.1% to 32.8% VERY SAT from 15.1% to 32.8% Non-sat (includes neutral) from 27.4% to 16.1% Non-sat (includes neutral) from 27.4% to 16.1%

Example 1Example 1ResultsResults

RecoveryStart/Restart

Stresshw/sw Config

0

20

40

60

80

No ActionAction (P)Actual

Development Defects

RecoveryStart/Restart

Stresshw/sw Config

0

20

40

60

80

No ActionAction (P)Projected

Field Defects

Product Example 2:Product Example 2:Reducing warranty cost: ODC Triggers help identify Reducing warranty cost: ODC Triggers help identify issues that demand focus issues that demand focus

Standard practice would focus on system test with high expense and poor return. Precise development actions target specific triggers at negligible incremental cost and high return.

Chillarege 41-42

Page 22: ODC Orthogonal Defect Classification

Product Example 2Product Example 2Feedback from ODC Trigger analysis yielded specific Feedback from ODC Trigger analysis yielded specific actions which the team owned actions which the team owned

Observations:Observations:incorrect serialization defects consistent in Ver 1/ Ver 2incorrect serialization defects consistent in Ver 1/ Ver 2Checking defects increased in Ver 1Checking defects increased in Ver 1GRS interfaces are defect freeGRS interfaces are defect free

Documentation defects in Ver 1Documentation defects in Ver 1Recommendations:Recommendations:

checkout timing & recovery in design and reviewscheckout timing & recovery in design and reviewsaccess Ver 2 System test plans for timing & recoveryaccess Ver 2 System test plans for timing & recovery

Committed Actions:Committed Actions:hands on FCTesting in parallel to ST in Feb/Marhands on FCTesting in parallel to ST in Feb/MarX starts FCT/ hands on using G Star for exposureX starts FCT/ hands on using G Star for exposureX will be using G Start in its ART testing X will be using G Start in its ART testing G will involve its self in a Joint Cust Ship during 2nd qtr G will involve its self in a Joint Cust Ship during 2nd qtr

Product Example 2: Product Example 2: Feedback from ODC Trigger analysis yielded specific Feedback from ODC Trigger analysis yielded specific actions which the team ownedactions which the team owned

Observations:Observations:incorrect serialization defects consistent in Ver 1/Ver 2incorrect serialization defects consistent in Ver 1/Ver 2Checking defects increased in Ver 2Checking defects increased in Ver 2GRS interfaces are defect freeGRS interfaces are defect free

Documentation defects in Ver 3Documentation defects in Ver 3Recommendations:Recommendations:

checkout timing & recovery in design and reviewscheckout timing & recovery in design and reviewsaccess Ver 3 System test plans for timing & recoveryaccess Ver 3 System test plans for timing & recovery

Committed Actions:Committed Actions:hands on FCTesting in parallel to ST in Feb/Marhands on FCTesting in parallel to ST in Feb/MarComp 1 starts FCT/ hands on using Comp 2 for exposureComp 1 starts FCT/ hands on using Comp 2 for exposureComp 1 will be using Comp 2 in its ART testing Comp 1 will be using Comp 2 in its ART testing Comp 3 will involve itself in a Cust test during 2nd qtr Comp 3 will involve itself in a Cust test during 2nd qtr

Chillarege 43-44

Page 23: ODC Orthogonal Defect Classification

A B

Component

0

100

200

300

400

500

Def

ect

Co

un

t StandardsSecurity/IntegrityServiceabilityDocumentationInstallabilityReliabilityPerformanceUsabilityCapability

This chart uses the ODC attribute This chart uses the ODC attribute ImpactImpactIBM uses this attribute to capture IBM uses this attribute to capture customer satisfaction issues through customer satisfaction issues through customer surveys customer surveys Two components A and B haveTwo components A and B havevery different impact profilesvery different impact profilesCustomers found major deficiency in Customers found major deficiency in the delivered functions in A.the delivered functions in A.Customers found B not very reliable Customers found B not very reliable with considerable usability problems, with considerable usability problems, in addition to some functional in addition to some functional deficienciesdeficienciesIn conjunction with other ODC In conjunction with other ODC attributes, this analysis can point to attributes, this analysis can point to specific areas for targeted action to specific areas for targeted action to improve customerimprove customer satisfaction satisfaction

Product Example 3:Product Example 3:Customer reported defects in two components of two Customer reported defects in two components of two releases of a workstation operating system softwarereleases of a workstation operating system software

Ass

ign

men

tC

hec

kin

gA

lgo

rith

m/M

eth

oF

un

ctio

nIn

terf

ace

Tim

ing

/Ser

iali

zat

Rel

atio

nsh

ip

Defect Type

0

50

100

150

200

250

300

Def

ect

Co

un

t

IncorrectMissing

Defect Type vs Qualifier for Defect Type vs Qualifier for Component AComponent A

Over 50% of the Over 50% of the Function defects are Function defects are Missing pointing to Missing pointing to incomplete Design incomplete Design and/or Requirements and/or Requirements processprocessThe large fraction of The large fraction of Algorithm defects point Algorithm defects point to nonexistent or to nonexistent or inadequate low level inadequate low level designdesign

Product Example 3:Product Example 3:

Chillarege 45-46

Page 24: ODC Orthogonal Defect Classification

Example 4Example 4Field defect escapes - analysis Field defect escapes - analysis

Analyzing field defect escapes is probably one of the most Analyzing field defect escapes is probably one of the most valuable exercises for entire development and service team.valuable exercises for entire development and service team.

There are different slices of data providing insights on There are different slices of data providing insights on different elements of the process, product and the customer different elements of the process, product and the customer setsetThe following examples illustrate some of themThe following examples illustrate some of them

This was an experienced software development team, but This was an experienced software development team, but new to networkingnew to networkingInitially the volume reduction progression seemed very Initially the volume reduction progression seemed very good. Inspection was heavy, then function and system. But good. Inspection was heavy, then function and system. But from an ODC standpoint it is deficient in the areas that are from an ODC standpoint it is deficient in the areas that are related to network products - Lateral Compatibility, related to network products - Lateral Compatibility, Interface, and SW Config - given the environment.Interface, and SW Config - given the environment.However looking at the field escapes it is apparent that the However looking at the field escapes it is apparent that the escapes are dominated by Interaction, Variation and escapes are dominated by Interaction, Variation and Software Config.Software Config.These triggers are indicative of The interfaces and These triggers are indicative of The interfaces and algorithms that need to be checked out better. Infact, the algorithms that need to be checked out better. Infact, the team knew that they lacked that skill in this domain. Also team knew that they lacked that skill in this domain. Also confirmed in the type chart confirmed in the type chart

Example 4Example 4Comparing Triggers between development and FieldComparing Triggers between development and Field

Chillarege 47-48

Page 25: ODC Orthogonal Defect Classification

Example 4Example 4Evaluating Test EffectivenessEvaluating Test Effectiveness"Activity" versus "Trigger (In-Process) "Activity Most "Activity" versus "Trigger (In-Process) "Activity Most Likely to Have Found...." versus "Trigger" (Field)Likely to Have Found...." versus "Trigger" (Field)

0 50 100 150 200 250 300

Inspection

Function Test

System Test

0 50 100 150 200 250 300

Design ConformLogic FlowConcurrencyBack CompatLat CompatSide Effects

Rare SitCoverageVariationSequenceInteraction

Hardware ConfigSoftware ConfigWorkload StressRecoveryStartup/Restart

In-Process Field

Example 4Example 4Evaluating Product StabilityEvaluating Product Stability"Activity" versus "Type" (In-Process) "Activity Most Likely "Activity" versus "Type" (In-Process) "Activity Most Likely ....." versus "Type" (Field) ....." versus "Type" (Field)

0 50 100 150 200 250 300

Inspection

Function Test

System Test

0 50 100 150 200 250 300

AssignmentChecking

AlgorithmFunction

TimingInterface

Relationship

In-Process Field

Chillarege 49-50

Page 26: ODC Orthogonal Defect Classification

Example 5Example 5Customer Usage:Customer Usage:Where is the impact, and what are the types ?Where is the impact, and what are the types ?

Capability

Usability

Performance

Reliability

Installability

Maintenance

Serviceability

Customer Require

0 10 20 30 40 50 60

AssignmentChecking

AlgorithmFunction

TimingInterface

Relationship

Question: Who do you think the audience(s) for this chart might be?

Algorithm seems to dominate. Which is indicative that the Algorithm seems to dominate. Which is indicative that the sort-of works is being enhanced or tuned - even for sort-of works is being enhanced or tuned - even for capability and satisfies new requirements.capability and satisfies new requirements.The type of triggers that drive algorithm in the field are: The type of triggers that drive algorithm in the field are: variation, workload and complex path. Ideally, this could variation, workload and complex path. Ideally, this could have been addressed through design and flow. If we looked have been addressed through design and flow. If we looked at the triggers, that will probably be the case.at the triggers, that will probably be the case.Note that Impact includes Customer Requirements - we are Note that Impact includes Customer Requirements - we are accepting requirements through the service streamaccepting requirements through the service stream

Example 5Example 5Customer Usage:Customer Usage:Where is the impact, and what are the types ?Where is the impact, and what are the types ?

Chillarege 51-52

Page 27: ODC Orthogonal Defect Classification

Example 6Example 6Customer Usage ProfileCustomer Usage ProfileSeparating the age of the codeSeparating the age of the code

1Q 2Q 3Q 4Q 5Q 6Q 7Q 8Q0

5

10

15

20

25

30

35

New Base

Question: Who do you think the audience(s) for this chart might be?

Tells you that as the release matures, the failures are Tells you that as the release matures, the failures are dominated more by the old code than the new code.dominated more by the old code than the new code.

Implications:Implications:Service team should knowService team should know

A plan for warranty cost reduction A plan for warranty cost reduction

Example 6Example 6Customer Usage ProfileCustomer Usage ProfileSeparating the age of the codeSeparating the age of the code

Chillarege 53-54

Page 28: ODC Orthogonal Defect Classification

1Q 2Q 3Q 4Q 5Q 6Q 7Q 8Q0

50

100

150

In-House Ported

Example 7Example 7Process EffectivenessProcess EffectivenessSimple, Over time Views "Source" over timeSimple, Over time Views "Source" over time

1Q 2Q 3Q 4Q0

50

100

150

200

250

300

In-Process Field

ported code was 25% of product - and volume of defects ported code was 25% of product - and volume of defects was a third) was a third) Error rate per failing module was double. Error rate per failing module was double. Ported code is an issue - particularly over time - and skillPorted code is an issue - particularly over time - and skillLittle investment in process - which is typical of a ported Little investment in process - which is typical of a ported code environmentcode environmentTherefore use the field triggers to best prioritize the next Therefore use the field triggers to best prioritize the next cycle of development. And since, inspection is usually out cycle of development. And since, inspection is usually out of the question - the module analyis .... etc. comes to play.of the question - the module analyis .... etc. comes to play.A few dozen modules that can be focused on it. A few dozen modules that can be focused on it.

Example 7Example 7Source vs Time: Inhouse and fieldSource vs Time: Inhouse and field

Chillarege 55-56

Page 29: ODC Orthogonal Defect Classification

1Q 2Q 3Q 4Q 5Q 6Q 7Q 8Q0

20

40

60

80

100

Example 8Example 8Customer Usage Profile - Process EffectivenessCustomer Usage Profile - Process EffectivenessSimple, Over time Views "Type" over timeSimple, Over time Views "Type" over time

1Q 2Q 3Q 4Q0

10

20

30

40

50

60

70

80

90

100

AssignmentCheckingAlgorithm

FunctionTiming

InterfaceRelationship

In-ProcessField

Example 9Example 9Customer Usage Profile - Evaluating Product StabilityCustomer Usage Profile - Evaluating Product Stability"Trigger" versus "Qualifier (In-Process and Field)"Trigger" versus "Qualifier (In-Process and Field)

Missing Incorrect0

50

100

150

200

250

300

350

Missing Incorrect0

50

100

150

200

250

300

350

Startup/RestartRecoveryWorkload StressSoftware ConfigHardware ConfigInteraction

SequenceVariationCoverageRare SitSide Effects

Lat CompatBack CompatConcurrencyLogic FlowDesign Conform

In-Process Field

Chillarege 57-58

Page 30: ODC Orthogonal Defect Classification

Example 9Example 9Customer Usage Profile - Evaluating Product StabilityCustomer Usage Profile - Evaluating Product StabilityStatic, Aggregate ViewsStatic, Aggregate Views"Impact" versus "Qualifier (In-Process and Field)"Impact" versus "Qualifier (In-Process and Field)

Missing Incorrect0

50

100

150

200

250

300

350

ServiceabilityDocumentationMaintainability

InstallabilityReliabilityPerformance

UsabilityCapability

Missing Incorrect0

50

100

150

200

250

300

350

ServiceabilityDocumentationMaintainabaility

InstallabilityReliabilityPerformance

UsabilityCapability

In-Process Field

350

3

23

143

1611

CapabilityUsabilityPerformanceReliabilityInstallabilityDocumentationServiceabilitySecurity/IntegrityStandards

Field defects in a Field defects in a component of Workstation component of Workstation OS show: OS show:

Impact inference: Impact inference: functional deficiencies are the major issue

Defect type inference: Defect type inference: Over 50% Missing Function indicates incomplete Design or Requirements Dominant algorithm defects indicate inadequate low level design

Example 10Example 10How to improve customer satisfaction ? How to improve customer satisfaction ? - use ODC Impact distribution to guide development focus- use ODC Impact distribution to guide development focus

Ass

ign

men

t

Ch

ecki

ng

Alg

ori

thm

/Met

ho

d

Fu

nct

ion

Inte

rfac

e

Tim

ing

/Ser

ializ

ati

Rel

atio

nsh

ip

0

50

100

150

200

250

300

Def

ect C

ount

IncorrectMissing

Chillarege 59-60

Page 31: ODC Orthogonal Defect Classification

Product Success: > $100M annual savings Product Success: > $100M annual savings

A host product A host product 6 releases in 7 years 6 releases in 7 years 1.4 Millions lines of code to 4 M1.4 Millions lines of code to 4 MLarge reduction in resources Large reduction in resources

Standard methods plateaued with diminishing ROIStandard methods plateaued with diminishing ROI

Major effort, large investment, little informationMajor effort, large investment, little information~100 PY gave 4x , and hit a stone wall~100 PY gave 4x , and hit a stone wall

ODC and Butterfly changed the game to "smart methods"ODC and Butterfly changed the game to "smart methods"~5-15 PY gave additional 20x ~5-15 PY gave additional 20x

OverallOverall1729 defects/mloc down to 21 defects/mloc1729 defects/mloc down to 21 defects/mlocComparable code size (250 kloc/rel) with less peopleComparable code size (250 kloc/rel) with less people

The ODC PracticeThe ODC Practice

Chillarege 61-62

Page 32: ODC Orthogonal Defect Classification

Understanding the priorities and objectives of a Practice Understanding the priorities and objectives of a Practice User versus the Owner helps distinguish the roles and User versus the Owner helps distinguish the roles and responsibilities that go with them.responsibilities that go with them.

A Practice User

A Practice Owner

Primary concern is the Primary concern is the product.product.A practice is only a means A practice is only a means to an end.to an end.Wants minimum ownership, Wants minimum ownership, maximum value.maximum value.Can manage Can manage implementation, but only if implementation, but only if needed to.needed to.

Primary concern is the Primary concern is the practice.practice.The application at a product The application at a product is only an engagement.is only an engagement.Develops and grows the Develops and grows the practice as a long term practice as a long term investment.investment.May manage May manage implementation to assure implementation to assure success. success.

A Practice Deployment ModelA Practice Deployment Model

Practice Owner Practice Owner Practice User Practice User

Practice Owner Site Champions

Local Test Group

Local Test Group

Local Test Group

Local Test Group

Site finally owns the implementationPractice owner should jump start a practiceBuild local competency - leading to a site practice champion

Step 2

Step 1

Chillarege 63-64

Page 33: ODC Orthogonal Defect Classification

Evolution of a Software Engineering PracticeEvolution of a Software Engineering Practice. . . from an art form to a professional practice. . . from an art form to a professional practice

At concept and proof of concept - it is still and ideaAt concept and proof of concept - it is still and ideaPilot is when the main stream is engaged - say 10 peoplePilot is when the main stream is engaged - say 10 peopleRepeatability of the pilot experience is critical and signifies Repeatability of the pilot experience is critical and signifies the beginnings of a practicethe beginnings of a practiceDeployment implies professionally implementationDeployment implies professionally implementationThe cycle can easily take between 2 to 5 yearsThe cycle can easily take between 2 to 5 years

Concept Proof Pilots Scalable Deployable

For example, some numbers to reflect on:For example, some numbers to reflect on:

After 20 years: After 20 years:

Software Inspection (circa 1976)Software Inspection (circa 1976)Recognized as a significant impact on qualityRecognized as a significant impact on qualityMay be 10% of the code written is inspectedMay be 10% of the code written is inspected

Object Oriented Design & ProgrammingObject Oriented Design & ProgrammingWidely accepted as a good methodologyWidely accepted as a good methodologyLess than 20% of code written follows the methodology Less than 20% of code written follows the methodology truly. truly.

Regardless, these numbers do not diminish the significance of Regardless, these numbers do not diminish the significance of these practices.these practices.

Chillarege 65-66

Page 34: ODC Orthogonal Defect Classification

ODC is a very efficient way of managing defects (in-process or field) and ODC is a very efficient way of managing defects (in-process or field) and actions at a minimal cost actions at a minimal cost

Low cost: Takes only two minutes to classify a defectLow cost: Takes only two minutes to classify a defectIn contrast Causal analysis takes approximately 1 hour per defect In contrast Causal analysis takes approximately 1 hour per defect

Provides the bedrock to build models for defect projection algorithmsProvides the bedrock to build models for defect projection algorithmsUsing Trigger and Defect Type/Qualifier, it is possible to predict the Using Trigger and Defect Type/Qualifier, it is possible to predict the number of field defects in commercial software with a very high accuracy number of field defects in commercial software with a very high accuracy (> 90%)(> 90%)

Analysis of defects becomes a natural part of software development Analysis of defects becomes a natural part of software development developers and testers obtain technical feedback on projectsdevelopers and testers obtain technical feedback on projectsrelease managers can assess risk better to make decisionsrelease managers can assess risk better to make decisionsclosing feedback loops become a natural part of project managementclosing feedback loops become a natural part of project managementODC is a fast path to reach SEI level 3, or higherODC is a fast path to reach SEI level 3, or higher

Currently, ODC used by several IBM labs and software companies Currently, ODC used by several IBM labs and software companies

SummarySummary

Chillarege 67-68


Recommended