Workshop early or rapid cosmic fsm - Frank Vogelezang

59
EARLY OR RAPID COSMIC FSM BY USING APPROXIMATION APPROACHES International Workshop on Software Measurement 2015 Frank Vogelezang COSMIC MPC

Transcript of Workshop early or rapid cosmic fsm - Frank Vogelezang

EARLY OR RAPID COSMIC FSM BY USING APPROXIMATION APPROACHES

International Workshop on Software Measurement 2015

Frank VogelezangCOSMIC MPC

Agenda When do you need approximation Count, Compute, Judge Scaling Classification Localization

The different approaches

When do you need approximation

Reasons for approximation Speed Timing Quality

Rapid size measurement High-level size estimate The sooner, the better Board-level decisions

Early size measurement Not all details are documented yet Needed now Budget decisions

Approximate size measurement Not all documentation is available Quality of documentation is poor Portfolio decisions

Count, compute, judge

How many people

Tickets scanned41.392Suites & boxes24.802Staff1.593

67.787 people

COUNT

Upper ring~5 sections x~1.500 seatsLower ring~16 sections x~2.000 seatsSuites & boxes~25.000 seats

~64.500 people

COMPUTE

Capacity: 114.50045% full

~ 51.500 people

JUDGE

Steve McConnell - Software Estimation, Demystifying the Black Art

Count, Compute, JudgeCOSMIC Standard Count

Current approximation approachesCompute

New approaches Judge &Compute

Scaling

Scaling – overview

Scaling – high-level

Scaling – zooming-in

Scaling – details

Scaling – Level of Granularity

Classification

Classification

Classification

Localization

Localization All approaches are based on

documents Content can vary from place to place Local calibration is necessary

Local means that calibration is done in an environment that is representative

The localization principle Define high-level software artifacts Verify that they are representative Artifacts must be similar in size or

classifiable into size bands Determine the scaling factor Always give an indication of precision

Verify the local results

The different approaches Average functional process Fixed size classification Equal size bands Average use case Early & Quick EASY Textual requirements EPCU

The case : Web Advice ModuleEarly specification shows two Use Cases:

1. Web Advice2. Support processes

This module aims to help customers seeking advice via the web on whether to rent or obtain a mortgage to buy a house

UC1 – Web Advice On the start page the customer is presented with a short

introduction text and five propositions with which he can agree, disagree or choose neutral. Based on the set of choices the customer gets a general advice on the best option and specific texts for each choice that has an answer in the category of the general advice. The application contains business rules that define which answer leads to which type of general advice and what specific text is displayed that relates to a specific choice.

In addition, the customer may require advice on renting or on a mortgage to buy a house. To help the customer, he may send a request for an advice session from the Web Advice Module. The customer enters personal and contact data in a request form.

From the Web Advice Module the customer can access an existing mortgage assessment module.

UC2 – Support processes When the Web Advice Module detects erroneous processing,

this must be communicated to the user as an error message in a separate window.

If the customer has not used any functionality of the pages of the Web Advice Module for more than five minutes, a pop-up message will appear with a message that the customer has been inactive for too long and that the entered data and answers are not available anymore.

All texts must be editable without the assistance of a programmer.

Average functional processScaling from functional process to CFP

4.880 CFP610 Functional Processes8 CFP/Functional Process

Early estimateAverage functional process approximation

Identify the functional processes Multiply by 8 CFP/Functional Process

Fixed size classificationAssign a category to a functional process:

Small 5 CFPMedium 10 CFPLarge 15 CFP. . . .

To estimate:Classify in which band a FP belongs

Early estimateFixed size classification approximation

Identify the functional processes Classify each process as:

Small 5 CFP Medium 10 CFP Large 15 CFP

Equal size bands Count a sample of software Sort the functional processes on size Divide the total size in bands Calculate the size of an average

functional process in each band

To estimate:Classify in which band a FP belongs

Equal size bands – example96 CFP12 FP4 bands(4 x 3 + 2 x 6) / 6 = 4(6 + 2 x 9) / 3 = 8(2 x 12) / 2 = 1224 0

3

6

9

12

15

18

21

24

B1 B2 B3 B4

SMLXL

Early estimateEqual size bands approximation

Identify the functional processes Classify each functional process as:

Small 4.8 CFP Medium 7.7 CFP Large 10.7 CFP Very large 16.4 CFP

Average Use CaseScaling from Use Case to CFP

8 CFP/Functional Process3.5 Functional Process/Use Case28 CFP/Use Case

Early estimateAverage use case approximation

Identify the use cases Multiply by 28 CFP/Use Case

Early & QuickTwo levels of classification

Early estimateEarly & Quick approximation

Identify the processes Classify each process as:

Functional Process Typical Process General Process Macro Process

Look up the corresponding size estimate

Small Medium Large Very large

EASYTwo types of classification

EASY is the acronym for EArly & SpeedY

Early estimateEASY approximation

Identify the functional processes Classify each functional process as:

Small Medium Large Complex

Look up the corresponding size estimate

Little unknown Unknown (No FUR)

Approximation methodsEmerging or new approaches

Beyond

Textual requirements Count informally written requirements

per functional process Store requirements and size as

reference Divide functional processes into sets

of fuzzy size classes

Train a text classification algorithm to the linguistic features of the reference set

EPCU

EPCU is the acronym for Estimation of Projects in a Context of Uncertainty

“The Uncertainty: it is not possible to measure it, however it is possible to contextualize it”

44

Generador de Estimados

From seemingly exact experts

45

Generador de Estimados

To focused uncertainty

More details in the15.30 workshop by

Early estimateEPCU approximation

Identify the functional processes Visit www.mepe.com.mx Estimate each functional process based

on: Functional Process Size Level of Object of Interest

MEPE estimation models

The EPCU Estimation Model

EPCU Size classificationFunctional process Classification

(linguistic values)

Functional process size

(value assignment)

Start page Large Many

Advice Medium FewMortgage assessment Small Average

Error handling Small Low

Inactivity Small Low

Editable texts Small Low

Translate to ascale of 0 – 5

Small 2 Medium 2,5 Large 4

Low 0.5 Few 2 Average 3 Many 3.5

EPCU MeasurementStart page

Functional classification: Large Functional process size: Many

EPCU MeasurementAdvice

Functional classification: Medium Functional process size: Few

EPCU MeasurementMortgage Assessment

Functional classification: Small Functional process size: Average

EPCU MeasurementError handling | Inactivity | Editable texts

Functional classification: Small Functional process size: Low

EPCU Measurement resultsFunctional process Classification

(linguistic values)

Estimated Functional Size

using ‘Equal Size Bands’ approach

Functional process size

(value assignment)

Presence of OOI related to the

functional process (value

assignment)

Approximation using EPCU

Model

Start page Large 4 Many 3.5 15.09

Advice Medium 2.5 Few 2 8.53Mortgage assessment Small 2 Average 3 10.70

Error handling Small 2 Low 0.5 4.59

Inactivity Small 2 Low 0.5 4.59

Editable texts Small 2 Low 0.5 4.59

Total 48.09

Approximation results Average Functional Process 48 CFP Fixed Size Classification 45 CFP Equal Size Bands 43.5 CFP Average Use Case 56 CFP Early & Quick 39.6 CFP EASY 56.1 CFP EPCU 48.09 CFP

Approximation versus Detailed Detailed functional size 42 CFP

PERT on approximation

(39.6 + 4 x 48 + 56.1) = 47.95 CFP

6

Recap Three reasons for approximation

Speed, Timing or Quality Six established approaches available New approaches in development Always calibrate locally

Guideline for Early or Rapid COSMIC FSMcosmic-sizing.org/?p=3244

ANSWERS!QUESTIONS?

www.cosmic-sizing.org