Practical Implementation of COSYSMO Reuse Extension
-
Upload
dana-holman -
Category
Documents
-
view
33 -
download
0
description
Transcript of Practical Implementation of COSYSMO Reuse Extension
![Page 1: Practical Implementation of COSYSMO Reuse Extension](https://reader035.fdocuments.net/reader035/viewer/2022070402/568137fa550346895d9fbe44/html5/thumbnails/1.jpg)
©2006 BAE Systems.
Practical Implementation of COSYSMO Reuse Extension
Gan Wang, Aaron Ankrum, Cort Millar, Alex Shernoff, Ricardo Valerdi
![Page 2: Practical Implementation of COSYSMO Reuse Extension](https://reader035.fdocuments.net/reader035/viewer/2022070402/568137fa550346895d9fbe44/html5/thumbnails/2.jpg)
Agenda
• Background
• Industry Definition
• BAE Systems Implementation
• Lessons Learned and Recommendations
![Page 3: Practical Implementation of COSYSMO Reuse Extension](https://reader035.fdocuments.net/reader035/viewer/2022070402/568137fa550346895d9fbe44/html5/thumbnails/3.jpg)
What Is the Problem?
• Everything has a legacy
• In particular, most of the systems we build and programs we execute are based on legacy systems, architecture, and experience
– Rarely are we building something completely new from the “clean slate”.
• Academic COSYSMO assumes all size drivers (Req, Int, Alg, Scn) are new, which is inadequate in estimating the systems we build today
• Therefore, we must consider the impact of reuse on systems engineering size
• We anticipate this will improve the model’s accuracy since reuse plays a significant role in today’s systems
![Page 4: Practical Implementation of COSYSMO Reuse Extension](https://reader035.fdocuments.net/reader035/viewer/2022070402/568137fa550346895d9fbe44/html5/thumbnails/4.jpg)
COSYSMO at BAE Systems
• BAE Systems E&IS OG has developed an internal systems estimating tool based on COSYSMO
– Collected 55 past program data points across lines of business and major sites
– Developed platform-specific calibrations
• Problem encountered: Academic COSYSMO could not provide the correlation and convergence required to create meaningful calibrations
– One of the big issues was driver reuse
• We worked with key stakeholders and developed the industry definition of COSYSMO Reuse
• We developed an internal implementation/instantiation of the reuse extension
![Page 5: Practical Implementation of COSYSMO Reuse Extension](https://reader035.fdocuments.net/reader035/viewer/2022070402/568137fa550346895d9fbe44/html5/thumbnails/5.jpg)
Industry Definition
![Page 6: Practical Implementation of COSYSMO Reuse Extension](https://reader035.fdocuments.net/reader035/viewer/2022070402/568137fa550346895d9fbe44/html5/thumbnails/6.jpg)
Reuse Categories
1. New: Items that are completely new.
2. Adopted: Items that are incorporated unmodified.
3. Modified: Items that are reused but are tailored.
4. Deleted: Items that are removed from a system.
![Page 7: Practical Implementation of COSYSMO Reuse Extension](https://reader035.fdocuments.net/reader035/viewer/2022070402/568137fa550346895d9fbe44/html5/thumbnails/7.jpg)
Driver Counting Framework
Adopted ModifiedNew Deleted
Easy
Nominal
Difficult# System Requirements
# System Interfaces
# System Algorithms
# Operational Scenarios
![Page 8: Practical Implementation of COSYSMO Reuse Extension](https://reader035.fdocuments.net/reader035/viewer/2022070402/568137fa550346895d9fbe44/html5/thumbnails/8.jpg)
Application of Reuse at BAE Systems
![Page 9: Practical Implementation of COSYSMO Reuse Extension](https://reader035.fdocuments.net/reader035/viewer/2022070402/568137fa550346895d9fbe44/html5/thumbnails/9.jpg)
Implementation Strategy
• Be consistent with industry definition– By further instantiating and refining the verbiage so as to avoid any potential
conflicts and inconsistencies
• Provide a clear and consistent operational guideline for driver counting and classification
– By defining unambiguous verbiage of the reuse definition
• Establish clear boundaries between categories to ensure easy separation and consistency
– Steps rather than ramps
– Delineated by common concepts
![Page 10: Practical Implementation of COSYSMO Reuse Extension](https://reader035.fdocuments.net/reader035/viewer/2022070402/568137fa550346895d9fbe44/html5/thumbnails/10.jpg)
Approach
• Define two (orthogonal) dimensions of classification framework to enable finer grain estimation of the size drivers:
– Reuse by Process: SE activities
– Level of Difficulty by Relative Effort: easy, nominal, difficult
![Page 11: Practical Implementation of COSYSMO Reuse Extension](https://reader035.fdocuments.net/reader035/viewer/2022070402/568137fa550346895d9fbe44/html5/thumbnails/11.jpg)
Reuse Categories at BAE Systems
1. New: Items that are completely new
2. Managed: Items that are incorporated and require no added SE effort other than technical management
3. Adopted: Items that are incorporated unmodified but require verification and validation
4. Modified: Items that are incorporated but require tailoring or interface changes, and verification and validation
5. Deleted: Items that are removed from a legacy system, which require design analysis, tailoring or interface changes, and verification and validation
Notes:• New items are generally unprecedented• Those items that are inherited but require architecture or implementation
changes should be counted as New
![Page 12: Practical Implementation of COSYSMO Reuse Extension](https://reader035.fdocuments.net/reader035/viewer/2022070402/568137fa550346895d9fbe44/html5/thumbnails/12.jpg)
Added Categories “Managed”
• We found, in particular, significant number of requirements require “technical management” level of effort only
– They are still part of the system deliverables
– They are still to be “sold off” to customers
– They are not free
• Applied for– Proven elements from previous iterations/spirals
– Subcontract/teammate provided turn-key components
![Page 13: Practical Implementation of COSYSMO Reuse Extension](https://reader035.fdocuments.net/reader035/viewer/2022070402/568137fa550346895d9fbe44/html5/thumbnails/13.jpg)
Where: PMNS = effort in Person Hours/Months (Nominal Schedule)
A = calibration constant derived from historical project data k = {REQ, IF, ALG, SCN}r = {New, Managed, Adopted, Modified, Deleted}wr = weight for defined levels of size driver reuse
wx = weight for “easy”, “nominal”, or “difficult” size driver
Фx = quantity of “k” size driver
E = represents diseconomy of scaleCEM = composite effort multiplier
Extended COSYSMO Relationship
CEMwwwwAPME
kkdkdknknkeke
rrNS
)( ,,,,,,
![Page 14: Practical Implementation of COSYSMO Reuse Extension](https://reader035.fdocuments.net/reader035/viewer/2022070402/568137fa550346895d9fbe44/html5/thumbnails/14.jpg)
Driver Classification Guideline
New Managed Adopted Modified Deleted
Easy
Nominal
Difficult
Second Pass
Order of Classification
• Separate the two dimensions:
Apply reuse in terms of Process (activity)
Apply levels of difficulty in term of Relative Effort
First Pass
![Page 15: Practical Implementation of COSYSMO Reuse Extension](https://reader035.fdocuments.net/reader035/viewer/2022070402/568137fa550346895d9fbe44/html5/thumbnails/15.jpg)
Define Reuse Weights Based on Activities
![Page 16: Practical Implementation of COSYSMO Reuse Extension](https://reader035.fdocuments.net/reader035/viewer/2022070402/568137fa550346895d9fbe44/html5/thumbnails/16.jpg)
Data Before Reuse Application
![Page 17: Practical Implementation of COSYSMO Reuse Extension](https://reader035.fdocuments.net/reader035/viewer/2022070402/568137fa550346895d9fbe44/html5/thumbnails/17.jpg)
Same Data After Reuse Application
![Page 18: Practical Implementation of COSYSMO Reuse Extension](https://reader035.fdocuments.net/reader035/viewer/2022070402/568137fa550346895d9fbe44/html5/thumbnails/18.jpg)
Excellent Correlation Achieved for Similar Programs
PRED(30)
PRED(25)
PRED(20)
![Page 19: Practical Implementation of COSYSMO Reuse Extension](https://reader035.fdocuments.net/reader035/viewer/2022070402/568137fa550346895d9fbe44/html5/thumbnails/19.jpg)
Application Lessons Learned
• Modified category, in particular, covers a wide range• The intent of the modified category is to capture those elements that
involve tailoring changes only, with no changes to the internal architecture
• If you modify everything, you should classify it as New• Consistency is the key
– Between data points– Between calibration data and new estimate
• What do we do for consistency?– Asked for a sample nominal requirement– Compare the productivity metric with peer programs– Graphical aids are helpful, e.g.,
![Page 20: Practical Implementation of COSYSMO Reuse Extension](https://reader035.fdocuments.net/reader035/viewer/2022070402/568137fa550346895d9fbe44/html5/thumbnails/20.jpg)
Recommendations
• Reuse weights are meant to be defined ones only. Once they are defined, you should stick with it and apply to all programs
– If you have to change them, apply to all program data
• Recommendation: industry should have a recommended value range for all reuse categories
– To better communicate BOEs