acquisition pilot: the application of oar in a lead system ... · 1 pittsburgh, pa 15213-3890...

27
1 Pittsburgh, PA 15213-3890 Acquisition Pilot: The Application of OAR in a Lead System Integrator Context Dennis Smith Software Engineering Institute Carnegie Mellon University Pittsburgh PA 15213 January 28, 2003 © 2003 by Carnegie Mellon University

Upload: others

Post on 17-Oct-2019

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Acquisition Pilot: The Application of OAR in a Lead System ... · 1 Pittsburgh, PA 15213-3890 Acquisition Pilot: The Application of OAR in a Lead System Integrator Context Dennis

1

Pittsburgh, PA 15213-3890

Acquisition Pilot: TheApplication of OAR in aLead System IntegratorContextDennis SmithSoftware Engineering InstituteCarnegie Mellon UniversityPittsburgh PA 15213January 28, 2003

© 2003 by Carnegie Mellon University

Page 2: Acquisition Pilot: The Application of OAR in a Lead System ... · 1 Pittsburgh, PA 15213-3890 Acquisition Pilot: The Application of OAR in a Lead System Integrator Context Dennis

2

Introduction to ASP OAR PilotOptions Analysis for Reengineering (OAR) is asystematic, architecture-centric method for identifyingand mining reusable software components within largeand complex software systems.

OAR was initially developed for organizations that ownboth the legacy assets and the target system

ASP OAR pilot provided a customized version of OAR forthe FCS system integrator to quickly evaluate whetherspecific legacy assets can be effectively mined for reusewithin FCS.

Page 3: Acquisition Pilot: The Application of OAR in a Lead System ... · 1 Pittsburgh, PA 15213-3890 Acquisition Pilot: The Application of OAR in a Lead System Integrator Context Dennis

3

Few systems or product lines start from “green fields”

Problem of mining existing components:

• under what conditions should components beextracted

• what types of components are worth extracting

• issues in extraction:– existing components are often poorly structured

and poorly documented– existing components differ in levels of granularity– organizations lack clear guidance on how to

perform the salvaging

Bottom line: it is difficult to get off the dime!

Context: Why Mine ExistingComponents?

Page 4: Acquisition Pilot: The Application of OAR in a Lead System ... · 1 Pittsburgh, PA 15213-3890 Acquisition Pilot: The Application of OAR in a Lead System Integrator Context Dennis

4

What OAR Provides

OAR provides:

• quick identification of relevant and non-relevantcomponents

• decision making based on consensus and “hands-on”analysis

• identification of target component needs that can besatisfied and those that cannot be satisfied

• estimates of the cost and risk of changes required toeach legacy component to satisfy a product line need

Page 5: Acquisition Pilot: The Application of OAR in a Lead System ... · 1 Pittsburgh, PA 15213-3890 Acquisition Pilot: The Application of OAR in a Lead System Integrator Context Dennis

5

OARAnalysis Team

ClientOrganization

)Legacy

Systems

OAR Approach

CollaborativeEffort

Conventional Application of OAR

EstablishMiningContext

EstablishMiningContext

OAR Process

InventoryComponentsInventory

ComponentsAnalyze

CandidateComponents

AnalyzeCandidate

Components

CandidateMiningOptions

PlanMiningOptions

PlanMiningOptions

RecommendedMiningOption

SelectMiningOption

SelectMiningOption

Page 6: Acquisition Pilot: The Application of OAR in a Lead System ... · 1 Pittsburgh, PA 15213-3890 Acquisition Pilot: The Application of OAR in a Lead System Integrator Context Dennis

6

Supplier ZSupplier YSupplier X

Multiple Supplier Context for Applying OAR.Lead System Integrator (LSI) IntegratesComponents From Various Sources

LeadSystem

Integrator

LegacySystem

LegacySystem

)Legacy

Systems)Legacy

Systems

Page 7: Acquisition Pilot: The Application of OAR in a Lead System ... · 1 Pittsburgh, PA 15213-3890 Acquisition Pilot: The Application of OAR in a Lead System Integrator Context Dennis

7

“Divide and Conquer” Approach

EstablishMiningContext

EstablishMiningContext

InventoryComponentsInventory

ComponentsAnalyze

CandidateComponents

AnalyzeCandidate

Components

PlanMiningOptions

PlanMiningOptions

SelectMiningOption

SelectMiningOption

BaselineOAR Process

Customize baseline activities

Customized OAR Approach

EstablishMiningContext

EstablishMiningContext

InventoryComponents

AnalyzeCandidate

Components

PlanMiningOptions

RecommendMiningOption

EMC IC ACC PMO RMO

and add others as required

EvaluateMiningOptions

EvaluateMiningOptions

EMO

Establish Divisionof Responsibilities

LSI IPTActivity

LSI IPTActivity

SupplierActivity

SupplierActivity Supplier X

Supplier YSupplier Z

Page 8: Acquisition Pilot: The Application of OAR in a Lead System ... · 1 Pittsburgh, PA 15213-3890 Acquisition Pilot: The Application of OAR in a Lead System Integrator Context Dennis

8

Phase 1 Activities

Continueor

ENDAnalysis

SelectivelyMine Assets

SelectivelyChoose

“Not-to-Mine”

EvaluateEvaluateMiningMining

OptionsOptions

SupplierMining Analysis

Activities

“Ballpark”“Ballpark”ResultsResults

InitialACC

InitialPMO

InitialRMO

InitialIC

Supplier Z

Supplier XSupplier Y

EstablishMiningContext

EstablishEstablishMiningMiningContextContext

BEGINConductOAR

Tutorial

ConductConductOAROAR

TutorialTutorial

BEGIN

Initial Mining Analysis

Page 9: Acquisition Pilot: The Application of OAR in a Lead System ... · 1 Pittsburgh, PA 15213-3890 Acquisition Pilot: The Application of OAR in a Lead System Integrator Context Dennis

9

IC: Inventory Components

Review and SelectLegacy Systems

ReviewComponent

Documentation

Select Systemsand Software

of Interest

Select Systemsand Software

of InterestBeginBegin

Page 10: Acquisition Pilot: The Application of OAR in a Lead System ... · 1 Pittsburgh, PA 15213-3890 Acquisition Pilot: The Application of OAR in a Lead System Integrator Context Dennis

10

ReviewCriteria forSelection

IdentifyDocumentation

SelectComponents

Select Systemsand Software

of Interest

Select Systemsand Software

of InterestBeginBegin

IC: Inventory Components

IdentifyHigh Value

Components

IdentifyHigh Value

Components

Page 11: Acquisition Pilot: The Application of OAR in a Lead System ... · 1 Pittsburgh, PA 15213-3890 Acquisition Pilot: The Application of OAR in a Lead System Integrator Context Dennis

11

CreateComponent

Table

Expand theComponent

Table

ScreenComponents

Select Systemsand Software

of Interest

Select Systemsand Software

of InterestBeginBegin

IdentifyHigh Value

Components

IdentifyHigh Value

Components

IC: Inventory Components

IdentifyComponents

SatisfyingCharacteristics

IdentifyComponents

SatisfyingCharacteristics

Page 12: Acquisition Pilot: The Application of OAR in a Lead System ... · 1 Pittsburgh, PA 15213-3890 Acquisition Pilot: The Application of OAR in a Lead System Integrator Context Dennis

12

Select Systemsand Software

of Interest

Select Systemsand Software

of InterestBeginBegin

IdentifyHigh Value

Components

IdentifyHigh Value

Components

Component Table

IdentifyComponents

SatisfyingCharacteristics

IdentifyComponents

SatisfyingCharacteristics

Name ofComponent Need Component Name(s) <entry> <entry> <entry> <entry>

New SystemComponent Need

Legacy SystemSoftware Components

ProgrammingLanguage

Source SizeLines of Code

Number ofModules

StructuredCode

Required Common Component Characteristics

Complexity CohesivenessCouplingCompilationEnvironment

Other Pertinent Component Characteristics

Age (Years)

Level ofGranularity

Level ofDifficulty

SupportSoftwareRequired

Level ofChangesRequired

Rehabilitation Characteristics

Black BoxWhite BoxSuitability

Level ofRisk

MiningEffort (MM)Required

MiningCost

Estimate

Effort (MM) Level ofDifficultyCost ($K) Level of

Risk

New Development Estimates Comparative Data for MiningRelative

CostRelative

EffortRelativeDifficulty

RelativeRisk

Page 13: Acquisition Pilot: The Application of OAR in a Lead System ... · 1 Pittsburgh, PA 15213-3890 Acquisition Pilot: The Application of OAR in a Lead System Integrator Context Dennis

13

DevelopCriteria

ScreenUndesirableComponents

SelectDesirable

Components

SelectDesirable

ComponentsBeginBegin

ACC: Analyze Candidate Components

Page 14: Acquisition Pilot: The Application of OAR in a Lead System ... · 1 Pittsburgh, PA 15213-3890 Acquisition Pilot: The Application of OAR in a Lead System Integrator Context Dennis

14

DevelopCriteria

SelectComponents

SelectDesirable

Components

SelectDesirable

ComponentsBeginBegin

Identify “As-Is”and Black-BoxComponents

Identify “As-Is”and Black-BoxComponents

ACC: Analyze Candidate Components

Page 15: Acquisition Pilot: The Application of OAR in a Lead System ... · 1 Pittsburgh, PA 15213-3890 Acquisition Pilot: The Application of OAR in a Lead System Integrator Context Dennis

15

DevelopCriteria

SelectComponents

SelectDesirable

Components

SelectDesirable

ComponentsBeginBegin

Identify “As-Is”and Black-BoxComponents

Identify “As-Is”and Black-BoxComponents

ACC: Analyze Candidate Components

IdentifyWhite-Box

Components

IdentifyWhite-Box

Components

Page 16: Acquisition Pilot: The Application of OAR in a Lead System ... · 1 Pittsburgh, PA 15213-3890 Acquisition Pilot: The Application of OAR in a Lead System Integrator Context Dennis

16

EstimateCost, Effort

and ComparativeCost & Effort

DetermineDifficulty, Risk

and ComparativeDifficulty & Risk

IdentifyArchitecturalMismatches

SelectDesirable

Components

SelectDesirable

ComponentsBeginBegin

Identify “As-Is”and Black-BoxComponents

Identify “As-Is”and Black-BoxComponents

ACC: Analyze Candidate Components

IdentifyWhite-Box

Components

IdentifyWhite-Box

Components

AnalyzeChangesRequired

ValidateResults

DetermineRequiredChanges

DetermineRequiredChanges

Page 17: Acquisition Pilot: The Application of OAR in a Lead System ... · 1 Pittsburgh, PA 15213-3890 Acquisition Pilot: The Application of OAR in a Lead System Integrator Context Dennis

17

PMO: Plan Mining Options

DevelopCriteria

EvaluateResults

SelectComponents

SelectPromising

Components

SelectPromising

ComponentsBeginBegin

Page 18: Acquisition Pilot: The Application of OAR in a Lead System ... · 1 Pittsburgh, PA 15213-3890 Acquisition Pilot: The Application of OAR in a Lead System Integrator Context Dennis

18

SelectPromising

Components

SelectPromising

ComponentsBeginBegin

DetermineDifficulty, Risk,

and ComparativeDifficulty & Risk

AdjustCandidateOptions

PMO: Plan Mining Options

PerformComponentTradeoffs

PerformComponentTradeoffs

DetermineCost, Effort,

and ComparativeCost & Effort

IdentifyCandidateOptions

DevelopCriteria for Aggregating

CreateOptions

Table

CreateOptions

Table

FormComponent

Aggregations

FormComponent

Aggregations

Page 19: Acquisition Pilot: The Application of OAR in a Lead System ... · 1 Pittsburgh, PA 15213-3890 Acquisition Pilot: The Application of OAR in a Lead System Integrator Context Dennis

19

OAR Options Table (Multiple Options)

Initial Analysis

$K % % Q QQ QQ Q Q $KMM MMN

MiningOption

# 1

ComponentNeed

Satisfied

OptionNumber

RehabilitationEstimates

New DevelopmentEstimates

Mining VersusNew Development

Name ofComponent Need

OptionSummation

$K % % Q QQ QQ Q Q $KMM MMN

MiningOption

# 3

Name ofComponent Need

OptionSummation

$K % % Q QQ QQ Q Q $KMM MMN

MiningOption

# 2

Name ofComponent Need

OptionSummation

Page 20: Acquisition Pilot: The Application of OAR in a Lead System ... · 1 Pittsburgh, PA 15213-3890 Acquisition Pilot: The Application of OAR in a Lead System Integrator Context Dennis

20

PrioritizeSelectionDrivers

Select MostDesirable/Effective

Option

EvaluateDesirability

andEffectiveness

ChooseBest

Option

ChooseBest

OptionBeginBegin

RMO: Recommend Mining Option

Page 21: Acquisition Pilot: The Application of OAR in a Lead System ... · 1 Pittsburgh, PA 15213-3890 Acquisition Pilot: The Application of OAR in a Lead System Integrator Context Dennis

21

ChooseBest

Option

ChooseBest

OptionBeginBegin

RMO: Recommend Mining Option

VerifyOptionVerifyOption

IdentifyComponent

Needs Satisfied

IdentifyComponent

Needs Satisfied

ProduceOut-Brief

andPresentFindings

ProduceOut-Brief

andPresentFindings

ProduceSummaryAnalysisReport

ProduceSummaryAnalysisReport

End

RMO

Page 22: Acquisition Pilot: The Application of OAR in a Lead System ... · 1 Pittsburgh, PA 15213-3890 Acquisition Pilot: The Application of OAR in a Lead System Integrator Context Dennis

22

EvaluateEach MiningPresentation

EvaluateEach MiningPresentation

BeginBegin

EMO: Evaluate Mining Options

EvaluateEach Mining

Report

EvaluateEach Mining

Report

Map Abilityto Satisfy

ComponentNeeds

ExploreSatisfaction of

Maximum Numberof Component

Needs

ExploreSatisfaction of

Maximum Numberof Component

Needs

SelectOptions Offering

Best MiningSolution

SelectOptions Offering

Best MiningSolution

Produce Reportand

De-Brief AllSuppliers

Produce Reportand

De-Brief AllSuppliers

End

EMO

Page 23: Acquisition Pilot: The Application of OAR in a Lead System ... · 1 Pittsburgh, PA 15213-3890 Acquisition Pilot: The Application of OAR in a Lead System Integrator Context Dennis

23

Continueor

ENDAnalysis

SelectivelyMine Assets

SelectivelyChoose

“Not-to-Mine”

EvaluateEvaluateMiningMining

OptionsOptions

SupplierMining Analysis

Activities

DetailedDetailedResultsResults

In-DepthACC

In-DepthPMO

In-DepthRMO

Supplier Z

Supplier XSupplier Y

ConductPhase 2Briefing

ConductConductPhase 2Phase 2BriefingBriefing

BEGIN

In-DepthMining Analysis

LSI OAR Phase 2 Activities

Page 24: Acquisition Pilot: The Application of OAR in a Lead System ... · 1 Pittsburgh, PA 15213-3890 Acquisition Pilot: The Application of OAR in a Lead System Integrator Context Dennis

24

Outcome of Disciplined ReuseDecision-making Process

Summary

Report

RESULTS

➾ Findings describing results of analyses

➾ Description of each option with ranking➾ Rationale for option or combination of options selected➾ Cost and effort of selected mining options

➾ Final list of satisfied and unsatisfied component needs corresponding to options selected

RESULTS

➾ Findings describing results of analyses

➾ Description of each option with ranking➾ Rationale for option or combination of options selected➾ Cost and effort of selected mining options

➾➾ Final list of satisfied and unsatisfied componentFinal list of satisfied and unsatisfied component needs corresponding to options selected needs corresponding to options selected

Page 25: Acquisition Pilot: The Application of OAR in a Lead System ... · 1 Pittsburgh, PA 15213-3890 Acquisition Pilot: The Application of OAR in a Lead System Integrator Context Dennis

25

Impact of LSI OAR ApproachThe benefits of the LSI approach include:• Work is allocated corresponding to a natural division of

responsibilities (i.e., who is in best position to performactivity).

• Obtaining early “Ballpark” results will speed up decisionmaking process.

• Fewer LSI resources (manpower and time) required tocomplete the mining analyses resulting in reduced cost.

• In-Depth analysis accommodates desired refinement ofanalysis results.

• Common process will ensure consistency of results andequitable evaluations.

• Process focuses on what needs to be done -- suppliers havefreedom to decide how to best perform the prescribedactivities/tasks and collect the needed data.

More planning and coordination though are required by the LSI.

Page 26: Acquisition Pilot: The Application of OAR in a Lead System ... · 1 Pittsburgh, PA 15213-3890 Acquisition Pilot: The Application of OAR in a Lead System Integrator Context Dennis

26

Results of Pilot

• The pilot was performed on a small set of reusableassets. The results provided more credible reuseestimates.

• The LSI has adapted the general OAR approach, buthas permitted suppliers to use their own specificprocesses to produce the OAR outcomes.

• The results were fed into the COCOMO II estimatingmodel. Follow-up work is analyzing how tosystematically connect OAR with COCOMO II.

• Government acquisition officers view the method as amechanism for getting better metrics as well as betterestimates.

Page 27: Acquisition Pilot: The Application of OAR in a Lead System ... · 1 Pittsburgh, PA 15213-3890 Acquisition Pilot: The Application of OAR in a Lead System Integrator Context Dennis

27

ASP OAR Documentation

• CMU/SEI-2003-TN-009: Application of OptionsAnalysis for Reengineering in a Lead System IntegratorEnvironment