0% found this document useful (0 votes)
8 views29 pages

Easy Function Points

Uploaded by

CY Huseyin Sevay
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views29 pages

Easy Function Points

Uploaded by

CY Huseyin Sevay
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 29

Luca Santillo, www. agile metrics .

it, Italy
IWSM-MENSURA Conf. Assisi 2012, October 18th
intro agenda
 You know FP
(IFPUG/COSMIC)
 You need a MEASURE with
no time or detailed req’s
 Several techniques available
 pro's and con's
 choose the right one for your
early and quick sizing needs
 When requirements are
fuzzy – be smart – go
EARLY & SPEEDY (EASY)

Luca Santillo / Agile Metrics @ IWSM-MENSURA 2012 Oct. 18th, 2012 2


What makes a size – a measure?
 Adherence to standard
PRACTICES and RULES

 LIMITED VARIABILITY
(aka high reliability, or
reduced uncertainty)

Luca Santillo / Agile Metrics @ IWSM-MENSURA 2012 Oct. 18th, 2012 3


IFPUG Method (in one slide!)
Identify software boundaries
Identify data & transactional
function types EIF

Assign each function a EQ

complexity based on logical


ILF
structure (DET’s, RET’s) and EO

references (FTR’s): EI
Low Avg High ILF

ILF 7 10 15
EIF 5 7 10
EI 3 4 6
EO 4 5 7
EQ 3 4 6

Apply final formulae Luca Santillo / Agile Metrics @ IWSM-MENSURA 2012 Oct. 18th, 2012 4
COSMIC Method (in one slide!)
Identify software pieces

DG
Identify functional processes
(and data groups) FP

DG
FP
Count Data Movements per
functional process FP
DG

Assign 1 CFP per DM

Aggregate sizes
Luca Santillo / Agile Metrics @ IWSM-MENSURA 2012 Oct. 18th, 2012 5
Approximation techniques:
top-down & bottom up
 TD – basically, by analogy  BU – basically, by averages
 Direct/Structured Analogy  Backfiring (!)
 Size Ranges  Catalogues & Mappings
 Delphi, Shang, 3-Point  Extrapolation
technique  Sampling
 Average complexities/values
 Multi-level approaches

Luca Santillo / Agile Metrics @ IWSM-MENSURA 2012 Oct. 18th, 2012 6


approximation / top-down:
Analogy (direct, structured)
 (direct): given a repository
of measured app’s &
projects, look for ‘similar
cases’ – take their average
size
 (structured): determine
several “similarity criteria”
(application type,
organization type, etc.) +
above

Luca Santillo / Agile Metrics @ IWSM-MENSURA 2012 Oct. 18th, 2012 7


approximation / top-down:
Size ranges (still analogy)
 define ranges / assign class
80
60
70
50
60

50 40

40 30
30
20
20

10 10

0 0
0

500

1000

1500

2000

2500

3000

3500

4000

4500

5000

0
1,00
2,00
3,00
4,00
5,00
6,00
7,00
8,00
9,00
10,00
11,00
12,00
Id. SIZE_CLASS Size Range
DEVXS Very Small 0-150

DEVS Small 150-300


DEVM Medium 300-600
DEVL Large 600-1,200
DEVXL Very Large 1,200-5,000
DEVXXL Extremely Large > 5,000

Luca Santillo / Agile Metrics @ IWSM-MENSURA 2012 Oct. 18th, 2012 8


approximation / top-down:
Delphi, Shang, 3-point technique
 (Delphi) expert judgments
combined and converging to a
unique estimated value
(through iterations)
 (SHANG) collect ‘min’ and
‘max’ estimates, converge to a
min-max interval (through
iterations)
 (3-POINT) collect estimates,
then calculate
(Min + 4×MostLikely + Max) / 6
with standard deviation
σ = (Max - Min) / 6

Luca Santillo / Agile Metrics @ IWSM-MENSURA 2012 Oct. 18th, 2012 9


approximation / bottom-up (… not
really):
Backfiring
 count LOCs
 convert LOCs to FP by
statistical regression
(‘magic’ coefficients)

 (Specs, Statements, Pages,


User Screens, System
Reports, Physical Files,
Entities, …): as above

Luca Santillo / Agile Metrics @ IWSM-MENSURA 2012 Oct. 18th, 2012 10


approximation / bottom-up:
Catalogues & Mappings
 build a library of ‘typical
functions’ (with known FP values)
 match requirements to “typical
functions” in the library

 (variations)
 assign average/typical values for
mapping Use Cases, Tables, Entities,
Classes, DB Objects
 use standardized terminology (e.g.
verb “maintain ‘data group X’”
denotes = Create, List, Inquiry,
Modify, Delete ‘data group X’)

Luca Santillo / Agile Metrics @ IWSM-MENSURA 2012 Oct. 18th, 2012 11


bottom-up:
Extrapolation (IFPUG examples only)
 Identify only SOME function
type(s), then:
 Rule of 28 = data stores × 28
 Rule of 4 = 4 × [( 10 × ILF) + (7 × EIF)]
 ILF Model: (eg) FP = FP = #ILF × 14.9
 FP Prognosis “Rule of Thumb”
 FP = 7.3 × #IO + 56 (IO= Inp+Out’s)
 Vinje (Sveden):
 FP = #ILF × 37 [+ EIF’s apart]
 (“37” from: CRUD + “Read all” + 1 EO)
 Dutch Method (NESMA):
 Indicative FP = #ILF × 35 + #EIF × 15
 Generic Ratios from ISBSG:
 FP = (#ILF × 7.4 ) / 22.3 × 100
 (ILF’s = 22.3 % of Total, ILF = 7.4
AvgFP)

Luca Santillo / Agile Metrics @ IWSM-MENSURA 2012 Oct. 18th, 2012 12


approximation / bottom-up:
Sampling
 measure ALL function types
for only SOME portion(s) of
the project/system
 estimate the % value of the
portion with respect to the
whole project/system
 then derive the whole
system size (by proportion)

Luca Santillo / Agile Metrics @ IWSM-MENSURA 2012 Oct. 18th, 2012 13


approximation / bottom-up:
Average Complexities/Values (IFPUG)
 identify all function types
 assign ‘average’ or typical
values
 NESMA “Estimated FP”
EI·4 + EO·5 + EQ·4 + ILF·7 + EIF·5
 FPLite/QEFP
EI·4 + EO·5 + EQ·4 + ILF·10 + EIF·7
 ISBSG
EI·4.3+EO·5.4+EQ·3.8 +ILF·7.4 +EIF·5.5
 EQFP
EI·4.2+EO·5.2+EQ·3.9+ILF·7.7+EIF·5.4
 SiFP E.P. × 4.6 + L.F. × 7.0

Luca Santillo / Agile Metrics @ IWSM-MENSURA 2012 Oct. 18th, 2012 14


approximation / bottom-up:
Average Complexities/Values
(COSMIC)
 identify all funct. processes
 assign ‘average’ or typical
values
 EQCFF (Business Apps)
Low·3.6+Avg·6.3+High·10.5+V.High·18
 EQCFF (Real-Time)
Low·2.5+Avg·4+High·7.5+V.High·15
 COSMIC ‘Average Functional
Process’ (tbd)
 COSMIC ‘Fixed Size
Classification’ (tbd)
 COSMIC ‘Equal Size Bands’ (tbd)
 COSMIC ‘Average Use Case’
(tbd)
Luca Santillo / Agile Metrics @ IWSM-MENSURA 2012 Oct. 18th, 2012 15
multilevel approaches
 approximate each portion at
its given detail level, then
sum together (e.g. by
macroprocesses, general
processes; multiple data
groups)

Luca Santillo / Agile Metrics @ IWSM-MENSURA 2012 Oct. 18th, 2012 16


most of the times, the problem…
 …is NOT “being unable to
measure”, but rather…

 …having
“fuzzy requirements”

 preliminary statement
 accepting permanent lack of
accuracy in requirements will
not serve measurement quality
and future projects quality

Luca Santillo / Agile Metrics @ IWSM-MENSURA 2012 Oct. 18th, 2012 17


req’s are never optimal
take a different perspective
 a statement is fuzzy until you try
to understand it thoroughly
 (in physics) a particle behaves like
an energy wave by occupying
several positions at the same
time, with a probability
distribution for being revealed in
only one of the possible positions
as soon as it is detected
(‘collapsing’)
 until no attempt is made to
measure a phenomenon all
possible values for it participate
to its ‘value’, based on a (given)
probability distribution function

Luca Santillo / Agile Metrics @ IWSM-MENSURA 2012 Oct. 18th, 2012 18


collapsing to the true size
 a statement may ‘have’ many
possible sizes – among a set of
‘probable’ values – until the
measurer ‘fixes’ (discovers) its
details therefore selects THE true
value for that statement
 side note: no matter how ‘good’ the
approximation technique is – sooner
or later the size shall be measured
(no approximation approach can be Fuzzy distribution of
self-validated) Guesses G vs. True value T
 side note: any measurement – even (note: even T has an error)
if standardized and/or performed by
certified practitioners – must provide
a confidence interval

Luca Santillo / Agile Metrics @ IWSM-MENSURA 2012 Oct. 18th, 2012 19


try this (be smart)
 bring the requirements to
an acceptable level of
description
 e.g. lists rather then groupings
 accept fuzziness in
description of single
functions
 use your expertise
and user’s confidence to
assess functions with
“mixed values”

Luca Santillo / Agile Metrics @ IWSM-MENSURA 2012 Oct. 18th, 2012 20


about fuzziness of requirements
(and the sizing process)
 label req’s by higher/lower
precision & assumptions made
to interpret them
 do not ‘allow’ the user to keep
expressing fuzzy requirements
 a dog-eat-tail problem:
 approximation techniques are
proposed because req’s are fuzzy,
and req’s ae fuzzy because users
expect the measurers to use
approximation techniques instead
of the real FSM method

Luca Santillo / Agile Metrics @ IWSM-MENSURA 2012 Oct. 18th, 2012 21


Smart Function Points
Function Low Avg High Weighted
Min Mid Max Value
 assume 2+ possibilities on some
ILF A 7 10 15 9.20
functions
60% 20% 20%
 e.g. logical file A is “most probably”
LF (ILF/EIF) B 5 7 10 7.33
Low, but “might be” Average
33% 34% 33%
 e.g. report X is “most probably”
Report X (with 4 5 7 6.10
High, but “might be” Average, or totals)
even Low given certain conditions
10% 30% 60%
 don’t make a choice Report Y (with 4 5 7 5.80
(where unsure), but totals)
collect the assessment 20% 30% 50%
List Z (no tot’s) 3 4 6 4.20
20% 60% 20%
TOTAL UFP 32.63
Estim/prob (53%)
Estim. range +/- 24%

Luca Santillo / Agile Metrics @ IWSM-MENSURA 2012 Oct. 18th, 2012 22


Smart Function Points (better
probabilities)
Function Low Avg High Weighted
Min Mid Max Value
 assume 2+ possibilities on some
ILF A 7 10 15 7.15
functions
95% 5% 0%
 e.g. logical file A is “most probably”
LF (ILF/EIF) B 5 7 10 7.05
Low, but “might be” Average
5% 90% 5%
 e.g. report X is “most probably”
Report X (with 4 5 7 6.80
High, but “might be” Average, or totals)
even Low given certain conditions
0% 10% 90%
 don’t make a choice Report Y (with 4 5 7 6.80
(where unsure), but totals)
collect the assessment 0% 10% 90%
List Z (no tot’s) 3 4 6 4.20
 use both:
0% 90% 10%
mixed values to estimate, exact
values to refine/verify TOTAL UFP 32.00
Estim/prob (91%)
Estim. range +/- 5%

Luca Santillo / Agile Metrics @ IWSM-MENSURA 2012 Oct. 18th, 2012 23


Smart Function Points – issues
 The Smart approach might turn The Smart approach might turn to
to be time-consuming (choosing be time-consuming (choosing 2-3
2-3 values per function, and values per function, and assigning
assigning probabilities) probabilities)
 It is, indeed It is, indeed
 That’s why all bottom-up techniques Such ‘fixed values’ techniques work
do consider averages as the most only if the FSM has default limited
likely values, with relatively large (bounded) scales (IFPUG)
related confidence intervals The limited scale hides (or flattens) the
 In fact, any technique based on uncertainty in real cases.
“extrapolation” and “average The ‘feel good’ impression is that
values”, can be re-expressed as an approximations work perfectly
instantiation of the Smart approach In fact, such tecniques suffer the same
with fixed types and/or fixed limit of the FSM method
probabilities

Luca Santillo / Agile Metrics @ IWSM-MENSURA 2012 Oct. 18th, 2012 24


from Smart FP to EASY Function
Points
 the Smart approach can:  For COSMIC (no bounded
 be standardized scale) the measurer can
 only Pareto’s combinations, or
assess a given typical size
other frequent combinations
 be re-scaled of a functional process with
 to estimate groupings little uncertainty, and assess
(“#reports” = 3, maybe 4, a probability of
maximum 5”)
‘discovering’ a few more
 mix types (IFPUG)
 unsure whether EO or EQ, but I (or a few less) data
know the complexity… movements upon exact
 mix probabilistic values and analysis
certain values

Luca Santillo / Agile Metrics @ IWSM-MENSURA 2012 Oct. 18th, 2012 25


EASY Function Points
 Easy FP can be instantiated as  Labeling the req’s is strongly
 a series of predefined choices of recommended for further
probabilistic distributions of refinements of the
values for functions from a given approximation
‘library’ of common cases
(e.g. IFPUG L/A/H values;  Easy FP can be regarded as a
COSMIC data movements 2nd generation approximation
amounts), mixed with technique
 single values (100% probability  It merges smoothly with exact
on a single choice, negligible measurement (where available)
uncertainty, and with  It suits both developments and
 loose, free-to-assign enhancements
probabilities and sizes for most  It loosely depends upon
critical req’s portions (higher calibration from specific samples
fuzziness)  It is a truly multi-level approach

Luca Santillo / Agile Metrics @ IWSM-MENSURA 2012 Oct. 18th, 2012 26


Easy COSMIC FP (working proposal,
example values, CFP) (Business
domain) Weighted Prob.5%
Small Little unknown 2 3 5
Func.Proc. (some req’s) (10%) (75%) (15%) 3.2 >80%
Small Unknown 2 4 8
Func.Proc. (no req’s) (15%) (50%) (35%) 5.1 <50%
Medium Little unknown 5 7 10
Func.Proc. (some req’s) (10%) (75%) (15%) 7.25 >80%
Medium Unknown 5 8 12
Func.Proc. (no req’s) (15%) (50%) (35%) 8.95 <50%
Large Little unknown 8 10 12
Func.Proc. (some req’s) (10%) (75%) (15%) 10.1 >80%
Large Unknown 8 10 15
Func.Proc. (no req’s) (15%) (50%) (35%) 11.45 <50%
Complex Little unknown 10 15 20
Func.Proc. (some req’s) (10%) (75%) (15%) 15.25 >80%
Complex Unknown 10 18 30
Func.Proc. (no req’s) (15%) (50%) (35%) 21 <50%

Luca Santillo / Agile Metrics @ IWSM-MENSURA 2012 Oct. 18th, 2012 27


Conclusions and General Remarks
 Smart approach / EASY FP  In general
 work with no calibration  don’t sell the approximation as
 can be used in parallel with any a measured size – that would
other technique be a lie!
 provide better estimation  don’t replace measures
intervals than other techniques with estimates
 can be scaled at “groupings”  be clear about what is certain,
level what is guessed
 work for both new developments  don’t lose much time on
and enhancements details, but…
 can be progressively refined up  …be open to refinements
to exact measures

Luca Santillo / Agile Metrics @ IWSM-MENSURA 2012 Oct. 18th, 2012 28


Thank you
Have a great – ops, a little
approximation!
 Questions?

 Luca Santillo
 [email protected]

Luca Santillo / Agile Metrics @ IWSM-MENSURA 2012 Oct. 18th, 2012 29

You might also like