characterizing the impact of requirements volatility on systems engineering effort

68
1 University of Southern California Center for Systems and Software Engineering Mauricio E. Peña Dr. Ricardo Valerdi March 8, 2011 Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

Upload: ford

Post on 18-Feb-2016

43 views

Category:

Documents


3 download

DESCRIPTION

Characterizing the Impact of Requirements Volatility on Systems Engineering Effort. Mauricio E. Peña Dr. Ricardo Valerdi March 8, 2011. Agenda. 1:30 – 1:45 pmIntroductions & objectives 1:45 – 2:00 pmCOSYSMO overview and updates - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

1

University of Southern CaliforniaCenter for Systems and Software Engineering

Mauricio E. PeñaDr. Ricardo Valerdi

March 8, 2011

Characterizing the Impact of Requirements Volatility on

Systems Engineering Effort

Page 2: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

2

University of Southern California Center for Systems and Software Engineering

Agenda1:30 – 1:45 pm Introductions & objectives

1:45 – 2:00 pm COSYSMO overview and updates

2:00 - 2:30 pm COSYSMO requirements volatility extension: introduction and research results

2:30 – 3:30 pm Requirements volatility measures: definitions & counting rules

3:30 – 3:45 pm Break

3:45 – 4:45 pm Survey Exercise: expected level of volatility and impact on systems engineering effort

4:45 – 5:00 pm Discussion

Page 3: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

3

University of Southern California Center for Systems and Software Engineering

Objectives of the Workshop• Learn about COSYSMO and the latest research

updates• Explore the causes of requirements volatility and its

impact on systems engineering effort• Obtain feedback on a proposed requirements

volatility extension to COSYSMO• Reach agreement on definitions and rating scales for

requirements volatility • Provide an opportunity for participants to exchange

lessons learned on requirements volatility and influence the direction of future research

Page 4: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

4

University of Southern CaliforniaCenter for Systems and Software Engineering

COSYSMO Overview & Updates

Page 5: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

5

University of Southern California Center for Systems and Software Engineering

CSSE Parametric Cost Models• The Constructive Systems Engineering Cost Model

(COSYSMO) was developed by the USC Center for Software and Systems Engineering (CSSE) in collaboration with INCOSE and Industry affiliates

• COSYSMO is the first generally-available parametric cost model designed to estimate Systems Engineering effort

• Built on experience from COCOMO 1981, COCOMO II– Most widely used software cost models worldwide– Developed with Affiliate funding, expertise, data support

Page 6: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

6

University of Southern California Center for Systems and Software Engineering

COSYSMO

Size*Drivers

EffortMultipliers

Effort

Calibration

# Requirements# Interfaces# Scenarios# Algorithms

- Application factors-8 factors

- Team factors-6 factors

WBS guided by EIA/ANSI 632

COSYSMO Operational Concept

Source: Valerdi, R. (2005)

*Each weighted by complexity: easy, nominal, and difficult

Page 7: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

7

University of Southern California Center for Systems and Software Engineering

Scope of the Model

ISO/IEC 15288 – Common framework for describing the life cycle of systemsEIA/ANSI 632 – Integrated set of fundamental systems engineering processes

Source : Draft Report ISO Study Group May 2, 2000

ISO/IEC 15288

Conceptualize DevelopTransition to

Operation

Acquisition & Supply

Technical Management

System Design

Product Realization

Technical Evaluation

Operational Test &

Evaluation

AN

SI/E

IA 6

32ISO/IEC 15288

Conceptualize DevelopTransition to

Operation

Acquisition & Supply

Technical Management

System Design

Product Realization

Technical Evaluation

Operational Test &

Evaluation

AN

SI/E

IA 6

32

Page 8: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

8

University of Southern California Center for Systems and Software Engineering

Life Cycle Phase Definition• Conceptualize phase focuses on identifying stakeholder needs,

exploring different solution concepts, and proposing candidate solutions.

• The Development phase involves refining the system requirements, creating a solution description, and building a system.

• The Operational Test & Evaluation Phase involves verifying/validating the system and performing the appropriate inspections before it is delivered to the user

• The Transition to Operation Phase involves the transition to utilization of the system to satisfy the users’ needs.

Source: Valerdi, R. (2005)

Page 9: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

9

University of Southern California Center for Systems and Software Engineering

Parametric Cost Estimating Relationship

• Where:PMNS = effort in Person Months (Nominal Schedule)A = constant derived from historical project dataSize = determined by computing the weighted average of the (4) size driversE = represents diseconomy of scalen = 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

Source: Valerdi, R. (2005)

Page 10: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

10

University of Southern California Center for Systems and Software Engineering

COSYSMO Cost Drivers

• Application Factors– Requirements understanding – Architecture understanding – Level of service

requirements– Migration complexity – Technology Maturity – Documentation Match to Life

Cycle Needs– # and Diversity of

Installations/Platforms– # of Recursive Levels in the

Design

• Team Factors– Stakeholder team cohesion – Personnel/team capability – Personnel

experience/continuity – Process maturity – Multisite coordination – Tool support

Source: Valerdi, R. (2005)

Page 11: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

11

University of Southern California Center for Systems and Software Engineering

Cost Driver Rating Scales

Very Low Low Nominal High Very High Extra High EMR

Requirements Understanding 1.87 1.37 1.00 0.77 0.60   3.12

Architecture Understanding 1.64 1.28 1.00 0.81 0.65   2.52

Level of Service Requirements 0.62 0.79 1.00 1.36 1.85   2.98

Migration Complexity     1.00 1.25 1.55 1.93 1.93

Technology Risk 0.67 0.82 1.00 1.32 1.75   2.61

Documentation 0.78 0.88 1.00 1.13 1.28   1.64

# and diversity of installations/platforms     1.00 1.23 1.52 1.87 1.87

# of recursive levels in the design 0.76 0.87 1.00 1.21 1.47   1.93

Stakeholder team cohesion 1.50 1.22 1.00 0.81 0.65   2.31

Personnel/team capability 1.50 1.22 1.00 0.81 0.65   2.31

Personnel experience/continuity 1.48 1.22 1.00 0.82 0.67   2.21

Process capability 1.47 1.21 1.00 0.88 0.77 0.68 2.16

Multisite coordination 1.39 1.18 1.00 0.90 0.80 0.72 1.93

Tool support 1.39 1.18 1.00 0.85 0.72   1.93

Source: Valerdi, R. (2005)

Page 12: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

12

University of Southern California Center for Systems and Software Engineering

Page 13: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

13

University of Southern California Center for Systems and Software Engineering

COSYSMO 2.0 Operational Concept

Source: Fortune (2009)

Page 14: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

14

University of Southern California Center for Systems and Software Engineering

COSYSMO 2.0 Model Form

Source: Fortune (2009)

Page 15: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

15

University of Southern California Center for Systems and Software Engineering

Reuse Category Weights

Source: Fortune (2009)

Page 16: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

16

University of Southern California Center for Systems and Software Engineering

COSYSMO 2.0 Implementation Results

• Across 44 projects at 1 diversified organization

• Using COSYSMO:– PRED(.30) = 14%– PRED(.40) = 20%– PRED(.50) = 20%– R2 = 0.50

• Using COSYSMO 2.0:– PRED(.30) = 34%– PRED(.40) = 50%– PRED(.50) = 57%– R2 = 0.72• Result: 36 of 44 (82%) estimates

improvedSource: Fortune (2009)

Page 17: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

17

University of Southern CaliforniaCenter for Systems and Software Engineering

COSYSMO Extension:Requirements Volatility

Page 18: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

18

University of Southern California Center for Systems and Software Engineering

Importance of Understanding Requirements Volatility

• Requirements volatility has been identified by numerous research studies as a risk factor and cost-driver of systems engineering projects1

• Requirements changes are costly, particularly in the later stages of the lifecycle process because the change may require rework of the design, verification and deployment plans2

• The Government Accountability Office (GAO) concluded in a 2004 report on the DoD’s acquisition of software-intensive weapons systems that missing, vague, or changing requirements are a major cause of project failure3

System developers often lack effective methods and tools to account for and manage requirements volatility

Source: 1- Boehm (1991), 2- Kotonya and Sommerville (1995), 3- GAO-04-393

Page 19: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

19

University of Southern California Center for Systems and Software Engineering

Requirements Volatility is Expected• Changes to requirements are a part of our

increasingly complex systems & dynamic business environment

– Stakeholders needs evolve rapidly– The customer may not be able to fully specify the system

requirements up front– New requirements may emerge as knowledge of the system

evolves– Requirements often change during the early phases of the

project as a result of trades and negotiations

Sources: Kotonya and Sommerville (1995); Reifer (2000)

Requirements volatility must be anticipated and managed

Page 20: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

20

University of Southern California Center for Systems and Software Engineering

Questions that will be covered• How do we account for the impact of requirements

volatility on functional size and effort estimates?• What counting rules should be used for requirements

volatility?– How do we distinguish between typical changes/iterations

and unplanned changes that require more effort than originally projected?

– How do we prevent from counting the elaboration of requirements as volatility (added requirements)?

• Is it feasible to track the volatility of other size drivers (interfaces, operational scenarios, algorithms)?

Page 21: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

21

University of Southern California Center for Systems and Software Engineering

Requirements Volatility Definitions• Requirements volatility is typically defined as the

change in requirements (added, deleted, and modified) over a given time interval

• Also known as:• Requirements creep: An increase in scope and

number of system requirements• Requirements churn: Instability in the requirements

set – requirements are modified or re-worked without necessarily resulting in an increase in the total number of requirements

Source: MIL-STD-498

Page 22: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

22

University of Southern California Center for Systems and Software Engineering

Requirements Volatility Metrics (1 of 3)

Systems Engineering Leading Indicators Guide, Version 2.0, 2010

100%90%80%70%60%50%40%30%20%10%0%

Planned SRR

Metric-Driven

SRR

Total Changes AddedDeletedModified

Projected Trend

% o

f tot

al R

equi

rem

ents

Cha

ngin

g

Time

Program “A” Requirements Volatility100%90%80%70%60%50%40%30%20%10%0%

Planned SRR

Metric-Driven

SRR

Total Changes AddedDeletedModified

Projected Trend

% o

f tot

al R

equi

rem

ents

Cha

ngin

g

Time

Program “A” Requirements Volatility

Volatility expressed as a % of the total number of requirements

Page 23: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

23

University of Southern California Center for Systems and Software Engineering

Requirements Volatility Metrics (2 of 3)

Source: Hammer, T., Huffman, L., and Rosenberg, L. (1998).

Program “B” Requirements Volatility

Time (months)

50

40

30

20

10

0

Num

ber o

f Req

uire

men

ts DeletedAdded Modified

Program “B” Requirements Volatility

Time (months)

50

40

30

20

10

0

Num

ber o

f Req

uire

men

ts DeletedAdded Modified

Volatility metrics track the number and type of changes over time

Page 24: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

24

University of Southern California Center for Systems and Software Engineering

Requirements Volatility Metrics (3 of 3)

0

20

40

60

80

100

120

140

160

180

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

Req. Added

Req. Deleted

Req. Modified

Cum. Deleted

Cum. Modified

Cum. Added

Cum. Changes

# of

Req

uire

men

ts C

hang

es

Conceptualize Development Operational Test & Evaluation

Transition to Operation

0

20

40

60

80

100

120

140

160

180

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

Req. Added

Req. Deleted

Req. Modified

Cum. Deleted

Cum. Modified

Cum. Added

Cum. Changes

# of

Req

uire

men

ts C

hang

es

Conceptualize Development Operational Test & Evaluation

Transition to Operation

Page 25: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

25

University of Southern California Center for Systems and Software Engineering

Systems Engineering Reviews and Acquisition Lifecycle Phases

Materiel Solution Analysis

Technology Development

Engineering and Manufacturing Development

Production & Deployment

Operations & Support

Pre-Systems Acquisition Systems Acquisition Sustainment

A B C(Program Initiation) IOC FOC

Acquisition Milestones Evolutionary Acquisition or Single Step toFull Capability

ASR SRR SFR PDR CDR FCA PCATech Reviews

Documents

Sys Perf. Spec.

Item Perf. Specs.

Item Detail

Requirements Review

System Definition SY

S

CI

Sys Tech Requirements

Item Design Rqmts.

Detailed Design Rqmts.

Draft

User Needs

Materiel Solution Analysis

Technology Development

Engineering and Manufacturing Development

Production & Deployment

Operations & Support

Pre-Systems Acquisition Systems Acquisition Sustainment

A B C(Program Initiation) IOC FOC

Acquisition Milestones Evolutionary Acquisition or Single Step toFull Capability

ASR SRR SFR PDR CDR FCA PCATech Reviews

Documents

Sys Perf. Spec.

Item Perf. Specs.

Item Detail

Requirements Review

System Definition SY

S

CI

Sys Tech Requirements

Item Design Rqmts.

Detailed Design Rqmts.

Draft

User Needs

Source: DoD Instruction 5000.02 (2008)

A Requirements baseline is established when the functional requirements and characteristics of the system are formally documented and placed under configuration control

Page 26: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

26

University of Southern California Center for Systems and Software Engineering

Requirements and Evolutionary Acquisition Process

Source: DoD Instruction 5000.02 (2008)

Page 27: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

27

University of Southern California Center for Systems and Software Engineering

Requirements Trends as a Leading Indicator of Project Performance

• Evaluates trends in the growth, change, completeness and correctness of the system requirements.

• It helps to determine the stability and completeness of the system requirements which could potentially impact project performance

Source: Systems Engineering Leading Indicators Guide, Version 2.0, 2010

Planned # of RequirementsActual # of RequirementsProjected # of Requirements

Num

ber o

f Req

uire

men

ts

Requirements Growth Trends

TimeSRR PDR CDR

Corrective Action Taken

Page 28: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

28

University of Southern California Center for Systems and Software Engineering

Implications to COSYSMO• During the development of COSYSMO, volatility was

identified as a relevant adjustment factor to the model’s size drivers

• However, there was insufficient data to incorporate volatility effects into the initial version of the model

• The primary objective of the research is to complete the requirements volatility extension to COSYSMO within the existing structure and scope of the model

Source: Valerdi (2005)

Page 29: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

29

University of Southern California Center for Systems and Software Engineering

COSYSMO Volatility Factor

COSYSMO

SizeDrivers

EffortMultipliers

Effort

Calibration

# Requirements# Interfaces# Scenarios# Algorithms

- Application factors-8 factors

- Team factors-6 factors

ReuseCategories

Volatility Factor

COSYSMO

SizeDrivers

EffortMultipliers

Effort

Calibration

# Requirements# Interfaces# Scenarios# Algorithms

- Application factors-8 factors

- Team factors-6 factors

ReuseCategories

Volatility Factor

COSYSMO

SizeDrivers

EffortMultipliers

Effort

Calibration

# Requirements# Interfaces# Scenarios# Algorithms

- Application factors-8 factors

- Team factors-6 factors

ReuseCategories

Volatility Factor

Source: Fortune (2009)

Page 30: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

30

University of Southern California Center for Systems and Software Engineering

Overview of Research to Date• Data were collected through surveys and interviews

of subject-matter experts in four different workshops• A variety of industries were represented with an

emphasis on aerospace & defense • Exploratory survey administered at:

– Workshop # 1: 2010 USC-CSSE Annual Research Review– Workshop # 2: 2010 LAI Knowledge Exchange Event

• Survey exercises were conducted at:– Workshop # 3: 2010 Practical Software and Systems

Measurement (PSM) Users Group Conference – Workshop # 4: University of Southern California 25th Annual

COCOMO Forum

Page 31: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

31

University of Southern California Center for Systems and Software Engineering

Observations from the Literature and Exploratory Research

1. Requirements volatility is correlated with an increase in project size and cost

2. The level of requirements volatility is a function of the system life cycle phase and does not necessarily behave linearly

3. The cost / effort impact of a requirements change increases the later the change occurs in the system life cycle

4. The impact of requirements volatility varies depending on the type of change: added, deleted, or modified

5. Removing a requirement may not necessarily result in a net decrease in engineering effort and cost

A causal model diagram was developed that relates technical, organizational and contextual project factors to requirements volatility

Page 32: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

32

University of Southern California Center for Systems and Software Engineering

Requirements Volatility Causal Model Diagram

Contextual / Environmental

ChangesExperienced

StaffChanges in

COTS Products

Changes in Org / structure/

Process

Poor Understanding of

the System & Customer Needs

Customer-driven Scope Change

Changes in Co-dependent

Systems

Requirements Process Maturity

Technology Maturity

Requirements Volatility

Sources: Kotonya and Sommerville (1995); Hammer et al. (1998); Malaiya and Denton (1999); Stark et al. (1999); Houston (2000); Zowghi and Nurmuliani (2002); Kulk and Verhoef 2008; Ferreira, S., Collofello, J., Shunk, D., and Mackulak, G. (2009)

Page 33: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

33

University of Southern California Center for Systems and Software Engineering

Impact of Requirements Volatility

Project Effort

Rework / Defects

Number of System

Requirements

Customer Satisfaction

Quality

Project Cost

Project Schedule

Requirements Volatility +/-

+/- +/-+/- +/-

+/-

Sources: Kotonya and Sommerville (1995); Hammer et al. (1998); Malaiya and Denton (1999); Stark et al. (1999); Houston (2000); Zowghi and Nurmuliani (2002); Kulk and Verhoef 2008; Ferreira, S., Collofello, J., Shunk, D., and Mackulak, G. (2009)

Page 34: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

34

University of Southern California Center for Systems and Software Engineering

Exploratory Survey• Developed to gather the perspectives of subject-

matter experts on the causes, impacts, and expected level of requirements volatility for a given system of interest

• Organizations represented: – The Aerospace Corporation, Northrop Grumman

Corporation– The Boeing Company, Softstar Systems, Raytheon– United Launch Alliance, Massachusetts Institute of

Technology, University of Southern California, and– United States Army– Unites States Navy

Page 35: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

35

University of Southern California Center for Systems and Software Engineering

Exploratory Survey Participant Background

System Application Domain

System H/W –S/W breakdown

100% Software, 125% Hardware, 75% Software, 5

50% Hardware, 50% Software, 11

75% Hardware, 25% Software, 3

100% Hardware, 0

No response, 2

Telecomm.2%

Space Systems22%

Transportation Systems

2%

Automotive0%

Scientific / Research

9%

Military / Defense41%

Other7%

Infrastructure 2%

Aircraft/Avionics11%

Data Systems / IT4%

• 22 respondents

• 23 years average industry experience

• Primarily from a Military/Defense and Space Systems Background

• Experienced on Systems with a fairly balanced H/W and S/W work content

Page 36: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

36

University of Southern California Center for Systems and Software Engineering

>20%

>20%

>20% >20%

10-20%

10-20%

10-20%

10-20%

5-10%

5-10%

5-10%

5-10%

<5% <5%

<5%

<5%

don't know don't know don't know don't know

0

5

10

15

20

Conceptualize Development Operational Test &Evaluation

Transition toOperation

Expected Requirements Volatility (%)

Num

ber o

f Res

pond

ents

Expected Level of Volatility Across Lifecycle Phases

Most respondents expect >20% volatility during the conceptualize phase of the project, decreasing to <5% in the transition to operation phase

Source: LAI Knowledge Exchange / CSSE ARR Survey (2010)

Page 37: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

37

University of Southern California Center for Systems and Software Engineering

Impact of Hardware/Software Project Breakdown on Expected Volatility

Operational Test & Evaluation Lifecycle Phase Transition to Operation Lifecycle Phase

0%

20%

40%

60%

80%

100%

<5% 5-10% 10-20% >20%Expected Requirements Volatility (%)

75% Hardware, 25% Software 50% Hardware, 50% Software25% Hardware, 75% Software

% o

f Res

pond

ents

per C

ateg

ory

0%

20%

40%

60%

80%

100%

<5% 5-10% 10-20% >20%

Expected Requirements Volatility (%)75% Hardware, 25% Software 50% Hardware, 50% Software

25% Hardware, 75% Software

% o

f Res

pond

ents

per C

ateg

ory

Respondents from S/W intensive projects tend to expect more volatility later in the lifecycle

Source: LAI Knowledge Exchange / CSSE ARR Survey (2010)

Page 38: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

38

University of Southern California Center for Systems and Software Engineering

0%

20%

40%

60%

80%

100%

Re-work of work products Project size (Total # ofrequirements)

% o

f res

pond

ents

Impacts of Volatility• In general, results of the

survey support observations from the literature and causal model

• Most respondents stated that requirements volatility will cause a moderate to large increase in the number of system requirements and rework

Moderate decrease Moderate Increase

No impact Large Increase

Page 39: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

39

University of Southern California Center for Systems and Software Engineering

Ranked Causes of Requirements Volatility (Exploratory Survey)

Contextual / Environmental

ChangesExperienced

StaffChanges in

COTS Products

Changes in Org / structure/

Process

Poor Understanding of

the System & Customer Needs

Customer-driven Scope Change

Changes in Co-dependent

Systems

Requirements Process Maturity

Technology Maturity

Requirements Volatility

1 2 3 4 5

6 7 8 9

Sources: Kotonya and Sommerville (1995); Hammer et al. (1998); Malaiya and Denton (1999); Stark et al. (1999); Houston (2000); Zowghi and Nurmuliani (2002); Kulk and Verhoef 2008; Ferreira, S., Collofello, J., Shunk, D., and Mackulak, G. (2009)

Page 40: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

40

University of Southern California Center for Systems and Software Engineering

Workshop # 3: PSM Conference• Survey Exercise administered during the 2010

Practical Software and Systems Measurement Conference

• Attended by 9 participants from diverse engineering organizations and academic institutions

• Organizations Represented:– Distributed Management, Northrop Grumman– Lockheed Martin, Ericsson España– Samsung SDS, U.S. Navy– Massachusetts Institute of Technology (MIT)

Page 41: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

41

University of Southern California Center for Systems and Software Engineering

Workshop # 3: Survey ExerciseParticipants were asked to:1.Draw a requirements volatility profile across the

lifecycle phases covered by COSYSMO2.Draw an “ease of change” profile across the same

life cycle phases to determine the volatility weighting factor

3.Discuss variation in 1 and 2 above for:1. Large and small projects2. Hardware and software projects3. Development and recurring projects

Page 42: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

42

University of Southern California Center for Systems and Software Engineering

Sample Volatility Profiles

Conceptualize Development Operational Test & Evaluation

Transition to Operation

% o

f Req

uire

men

ts, A

dded

, Del

eted

or M

odifi

ed

50%

40%

30%

20%

10%

5%

15%

25%

35%

45%

0%

Localized peaks in volatility

Participant inputs#1 # 5#2 #6#3 #7#4

Conceptualize Development Operational Test & Evaluation

Transition to Operation

% o

f Req

uire

men

ts, A

dded

, Del

eted

or M

odifi

ed

50%

40%

30%

20%

10%

5%

15%

25%

35%

45%

0%

50%

40%

30%

20%

10%

5%

15%

25%

35%

45%

0%

Localized peaks in volatility

Participant inputs#1 # 5#2 #6#3 #7#4

Source: Practical Software & Systems Measurement Conference Survey (2010)

Page 43: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

43

University of Southern California Center for Systems and Software Engineering

Ease of Change Profile

Conceptualize Development Operational Test & Evaluation

Transition to Operation

Ease

of C

hang

e 1

0.5

0.1

0

0.2

0.3

0.4

0.9

0.6

0.7

0.8

Representative of Participant Feedback

Conceptualize Development Operational Test & Evaluation

Transition to Operation

Ease

of C

hang

e 1

0.5

0.1

0

0.2

0.3

0.4

0.9

0.6

0.7

0.8

Representative of Participant Feedback

Cost Penalty defined as 1 / ease of change

Average Ease of Change Factor (Estimated)

Average Cost Penalty (Estimated)

0.8 0.4 0.1 0.05

1.25 2.5 10 20

Page 44: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

44

University of Southern California Center for Systems and Software Engineering

Workshop #4: COCOMO Forum• Attended by 15 participants from 10 different engineering

organizations and academic institutions• The participants were asked to estimate:• Expected level of volatility

– The cumulative volatility (%) over the four life cycle phases covered by COSYSMO

– How those changes in requirements would be partitioned per life cycle phase

– The breakdown of volatility per type of change (added, deleted, modified)

• Cost Penalty– Provided a change cost penalty as a function of lifecycle phase– Estimated the cost penalty per type of change

Page 45: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

45

University of Southern California Center for Systems and Software Engineering

Expected Volatility per Lifecycle Phase

-5%

0%

5%

10%

15%

20%

25%

Conceptualize Development Operational Test &Evaluation

Transition toOperation

Req

uire

men

ts V

olat

ility

(% c

hang

es)

Average 10% 11% 5% 2%

Standard Dev 7% 8% 5% 3%

Expected Cumulative Volatility = 28%, STD = 14%

Page 46: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

46

University of Southern California Center for Systems and Software Engineering

Weighting Factor per Lifecycle Phase

-20

-10

0

10

20

30

40

50

Conceptualize Development Operational Test &Evaluation

Transition toOperation

1 = no penalty

Conceptualize DevelopmentOpr. Test & Evaluation

Transition to Operation

Average 1 7 13 16Standard Dev 0.3 15 26 30

Page 47: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

47

University of Southern California Center for Systems and Software Engineering

Breakdown per type of Change

-2

0

2

4

6

8

10

12

Conceptualize Development Operational Test &Eval

Transition to Ops

added

deleted

modified

Cos

t Pen

alty

Fac

tor

Source: COCOMO Forum Survey Exercise (2010)

Expected Breakdown of Volatility per type of change: 34% added, 51% modified, 15% deleted

Page 48: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

48

University of Southern CaliforniaCenter for Systems and Software Engineering

Proposed Requirements Volatility Extension

Page 49: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

49

University of Southern California Center for Systems and Software Engineering

Requirements Volatility Size Driver Adjustment Factor

REVL is defined as the % of the baseline set of requirements that changes throughout the lifecycleA weighting factor is added to account for the effort penalty due to rework

This relationship is expressed through the following equation:

Where,Rx,r = Baseline number of requirements (easy, nominal, difficult)Reff = Effective number of requirements at the end of the projectwv = Requirements volatility weighting factor

Source: Boehm (2000)

rdrnreveff RRRwREVLR ,,," 1001

Page 50: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

50

University of Southern California Center for Systems and Software Engineering

Aggregate Weighting Factor

As previously discussed, the effort penalty due to requirements volatility is likely to increase across lifecycle phases

In order to capture this potential lifecycle phase dependency in the model, the following relationship is proposed:

Wherewv = Requirements volatility weighting factorwx,l = Weighting factor for added, deleted, or modifiedΘx,l = % of total changes that were added, deleted or modifiedl = lifecycle phases

l

lmlmldldlalav wwww ,,,,,,

Page 51: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

51

University of Southern California Center for Systems and Software Engineering

Proposed Model (2)As previously discussed, requirements volatility may be decomposed into added, modified or deleted requirement; each with a different weighting factor

Rv = wa · Radded + wm · Rmodified + wd · Rdeleted

Where,Rv = Effective number of requirements changeswx = Weighting factor for added, deleted, or modifiedRx = Number of requirements added, modified, deleted

Page 52: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

52

University of Southern CaliforniaCenter for Systems and Software Engineering

Requirements Volatility Measures

Page 53: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

53

University of Southern California Center for Systems and Software Engineering

Requirements Size Driver Definition

This driver represents the number of requirements for the system-of-interest at a specific level of design. The quantity of requirements includes those related to the effort involved in system engineering the system interfaces, system specific algorithms, and operational scenarios.

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.

Each requirement may have effort associated with is such as V&V, functional decomposition, functional allocation, etc.

System requirements can typically be quantified by counting the number of applicable shalls/wills/shoulds/mays in the system or marketing specification

Source: Valerdi (2005)

Page 54: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

54

University of Southern California Center for Systems and Software Engineering

Requirements Counting Rules1. Determine the system of interest2. Decompose system objectives, capabilities, or measures of

effectiveness into requirements that can be tested, verified, or designed• Different systems will exhibit different levels of requirements

decomposition depending on the application domain, customer’s ability to write good system requirements, and the functional size of the system

3. Provide a graphical or narrative representation of the system of interest and how it relates to the rest of the system

4. Count the number of requirements in the system/marketing specification or the verification test matrix for the level of design in which systems engineering is taking place in the desired system of interest

5. Determine the complexity, volatility, and reuse of requirements  Source: Valerdi (2005)

Page 55: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

55

University of Southern California Center for Systems and Software Engineering

Requirements Volatility Measures• Base Measures

– Number of requirements changes– Number of added, deleted or modified requirements

• Measurement methods1. Count the number of requirements changes from

Engineering Change Proposals (ECPs)2. Count the number and type of changes using a

requirements management tool such as the Dynamic Object Oriented Requirements System (DOORS)

3. Use a text differencing tool to determine the number and type of requirements changes between two versions of a specification

Page 56: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

56

University of Southern California Center for Systems and Software Engineering

Requirements Volatility Counting Rules

• We need to formulate specific counting rules for the volatility of the requirements size driver

• Questions for discussion:– How do we distinguish between typical changes/iterations

and unplanned changes that require more effort than originally projected?

– How do we prevent from counting the elaboration of requirements as volatility (added requirements)?

– How do we avoid counting editorial changes (typos, etc.)?– How do we identify major changes in scope that could

disrupt the results?

Page 57: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

57

University of Southern California Center for Systems and Software Engineering

Cone of Uncertainty

Source: Boehm et al., 2004

Page 58: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

58

University of Southern California Center for Systems and Software Engineering

Requirements Decomposition Framework• Sky level

– Top-level objective– Summary use case

• Kite level– Additional information as to how the

sky-level objective is to be will be satisfied

• Seal level– User level task– Environment in which the developer

interacts with the stakeholder• Underwater level

– Detailed design and implementation

Sources: Cockburn (2001); Valerdi (2005)

Page 59: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

59

University of Southern California Center for Systems and Software Engineering

Requirements Elaboration (S/W Example)

Capability Requirements

Use Cases

Use Case Steps

expansion

expansion

Contractor

Customer

expansion

SLOC

expansion

Capability Goal

Sources: Cockburn (2001); Malik (2010)

Page 60: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

60

University of Southern California Center for Systems and Software Engineering

Elaboration Factors

Elaboration FactorsAverage Std. Dev.

Study 1 Study 2 Study 1 Study 2

Capability Goal to Capability Requirement

1.95 2.46 0.67 0.94

Capability Requirement to Use Case

4.89 0.89 1.49 0.55

Use Case to Use Case Steps

5.67 7.06 1.60 2.97

Use Case Steps to SLOC 266.93 66.91 72.77 64.46

Source: Malik (2010)

Page 61: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

61

University of Southern California Center for Systems and Software Engineering

Requirements Decomposition Example• Objective: Broadcast television signals over the Continental

United States (CONUS) compatible with 18 inch receive antennas1. The system shall be able to receive a Ku-band signal from the

customer ground station and downlink the signal to CONUS coverage with a minimum Equivalent isotropically radiated power (EIRP) of 30 dBm

1.1 The system shall have a pointing accuracy of 0.5 degrees1.2 The system shall radiate a minimum of 3000 W of RF power

1.2.1 The system shall be able to produce 4000 W of DC power1.2.2 The system shall be able to store 500 W-Hr of energy1.2.3 The system shall be able to dissipate 2000 W of heat

1.2.3.1 The radiator surface area shall be greater than…

1.2.3.2 The radiator surface properties shall be…….

1.2.3.3 Metal surfaces shall be blanketed…….

Too High?

Too Low?

Just Right

Page 62: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

62

University of Southern California Center for Systems and Software Engineering

Proposed Guidelines• Count only requirements changes after the

requirement set is baselined and under configuration control (SRR, PDR)

• Count only changes to requirements for the system-of-interest at a specific level of design (use COSYSMO requirements counting rules)

• Identify disruptive changes in scope / re-baselining in the data collection instrument

• Use counting logic rules to exclude multiple changes to a requirement in one day (avoid counting editorial changes)

Page 63: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

63

University of Southern California Center for Systems and Software Engineering

Feedback on Data Collection Instrument

Data Collection Instrument Link

Page 64: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

64

University of Southern California Center for Systems and Software Engineering

Questions on the Approach• Should we attempt to count changes per type of

requirement (easy, nominal, difficult)?– Is it feasible?– Does it add value to the analysis?

• Do you keep metrics on the volatility of the other size drivers?

– Operational scenarios– System interfaces– Algorithms

• Would measuring the impact of requirements volatility envelope the impact of changes to the other size drives?

Page 65: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

65

University of Southern CaliforniaCenter for Systems and Software Engineering

Survey Exercise

Page 66: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

66

University of Southern CaliforniaCenter for Systems and Software Engineering

Thank you!

Page 67: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

67

University of Southern California Center for Systems and Software Engineering

References• Boehm, B. (1991). “Software Risk Management: Principles and Practices.” IEEE Software. Vol 8 (No.1).pp 32-41

• Boehm, B., Abts, C., Brown, A.W., Chulani, S., Clark, B., Horowitz, E., Madachy, R., Reifer, D.J., and Steece, B. (2000). Software Cost Estimation with COCOMO II. Prentice Hall

• B. Boehm et al., Guidelines for Model-Based (System) Architecting and Software Engineering (MBASE) Version 2.4.1, USC-CSE, 2004.

• Cockburn, A. (2001). Writing Effective Use Cases, Addison-Wesley.

• EIA (2002). EIA-731.1 - Systems Engineering Capability Model

• Ferreira, S., Collofello, J., Shunk, D., and Mackulak, G. (2009). “Understanding the effects of requirements volatility in software engineering by using analytical modeling and software process simulation.” The Journal of Systems and Software. Vol. 82, pp 1568-1577.

• Fortune, J. (2009) Estimating Systems Engineering Reuse with the Constructive Systems Engineering Cost Model (COSYSMO 2.0). Doctoral Dissertation. University of Southern California

• General Accounting Office (2004). Stronger Management Practices are Needed to Improve DOD’s Software-intensive Weapon Acquisitions (GAO-04-393). Defense Acquisitions.

• Hammer, T., Huffman, L., and Rosenberg, L. (1998). “Doing requirements right the first time.” Crosstalk, the Journal of Defense Software Engineering. Pp 20-25.

• Houston, Dan X. (2000). A Software Project Simulation Model for Risk Management, Ph.D. Dissertation, Arizona State University

• IEEE (1990). IEEE Standard Glossary of Software Engineering Terminology (ANSI), [1-55937-067-X] [SH13748-NYF], IEEE

• INCOSE (2010). Systems Engineering Handbook. INCOSE Version 3.2

• Kotonya, G., Sommerville, I., (1998). Requirements Engineering: Processes and Techniques. John Wiley and Sons, Ltd.

• Malik, A. (2010). Quantitative and Qualitative Analyses of Requirements Elaboration for Early Software Size Estimation. Doctoral Dissertation. University of Southern California.

• MIL-STD-498. 1994. Software Development and Documentation. U.S. Department of Defense.

• Reifer, Donald J. 2000. “Requirements Management: The Search for Nirvana.” IEEE Software. Vol 17 (No. 3), pp 45-47

• Roedler, G. and Rhodes, D. (2007). Systems engineering leading indicators guide. Version 1. Massachusetts Institute of Technology, INCOSE, and PSM

• Valerdi, R. (2005). The constructive systems engineering cost model (COSYSMO). Doctoral Dissertation. University of Southern California

• Weinberg, G. (1993). Quality Software Management: Volume 2 First-Order Measurement. Dorset House.

• Zowghi, D. and Nurmuliani, N. (2002). A Study of the Impact of Requirements Volatility on Software Project Performance. Proceedings of the Ninth Asia-Pacific Software Engineering Conference

Page 68: Characterizing the Impact of Requirements Volatility on Systems Engineering Effort

68

University of Southern California Center for Systems and Software Engineering

Call for Participation• In order to complete the requirements volatility extension of

COSYSMO, we are seeking industry data for engineering projects in terms of:

– Systems engineering effort actuals (labor hours)– Requirements volatility: the number of requirements, added, deleted, and

modified added after the requirements baseline• By providing these data your organization will benefit by:

– Improving its ability to estimate the impact of requirements changes on project cost

– Calibrating and tailoring the updated Model for your application domain• USC-CSSE and LAI at MIT have proven processes in place to ensure

the confidentiality and protection of the data with its Corporate Affiliates and Consortium Members

• Contact:Mauricio E. Pena [[email protected]]Ricardo Valerdi [[email protected]]