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
Approximate size measurement Not all documentation is available Quality of documentation is poor Portfolio decisions
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
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 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
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)
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”
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
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 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
Top Related