Download - Practical Implementation of COSYSMO Reuse Extension

Transcript
Page 1: Practical Implementation of COSYSMO Reuse Extension

©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

Agenda

• Background

• Industry Definition

• BAE Systems Implementation

• Lessons Learned and Recommendations

Page 3: Practical Implementation of COSYSMO Reuse Extension

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

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

Industry Definition

Page 6: Practical Implementation of COSYSMO 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.

Page 7: Practical Implementation of COSYSMO Reuse Extension

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

Application of Reuse at BAE Systems

Page 9: Practical Implementation of COSYSMO Reuse Extension

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

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

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

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

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

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

Define Reuse Weights Based on Activities

Page 16: Practical Implementation of COSYSMO Reuse Extension

Data Before Reuse Application

Page 17: Practical Implementation of COSYSMO Reuse Extension

Same Data After Reuse Application

Page 18: Practical Implementation of COSYSMO Reuse Extension

Excellent Correlation Achieved for Similar Programs

PRED(30)

PRED(25)

PRED(20)

Page 19: Practical Implementation of COSYSMO Reuse Extension

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

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

Page 21: Practical Implementation of COSYSMO Reuse Extension

Gan Wang

[email protected]

703-668-4259

Contact