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

Post on 17-Oct-2019

6 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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.

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?

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

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

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

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

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

9

IC: Inventory Components

Review and SelectLegacy Systems

ReviewComponent

Documentation

Select Systemsand Software

of Interest

Select Systemsand Software

of InterestBeginBegin

10

ReviewCriteria forSelection

IdentifyDocumentation

SelectComponents

Select Systemsand Software

of Interest

Select Systemsand Software

of InterestBeginBegin

IC: Inventory Components

IdentifyHigh Value

Components

IdentifyHigh Value

Components

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

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

13

DevelopCriteria

ScreenUndesirableComponents

SelectDesirable

Components

SelectDesirable

ComponentsBeginBegin

ACC: Analyze Candidate Components

14

DevelopCriteria

SelectComponents

SelectDesirable

Components

SelectDesirable

ComponentsBeginBegin

Identify “As-Is”and Black-BoxComponents

Identify “As-Is”and Black-BoxComponents

ACC: Analyze Candidate Components

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

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

17

PMO: Plan Mining Options

DevelopCriteria

EvaluateResults

SelectComponents

SelectPromising

Components

SelectPromising

ComponentsBeginBegin

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

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

20

PrioritizeSelectionDrivers

Select MostDesirable/Effective

Option

EvaluateDesirability

andEffectiveness

ChooseBest

Option

ChooseBest

OptionBeginBegin

RMO: Recommend Mining Option

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

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

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

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

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.

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.

27

ASP OAR Documentation

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

top related