acquisition pilot: the application of oar in a lead system ... · 1 pittsburgh, pa 15213-3890...
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