37
1 USC C S E U niversity ofSouthern C alifornia C enterfor Softw are Engineering LASPIN-INCOSE – 7/30/03 LASPIN-INCOSE Meeting Los Angeles, CA July 30, 2003 Ricardo Valerdi The Aerospace Corporation & University of Southern California Center for Software Engineering

LASPIN-INCOSE – 7/30/031 LASPIN-INCOSE Meeting Los Angeles, CA July 30, 2003 Ricardo Valerdi The Aerospace Corporation & University of Southern California

Embed Size (px)

Citation preview

1

USC

C S E University of Southern CaliforniaCenter for Software Engineering

LASPIN-INCOSE – 7/30/03

LASPIN-INCOSE MeetingLos Angeles, CA

July 30, 2003

Ricardo ValerdiThe Aerospace Corporation &University of Southern CaliforniaCenter for Software Engineering

2

USC

C S E University of Southern CaliforniaCenter for Software Engineering

LASPIN-INCOSE – 7/30/03

Outline• Goals of this talk

• Background, key ideas, and definitions

• Overview of COSYSMO

• Delphi results

• Estimation example

• Data collection process

• Demo

• Next steps

3

USC

C S E University of Southern CaliforniaCenter for Software Engineering

LASPIN-INCOSE – 7/30/03

Goals of this talk

1. Provide an overview of COSYSMO

2. Demonstrate the prototype

3. Share future plans for data collection

4. Get feedback/suggestions on approach and data collection

4

USC

C S E University of Southern CaliforniaCenter for Software Engineering

LASPIN-INCOSE – 7/30/03

“All models are wrong, but some of them

are useful”

- W. E. Deming

Source: www.deming.org

5

USC

C S E University of Southern CaliforniaCenter for Software Engineering

LASPIN-INCOSE – 7/30/03

Key Definitions & ConceptsCalibration: the tuning of parameters based on project

data CER: a model that represents the cost estimating

relationships of factorsCost Estimation: prediction of both the

person-effort and elapsed time of a projectDriver: A factor that is highly correlated to the amount of

Systems Engineering effortParametric: an equation or model that is approximated by

a set of parametersRating Scale: a range of values and definitions for a

particular driverUnderstanding: an individual’s subjective judgment of

their level of comprehension

6

USC

C S E University of Southern CaliforniaCenter for Software Engineering

LASPIN-INCOSE – 7/30/03

COCOMO II• COCOMO is the most widely used, thoroughly

documented and calibrated software cost model• COCOMO - the “COnstructive COst MOdel”

– COCOMO II is the update to COCOMO 1981– ongoing research with annual calibrations made

available • Originally developed by Dr. Barry Boehm and

published in 1981 book Software Engineering Economics

• COCOMO II described in Software Cost Estimation with COCOMO II (Prentice Hall 2000)

7

USC

C S E University of Southern CaliforniaCenter for Software Engineering

LASPIN-INCOSE – 7/30/03

USC Center for Software Engineering (CSE)• Researches, teaches, and practices CMMI-based Software

engineering

– Systems and software engineering fully integrated • Collaborative efforts between Computer Science (CS) and

Industrial Systems Engineering (ISE) Departments• COCOMO Suite of models

– Cost, schedule: COCOMO II, CORADMO, COCOTS– Quality: COQUALMO– Systems Engineering: COSYSMO

• Applies and extends research on major programs (DARPA/Army, FCS, FAA ERAM, NASA Missions)

• Uses mature 7-step model development methodology

8

USC

C S E University of Southern CaliforniaCenter for Software Engineering

LASPIN-INCOSE – 7/30/03

• Marilee Wheaton, Aerospace/INCOSE Corporate Advisory Board• Dave Hickman, Aerospace/INCOSE Corporate Advisory Board• Dr. Barry Boehm, USC/INCOSE Fellow• Dr. Elliot Axelband, USC/INCOSE• Don Greenlee, SAIC/INCOSE V&V• Eric Honour, INCOSE SECOE• Paul Robitaille, LMCO/INCOSE Corporate Advisory Board• Garry Roedler, LMCO/ISO-IEC 15288 • Chris Miller, SPC/INCOSE Measurement Working Group• Dr. John E. Rieff, Raytheon/INCOSE Corporate Advisory Board• Jim VanGaasbeek, Northrop/INCOSE Corporate Advisory Board

INCOSE Involvement

9

USC

C S E University of Southern CaliforniaCenter for Software Engineering

LASPIN-INCOSE – 7/30/03

• Commercial Industry (15)– Daimler Chrysler, Freshwater Partners, Galorath, Group

Systems.Com, Hughes, IBM, Cost Xpert Group, Microsoft, Motorola, Price Systems, Rational, Reuters Consulting, Sun, Telcordia, Xerox

• Aerospace Industry (6)– BAE, Boeing, Lockheed Martin, Northrop Grumman,

Raytheon, SAIC

• Government (8)– DARPA, DISA, FAA, NASA-Ames, NSF, OSD/ARA/SIS,

US Army Research Labs, US Army TACOM

• FFRDC’s and Consortia (4)– Aerospace, JPL, SEI, SPC

• International (1)– Chung-Ang U. (Korea)

USC-CSE Affiliates (34)

*COSYSMO Contributors

10

USC

C S E University of Southern CaliforniaCenter for Software Engineering

LASPIN-INCOSE – 7/30/03

7-step Modeling MethodologyAnalyze Existingliterature

1

2

3

4

5

6

7

PerformBehavioral Analysis

Identify RelativeSignificance

Perform Expert-Judgement, DelphiAssessment

Gather Project Data

Determine BayesianA-Posteriori Update

Gather more data;refine modelDetermine statistical significance

11

USC

C S E University of Southern CaliforniaCenter for Software Engineering

LASPIN-INCOSE – 7/30/03

COCOMO II• Software• Development phases• 20+ years old• 200+ calibration points• 23 Drivers• Variable granularity• 3 anchor points• Size is driven by SLOC

COSYSMO• Systems Engineering• Entire Life Cycle• 2 years old• ~3 calibration points• 18 drivers• Fixed granularity• No anchor points• Size is driven by

requirements, I/F, etc.

Model Differences

12

USC

C S E University of Southern CaliforniaCenter for Software Engineering

LASPIN-INCOSE – 7/30/03

COSYSMO: Overview• Parametric model to estimate system

engineering costs• Includes 4 size & 14 cost drivers• Covers full system engineering lifecycle• Focused on use for Investment Analysis,

Concept Definition phases estimation, tradeoff & risk analyses– Input parameters can be determined in

early phases

13

USC

C S E University of Southern CaliforniaCenter for Software Engineering

LASPIN-INCOSE – 7/30/03

COSYSMO

SizeDrivers

EffortMultipliers

Effort

Calibration

# Requirements# Interfaces# Scenarios# Algorithms

+Volatility Factor

- Application factors-8 factors

- Team factors-6 factors

- Schedule driver WBS guided by ISO/IEC 15288

COSYSMO Operational Concept

14

USC

C S E University of Southern CaliforniaCenter for Software Engineering

LASPIN-INCOSE – 7/30/03

EIA/ANSI 632

EIA/ANSI 632 - Provide an integrated set of fundamental processes to aid a developer in the engineering or re-engineering of a system

Breadth and Depth of Key SE StandardsSystem life

ISO/IEC 15288

Level of

deta

il

Conceptualize DevelopTransition to

Operation

Operate,Maintain,

or EnhanceReplace

or Dismantle

Processdescription

High levelpractices

Detailedpractices

ISO/IEC 15288 - Establish a common framework for describing the life cycle of systems

Purpose of the Standards:Purpose of the Standards:

IEEE 1

220

IEEE 1220 - Provide a standard for managing systems engineeringSource : Draft Report ISO Study Group May 2, 2000

15

USC

C S E University of Southern CaliforniaCenter for Software Engineering

LASPIN-INCOSE – 7/30/03

Data will drive the Evolution Path & Scope of the Model

Oper Test & Eval

1. COSYSMO-IP

2. COSYSMO-C4ISR

3. COSYSMO-Machine

4. COSYSMO-SoS

Global Command and Control System

Satellite Ground Station

Joint Strike Fighter

Future Combat Systems

DevelopConceptualizeTransition to Operation

Operate, Maintain, or Enhance

Replace or Dismantle

16

USC

C S E University of Southern CaliforniaCenter for Software Engineering

LASPIN-INCOSE – 7/30/03

COCOMO-based Parametric Cost Estimating Relationship

Where: PMNS = effort in Person Months (Nominal Schedule)

A = constant derived from historical project data Size = determined by computing the weighted average of the size drivers E = exponent representing the economy/diseconomy of scale dependent on size drivers (4), currently set to 1n = number of cost drivers (14)EM = effort multiplier for the ith cost driver. The geometric product results

in an overall effort adjustment factor to the nominal effort.

i

n

i

ENS EMSizeAPM

1)(

17

USC

C S E University of Southern CaliforniaCenter for Software Engineering

LASPIN-INCOSE – 7/30/03

4 Size Drivers1. Number of System Requirements

2. Number of Major Interfaces

3. Number of Operational Scenarios

4. Number of Critical Algorithms

• Each weighted by complexity, volatility, and degree of reuse

18

USC

C S E University of Southern CaliforniaCenter for Software Engineering

LASPIN-INCOSE – 7/30/03

Number of System RequirementsThis driver represents the number of requirements for the system-of-interest at a specific level of design. Requirements may be functional, performance, feature, or service-oriented in nature depending on the methodology used for specification. They may also be defined by the customer or contractor. System requirements can typically be quantified by counting the number of applicable “shall’s” or “will’s” in the system or marketing specification. Do not include a requirements expansion ratio – only provide a count for the requirements of the system-of-interest as defined by the system or marketing specification.

Easy Nominal Difficult

- Well specified - Loosely specified - Poorly specified

- Traceable to source - Can be traced to source with some effort

- Hard to trace to source

- Simple to understand - Takes some effort to understand - Hard to understand

- Little requirements overlap - Some overlap - High degree of requirements overlap

- Familiar - Generally familiar - Unfamiliar

- Good understanding of what’s needed to satisfy and verify requirements

- General understanding of what’s needed to satisfy and verify requirements

- Poor understanding of what’s needed to satisfy and verify requirements

19

USC

C S E University of Southern CaliforniaCenter for Software Engineering

LASPIN-INCOSE – 7/30/03

14 Cost Drivers

1. Requirements understanding

2. Architecture complexity

3. Level of service requirements

4. Migration complexity

5. Technology Maturity

6. Documentation Match to Life Cycle Needs

7. # and Diversity of Installations/Platforms

8. # of Recursive Levels in the Design

Application Factors (8)

20

USC

C S E University of Southern CaliforniaCenter for Software Engineering

LASPIN-INCOSE – 7/30/03

Requirements understanding This cost driver rates the level of understanding of the system requirements by all stakeholders including the systems, software, hardware, customers, team members, users, etc.

Very low Low Nominal High Very High

Poor, unprecedented system

Minimal, many undefined areas

Reasonable, some undefined areas

Strong, few undefined areas

Full understanding of requirements, familiar system

21

USC

C S E University of Southern CaliforniaCenter for Software Engineering

LASPIN-INCOSE – 7/30/03

14 Cost Drivers (cont.)

1. Stakeholder team cohesion

2. Personnel/team capability

3. Personnel experience/continuity

4. Process maturity

5. Multisite coordination

6. Tool support

Team Factors (6)

22

USC

C S E University of Southern CaliforniaCenter for Software Engineering

LASPIN-INCOSE – 7/30/03

Stakeholder team cohesion Represents a multi-attribute parameter which includes leadership, shared vision, diversity of stakeholders, approval cycles, group dynamics, IPT framework, team dynamics, trust, and amount of change in responsibilities. It further represents the heterogeneity in stakeholder community of the end users, customers, implementers, and development team.

Very Low Low Nominal High Very High

Culture Stakeholders with diverse expertise, task nature, language, culture, infrastructure Highly heterogeneous stakeholder communities

Heterogeneous stakeholder communitySome similarities in language and culture

Shared project culture

Strong team cohesion and project cultureMultiple similarities in language and expertise

Virtually homogeneous stakeholder communitiesInstitutionalized project culture

Communication Diverse organizational objectives

Converging organizational objectives

Common shared organizational objectives

Clear roles & responsibilities

High stakeholder trust level

23

USC

C S E University of Southern CaliforniaCenter for Software Engineering

LASPIN-INCOSE – 7/30/03

Additional Proposed Drivers• # and diversity of installations/platforms phased out • # of years in operational life cycle• Quality Attributes• Manufacturability/Producibility• Degree of Distribution

24

USC

C S E University of Southern CaliforniaCenter for Software Engineering

LASPIN-INCOSE – 7/30/03

Delphi Results• From last COSYSMO Working

Group Meeting in Keystone, CO• 2 rounds• Avg. increased for all drivers

except TOOL• About 1/3 of the responses

were adjusted as a result of the discussion

• Goal is to get 30+ Delphi surveys filled out by October

Gary Hafen, LMCOBarry Boehm, USCDon Reifer, USCPaul Mohlman, AeroRob Flowe, DAURick Edison, LMCOGary Thomas, RaytheonGarry Roedler, LMCOCarl Newman, LMCO

25

USC

C S E University of Southern CaliforniaCenter for Software Engineering

LASPIN-INCOSE – 7/30/03

# of Req

0.00

5.00

10.00

15.00

20.00

25.00

1

26

USC

C S E University of Southern CaliforniaCenter for Software Engineering

LASPIN-INCOSE – 7/30/03

Req Und

0.00

0.50

1.00

1.50

2.00

2.50

3.00

3.50

4.00

4.50

1

27

USC

C S E University of Southern CaliforniaCenter for Software Engineering

LASPIN-INCOSE – 7/30/03

Team

0.00

0.50

1.00

1.50

2.00

2.50

3.00

3.50

1

28

USC

C S E University of Southern CaliforniaCenter for Software Engineering

LASPIN-INCOSE – 7/30/03

Estimation ExampleYou are the SE working on an upgrade of a legacy system with a pretty good understanding of requirements (“Nominal” rating)…

Very low Low Nominal High Very High

Poor, unprecedented system

Minimal, many undefined areas

Reasonable, some undefined areas

Strong, few undefined areas

Full understanding of requirements, familiar system

1.0

Requirements Understanding rating scale:

0.9 0.811.21.4

You estimate that the job will require 12 Person Months. This driver will have no additional impact on the cost of the job (effort is multiplied by 1.0).

29

USC

C S E University of Southern CaliforniaCenter for Software Engineering

LASPIN-INCOSE – 7/30/03

Estimation Example (cont)…all of a sudden…the customer adds a requirement to make the new system backwards compatible with the old one.

Your overall understanding of the requirements has decreased, your schedule and resources are fixed, and the amount of work has increased.

Mayday!

30

USC

C S E University of Southern CaliforniaCenter for Software Engineering

LASPIN-INCOSE – 7/30/03

Estimation Example (cont)Justify to Program Manager/Director your request to increase resources in this area.

Very low Low Nominal High Very High

Poor, unprecedented system

Minimal, many undefined areas

Reasonable, some undefined areas

Strong, few undefined areas

Full understanding of requirements, familiar system

1.0

Requirements Understanding rating scale:

0.9 0.811.21.4

The effort is multiplied by 1.2!Instead of 12 PM, this job will require 14.4 PM of Systems Engineering work (additional $19.2k*)

*assumes $8k/PM

31

USC

C S E University of Southern CaliforniaCenter for Software Engineering

LASPIN-INCOSE – 7/30/03

Data Collection Process• Project & people are identified

• Systems engineer• Cost estimator/data base manager

• Job/task codes in accounting system are mapped to COSYSMO• Meta data is collected

• System scope• Life cycle• Application domain

• Cost drivers are rated• Interaction between SE, Cost, USC

• Data is entered into secure repository at USC

32

USC

C S E University of Southern CaliforniaCenter for Software Engineering

LASPIN-INCOSE – 7/30/03

Safeguarding Procedures• Data identification

– Only affiliate & Dr. Boehm know the OID (XXX) and only affiliate knows PID (YYY)

• Data storage– Stand-alone computer at USC with one-way

access to the network– In a room with cypher lock & limited access

• Data access– Non-disclosure agreements signed– Controlled access to data by researchers (US

Citizens only)

33

USC

C S E University of Southern CaliforniaCenter for Software Engineering

LASPIN-INCOSE – 7/30/03

USC/Raytheon myCOSYSMO* Demo

*Developed by Gary Thomas

at Raytheon Garland

34

USC

C S E University of Southern CaliforniaCenter for Software Engineering

LASPIN-INCOSE – 7/30/03

Parametric Cost Model Critical PathUsual # Months*

6 Converge on cost drivers, WBS

6 Converge on detailed definitions and rating scales

12 Obtain initial exploratory dataset (5-10 projects)

6 Refine model based on data collection & analysis experience

12+ Obtain IOC calibration dataset (30 projects)

9 Refine IOC model and tool

Critical Path Task

*Can be shortened and selectively overlapped

35

USC

C S E University of Southern CaliforniaCenter for Software Engineering

LASPIN-INCOSE – 7/30/03

Calendar of Activities: 2003

2003 2004

INCOSE 2003(Washington, DC)

USC CSE Annual Research Review(Los Angeles, CA)

INCOSE IW(Tampa, FL)

COCOMO Forum(Los Angeles, CA)

Conference on Systems Integration(Hoboken, NJ)

J F M A M J J A S O N D

Practical Software & Systems Measurement Workshop (Keystone, CO)

Working Group Meeting

INCOSE/SCEA Meeting(Chantilly, VA)

36

USC

C S E University of Southern CaliforniaCenter for Software Engineering

LASPIN-INCOSE – 7/30/03

Don’t be left out!

37

USC

C S E University of Southern CaliforniaCenter for Software Engineering

LASPIN-INCOSE – 7/30/03

Questions or Comments?Ricardo Valerdi

[email protected]

Websites

http://sunset.usc.edu

http://valerdi.com/cosysmo

Books

Boehm, B., et al, Software Cost Estimation with COCOMOII, 1st Ed, Prentice Hall, 2000

Blanchard, B., Fabrycky, W., Systems Engineering and Analysis, 3rd Ed, Prentice Hall, 1998

Boehm, B., Software Engineering Economics, 1st Ed, Prentice Hall, 1981