slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Investigating the Default Behavior of Requirements Evolution in COCOMO II Dan Strickland Dynetics, Inc. daniel.stricklan PowerPoint Presentation
Download Presentation
Investigating the Default Behavior of Requirements Evolution in COCOMO II Dan Strickland Dynetics, Inc. daniel.stricklan

Loading in 2 Seconds...

play fullscreen
1 / 19

Investigating the Default Behavior of Requirements Evolution in COCOMO II Dan Strickland Dynetics, Inc. daniel.stricklan - PowerPoint PPT Presentation


  • 132 Views
  • Uploaded on

Investigating the Default Behavior of Requirements Evolution in COCOMO II Dan Strickland Dynetics, Inc. daniel.strickland@dynetics.com. Background of Requirements Evolution and Volatility in COCOMO II Using Other Popular Estimating Models’ Approaches

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Investigating the Default Behavior of Requirements Evolution in COCOMO II Dan Strickland Dynetics, Inc. daniel.stricklan' - goro


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

Investigating the Default Behavior of Requirements Evolution in COCOMO IIDan StricklandDynetics, Inc.daniel.strickland@dynetics.com

overview
Background of Requirements Evolution and Volatility in COCOMO II

Using Other Popular Estimating Models’ Approaches

Requirements Evolution Using the Rosetta Stone

Requirements Evolution Using REVIC II

Using Outside Formulas for Guidance

Future Work and Conclusions

Overview
background
Estimators have a difficult time explaining the COCOMO II factor for Requirements Evolution and Volatility (REVL) to customers and even other estimators

The simple questions tend to be the most difficult to answer:

“What’s a good value for Requirements Evolution?”

“Why can’t we just use the industry standard here?”

“Just use your best judgement, whatever would be typical for this program.”

Estimators need some guidance as to how REVL behaves normally and how to adjust the parameter for best results

Background
history of cocomo ii s revl factor
In early versions of COCOMO 81, Requirements Volatility (RVOL) was a cost driver ranging from Low to Extra High in rating

RVOL was changed to a percentage multiplier of Size because the cost driver was too volatile and subjective

In COCOMOII.1999, RVOL was changed in name only to Breakage(BRAK)

In 2000, COCOMO II settled on Requirements Evolution and Volatility (REVL) as a percentage multiplier of Effective Size caused by volatility and evolution of baselined requirements

REVL is a percentage measure of “wasted effort” expressed in COCOMO II’s primary unit, Source Lines of Code

In COCOMO II, a 10% change in REVL can have more impact than a two-level change in CMM Level

Without the textual guidance from RVOL, REVL can severely impact an estimate (“With great power comes great responsibility” - Uncle Ben Parker)

History of COCOMO II’s REVL Factor
other popular estimation models
Models used: SEER-SEM, Cost Xpert, REVIC

SEER-SEM : Requirements Volatility (Change) : ranges from Low (“essentially no requirements changes”) to Extra High (“frequent major changes”)

Cost Xpert : Requirements Evolution Volatility : ranges from Nominal to Extra High

REVIC : Requirements Volatility : ranges from Low to Extra High

Sample projects of different sizes were run to capture the percentage change to effort caused by changes in each model’s Requirements factor only

Assuming that conceptually all the models start from zero impact to effort and work up, the deltas were aligned without rating headings to show a potential range from zero

Other Popular Estimation Models

GOAL: Develop guidelines for REVL using other popular costing models and the textual descriptions from COCOMO 81’s RVOL

other popular estimation models cont d
Other Popular Estimation Models (cont’d)
  • Percent change in estimated effort between ratings
  • Size is not a factor as the deltas are stable
  • Average of each delta was taken to develop a consensus range (only 2 values for Delta 4)
  • The models assume a lowest value of “no requirements volatility” which is equal to a REVL of 0%
  • Using the rating and description from RVOL, the average of the Deltas form a range for REVL
  • LO = 0% to average (Delta 1), etc.
using the translations rosetta stone
Uses the effort formula from COCOMO 81 with RVOL added back in and KDSI converted to KSLOC (reduce KDSI by 25% for 3rd Generation Languages)

Uses the effort formula from COCOMO II with Scale Factors set as described in Rosetta Stone; PMAT = Low as MODP = Nominal

Corresponding development mode formulas (Embedded, Semi-detached, Organic) are set equal to one another

Formulas assume no impact from other cost drivers; set equal to 1.0

Formulas are reduced to show REVL as a function of RVOL and Size

Result is three formulas corresponding to the three development modes

Using the Translations - Rosetta Stone

GOAL: Develop formula for REVL as a function of RVOL using COCOMO 81 effort, COCOMO II effort, and the Rosetta Stone

using the translations rosetta stone reduction example
Example for Embedded Mode:

EffortE81 = 2.8 * RVOL * (Size * 0.75)1.20

EffortEII = 2.94 * (REVL * (Size))1.152

2.94 * (REVL * (Size))1.152 = 2.8 * RVOL * (Size * 0.75)1.20

(REVL * (Size))1.152 = 0.9524 * RVOL * Size1.20 * 0.7081

(REVL * (Size))1.152 = 0.6744 * RVOL * Size1.20

REVL * Size = 0.7104 * RVOL0.8681 * Size1.0417

REVL (Embedded) = 0.7104 * RVOL0.8681 * Size0.0417

Other Development Modes:

REVL (Semi-detached) = 0.7515 * RVOL0.9461 * Size0.0596

REVL (Organic) = 0.7996 * RVOL1.0288 * Size0.0802

Using the Translations - Rosetta Stone - Reduction Example
using the translations rosetta stone results
Using the Translations - Rosetta Stone - Results
  • Results for Organic and Semi-detached are too high (80% for Nominal, Organic, 25 KSLOC)
  • Results for Embedded look acceptable, but need a way to make all the results equally acceptable
using the translations rosetta stone using a bias
Target: Develop a multiplicative bias that sets the results of Low to 1.0 (0% REVL) for every result

The bias is the inverse of the value for Low, changing with each size and development mode

Assume the bias is carried through the column for each size and development mode

Result is the “floor value” for each rating

Also equal to the Cumulative Percentage Delta between results for REVL, size independent

Example: For Embedded mode, a Nominal Requirements Volatility is equal to REVL between 8.5% and 24.8%

Using the Translations - Rosetta Stone - Using a Bias
using the translations revic ii
Uses the effort formula from REVIC (includes RVOL) and KDSI converted to KSLOC (reduce KDSI by 25% for 3rd Generation Languages)

Uses the effort formula from COCOMO II with Scale Factors set as described in REVIC II

Corresponding development mode formulas (Embedded, Semi-detached, Organic) are set equal to one another

Formulas assume no impact from other cost drivers; set equal to 1.0

Formulas are reduced to show REVL as a function of RVOL

Result is three formulas corresponding to the three development modes

Using the Translations - REVIC II

GOAL: Develop formula for REVL as a function of RVOL using REVIC effort, COCOMO II effort, and REVIC II

using the translations revic ii reduction example
Example for Embedded Mode:

EffortEREV = 3.312 * RVOL * (Size * 0.75)1.20

EffortERII = 4.227 * (Size * REVL)1.20

4.227 * (Size * REVL)1.20 = 3.312 * RVOL * (Size * 0.75)1.20

(Size * REVL)1.20 = 0.7835 * RVOL * Size1.20 * 0.7081

(Size * REVL)1.20 = 0.5548 * RVOL * Size1.20

Size * REVL = 0.6120 * RVOL0.8333 * Size

REVL (Embedded) = 0.6120 * RVOL0.8333

Other Development Modes:

REVL (Semi-detached) = 0.6280 * RVOL0.8929

REVL (Organic) = 0.6205 * RVOL0.9524

Using the Translations - REVIC II - Reduction Example
using the translations revic ii results
Using the Translations - REVIC II - Results
  • Results are poor for all modes with all values falling below 1.0 (0% REVL)
  • Adjust the results using the same bias technique used for Rosetta Stone
using the translations revic ii using a bias
Target: Develop a multiplicative bias that sets the results of Low to 1.0 (0% REVL) for every result

The bias is the inverse of the value for Low, changing with each development mode

Assume the bias is carried through the column for each development mode

Result is the “floor value” for each rating

Also equal to the Cumulative Percentage Delta between results for REVL, size independent

Example: For Embedded mode, a Nominal Requirements Volatility is equal to REVL between 8.2% and 23.8%

Using the Translations - REVIC II - Using a Bias
using the translations rosetta stone revic guide
Assumes all six results are equally likely

Use the average of all six values to get a single “floor value” for each corresponding rating

Values rounded to integer values to be consistent with REVL input

Using the Translations - Rosetta Stone/REVIC Guide

GOAL: Develop single guide for REVL using COCOMO 81 text and ratings, Rosetta Stone REVL guide, and REVIC II REVL guide

other literature on requirements volatility one percent metric
Capers Jones Requirements Volatility Metric:

one percent per month is expected

Tested with Softstar Systems’ Costar 6.0 tool

default scale factors, cost drivers, and calibration model

different Sizes

REVL starts at 0% and raised to match initial Duration

changes made, so that there is a REVL that matches Duration (large sizes require more changes)

Other Literature on Requirements Volatility - One Percent Metric
other literature on requirements volatility percent schedule change formula
Stark, Skillcorn, and Ameele:

Y = 0.97 + 0.41 * X0.5 + 0.23 * Z

Y = Percent Schedule Change

X = Requirements Volatility

Z = Risk (Change Requests Per Staff-Day)

Expressing as a formula for Requirements Volatility:

X = ((Y - (0.23 * Z) - 0.97) / 0.41)2

Assuming Risk is equal to the median value from the study (0.1):

X = ((Y - 0.993) / 0.41)2

Defines Requirements Volatility in terms of Percent Schedule Change

An equivalent measure in COCOMO II is the Development Schedule (SCED) driver, which changes effort with compression, but not with expansion

If metrics on past schedule performance are available, an expected default REVL could be set

Other Literature on Requirements Volatility - Percent Schedule Change Formula
other literature on requirements volatility percent schedule change formula cont d
100% is equal to the default schedule (no slips)

More research is needed in this area

Other Literature on Requirements Volatility - Percent Schedule Change Formula (cont’d)
future work and conclusions
Define more textual guidelines to further define ranges (include plus and minus notation like USC-COCOMO tool)

Investigate more commercial tools for Requirements Volatility methods

Identify more formulas outside of the common tools including case studies

Gather industry data on REVL from completed estimates to gauge how estimators are using the value

Future Work and Conclusions
  • Work provided gives:
    • Guidance to default REVL behavior through popular model consensus
    • Guidance to default REVL behavior through translation models
    • Guidance to REVL behavior using other literature