©2006 BAE Systems. Practical Implementation of COSYSMO Reuse Extension Gan Wang, Aaron Ankrum, Cort...
-
date post
22-Dec-2015 -
Category
Documents
-
view
220 -
download
1
Transcript of ©2006 BAE Systems. Practical Implementation of COSYSMO Reuse Extension Gan Wang, Aaron Ankrum, Cort...
©2006 BAE Systems.
Practical Implementation of COSYSMO Reuse Extension
Gan Wang, Aaron Ankrum, Cort Millar, Alex Shernoff, Ricardo Valerdi
Agenda
• Background
• Industry Definition
• BAE Systems Implementation
• Lessons Learned and Recommendations
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
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
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.
Driver Counting Framework
Adopted ModifiedNew Deleted
Easy
Nominal
Difficult# System Requirements
# System Interfaces
# System Algorithms
# Operational Scenarios
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
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
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
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
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
)( ,,,,,,
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
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.,
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