Iwsm2014 an evaluation of simple function point as a replacement of ifpug function point (luigi lavazza & roberto meli)
1. Università degli Studi
dell’Insubria
An Evaluation of Simple Function Point
as a Replacement of IFPUG Function Point
Luigi Lavazza
Dipartimento di Scienze Teoriche e Applicate
Università degli Studi dell'Insubria - Varese
Roberto Meli
SiFPA
2. Contents
Research motivations
Simple Function Point: definition
FP vs. SiFP as size measures: statistical analysis
FP vs. SiFP as effort predictors: statistical analysis
Expected advantages in using SiFP
IWSM 2014 2 Rotterdam, October 2014
3. Two crucial and intriguing questions …
Why should anybody abandon the
IFPUG FSMM ?
Why should anybody need a
brand new FSMM just right now ?
IWSM 2014 3 Rotterdam, October 2014
4. Why should anybody abandon the IFPUG
FSMM ?
Because you can get the same results with less effort, time
and cost
Setup of the measurement system
– training, individual study, certification, field experience, guidelines,
...
Execution of the measures
– measurement productivity
Documentation of the measures
– registered details
Measure’s verification & validation
– audit, investigation, contradictory, litigation, ...
IWSM 2014 4 Rotterdam, October 2014
5. Why should anybody need a brand new
FSMM just right now ?
Because the current most popular alternative FSMMs
present the same problems of the IFPUG method: too much
details and complexity.
Because the market is now declining and the organizations
need to cut off all non strictly crucial costs.
Because the "agile movement" is conquering considerable
attention and business spaces and actual FSMMs are not
perceived as agile at all.
Because, despite everything, you can not loose the
investments made over the years on IFPUG measures and
no alternative FSMM is highly convertible with IFPUG.
IWSM 2014 5 Rotterdam, October 2014
6. What’s the need then ?
Today’s software market requires
fast, agile, effective functional size measurement methods
with low impact on production processes,
which require not too specialized skills, that are reliable in
results, not dependent on expert’s opinions and technology.
The resulting measures should be adequately correlated to
effort, cost, duration of a new development or functional
enhancement software project.
Current Functional Size Measurement Methods (FSMM) are
only partially compliant with these needs.
IWSM 2014 6 Rotterdam, October 2014
7. IFPUG Function Point: the software model
IWSM 2014
SW application functional specifications
Primary intent
Logical file Transaction
Record Element Type
Data Element Type
FTR
0..*
I/O
1..*
Allan J. Albrecht
Rotterdam, October 2014
7
8. Simple Function Point: the software model
SW application functional specifications
0..*
Logical file Transaction
Record Element Type
Data Element Type
FTR
I/O
1..*
IWSM 2014 8
SW application functional specifications
UGDG UGEP
Rotterdam, October 2014
Primary intent
9. UGEP
Unspecified Generic Elementary Process
"An atomic set of functional user requirements conceived
for processing purposes. It refers to an informational or
operational goal considered significant and unitary by the
user and includes all automated, mandatory and optional
activities needed to meet the goal. After an UGEP is
concluded, the MSA to which it belongs must be in a
logically consistent state."
IWSM 2014 9 Rotterdam, October 2014
10. UGDG
Unspecified Generic Data Group
"An atomic set of user requirements having a storage
purpose. It refers to a single logical data set of interest
to the user, for which information must be kept
persistently."
Fundamental data group
Auxiliary or non functional data group
Role
Employee
Only the first category (the fundamental data group)
meets user functional requirements and can therefore be
identified as a UGDG.
IWSM 2014 10 Rotterdam, October 2014
11. SiFP Definition process
With the IFPUG measurement, weights are computed for
each data and transaction function, by analyzing its details.
With the SiFP measurement, weights are fixed
Weights were derived from the analysis of the ISBSG dataset in order
to maximize convertibility
SiFP = 4.6 #UGEP + 7 #UGDG
The number of elementary
processes, without considering
the primary intent
The number of logical data files,
without considering if they are
internal or external
IWSM 2014 11 Rotterdam, October 2014
12. Measurement Procedure
Gather the available documentation
Identify the boundaries of the MSAs involved in the
measurement
Determine the measurement goal and scope
Locate the SiFP BFCs
List the UGDG-type elements List the UGEP-type elements
Calculate the functional size
Document and present the measurement
IWSM 2014 12 Rotterdam, October 2014
13. Measurement process: FP vs. SiFP
Activities Cost fraction
Gather the available documentation
Identify application boundaries
Determine the measurement goal and scope
Locate Elementary Processes and Logical Data Files
[IFPUG]
Identify transactions’ primary intents,
internal/external files, RET, DET, FTR and
determine complexity
Calculate the functional size
Document and present the measurement
[SiFP]
IWSM 2014 13
5%
25%
60%
10%
5%
25%
60%
10%
Rotterdam, October 2014
15. Where can you find reference manuals ?
IWSM 2014 15 Rotterdam, October 2014
16. Just one final highlight
SiFP is not an IFPUG
approximation technique like Early
& Quick FP, Indicative FP,
extrapolative FP and many others
based on average scores…
SiFP is a FSMM which is (actually)
higlhy “convertible” with IFPUG
method and it gives “precise”, not
approximate, measurements of
software functional requirements.
IWSM 2014 16 Rotterdam, October 2014
17. Research questions
How well are IFPUG FP and SiFP correlated?
How large is the difference of FP and SiFP size measures
for the same software application?
To answer these questions, we analyzed
The ISBSG dataset (also used for the definition of the
BFC weights)
A second business dataset
IWSM 2014 17 Rotterdam, October 2014
18. Plot FP vs. SiFP (ISBSG)
IWSM 2014 18
Rotterdam, October 2014
19. Regression lines (ISBSG)
SiFP = 0.998 UFP
Without outliers
IWSM 2014 19
With outliers
Rotterdam, October 2014
21. Regression lines (ISBSG)
In practice 1 SiFP = 1 UFP.
But is this statistically correct?
IWSM 2014 21
Rotterdam, October 2014
SiFP = 0.998 UFP
Line SiFP = UFP in in the 95%
confidence interval.
22. Plot FP vs. SiFP (validation dataset)
IWSM 2014 22
Rotterdam, October 2014
24. What happens if we consider sw portfolios?
Till now, we have considered measures taken on the
same application using the two FSMM.
What happens when we consider a portfolio of
applications and we are interested into the global
portfolio size difference which is affected by the
compensations among positive differences and
negative differences in the relation between IFPUG FP
and SiFP ? This is the case of application asset
evaluations or of broad procurement contracts.
IWSM 2014 24 Rotterdam, October 2014
27. Learnability
180 professionals with no previous knowledge of FSMM
Grouped in 75 teams
3 hours SiFP training
30-45 minutes for measuring the case study (~270 SiFP)
Class Frequency % cumulative
-35% 1 1,33%
-27% 2 4,00%
-18% 9 16,00%
-10% 24 48,00%
-1% 14 66,67%
7% 18 90,67%
16% 2 93,33%
24% 3 97,33%
>24% 2 100,00%
-10%<x<+7% 75%
-18%<x<+16% 89%
IWSM 2014 27 Rotterdam, October 2014
28. Another research questions
If we estimate development effort based on SiFP instead of
IFPUG FP, the achieved accuracy is the same, better or
worse?
To answer this question,
We derived the (best) model of effort as a function of UFP size, via
OLS log-log regression using ISBSG data
We derived the (best) model of effort as a function of SiFP size, via
OLS log-log regression using ISBSG data
We estimated efforts using both models, and computed residuals
(i.e., actuals-estimates)
We compared the residuals
IWSM 2014 28 Rotterdam, October 2014
29. The models of effort
As it could be expected, the models found were very similar:
Effort = 2.9204 × UFP0.9074
Effort = 2.773 × SiFP0.92
6000
5000
4000
3000
2000
1000
0
0 1000 2000 3000 4000 5000
Effort (hours)
Functional Size (UFP / SiFP)
UFP / effort
SiFP / Effort
IWSM 2014 29 Rotterdam, October 2014
30. Absolute relative residuals (ISBSG)
Neither Wilcoxon sign rank
test not Mann-Whitney
(Wilcoxon rank sum) test
reject the hypothesis that
absolute relative residuals
are equal in the two cases.
IWSM 2014 30 Rotterdam, October 2014
31. A problem
We performed the analysis using the ISBSG dataset
In the ISBSG dataset there are many application such that
the UFP and SiFP measures are very similar: in such cases,
the effort estimates will also be very similar.
To overcome this problem, we repeated the analysis
considering only the applications whose FP and SiFP
measures are different by no less than 20%.
IWSM 2014 31 Rotterdam, October 2014
32. Applications having UFP and SiFP measures
substantially different
We considered only the points
out of this area
IWSM 2014 32
For instance, this
application is about
2300 SiFP and over
3000 UFP
Rotterdam, October 2014
33. Results obtained considering only application
with size measure difference ≥ 20%
Results are very similar!
IWSM 2014 33
Models
Effort =29.23 × UFP0.789 Effort = 17.22 × SiFP0.86
Adjusted R2 0.551 0.539
MMRE 56.8% 58.1%
MdMRE 41% 39.3%
Pred(25) 33.3% 40%
Error range [ -85% .. 247% ] [ -88% .. 269%]
Rotterdam, October 2014
34. Results obtained considering only application
with size measure difference ≥ 20%
Neither Wilcoxon sign rank
test not Mann-Whitney
(Wilcoxon rank sum) test
reject the hypothesis that
residuals are equal in the
two cases.
Residuals of effort estimates
IWSM 2014 34 Rotterdam, October 2014
35. So, according to statistical analysis …
SiFP and IFPUG measures are equivalent!
IWSM 2014 35 Rotterdam, October 2014
36. On the ability to explain development effort
SW application functional specifications
0..*
Logical file Transaction
Record Element Type
Data Element Type
FTR
I/O
1..*
IWSM 2014 36
R2 = 0.551
SW application functional specifications
Logical file Transaction
R2 = 0.539
Rotterdam, October 2014
37. On the ability to explain development effort
The performed analysis tell us that:
To estimate the development effort, counting RET, DET, FTR, etc. is
of no use.
In fact, SiFP do not count them, and get the same estimation
accuracy
Instead, we need models of this type:
Effort = f(S, p1, p2, …, pn)
S is the size, measured in FP or in SiFP
p1, p2, …, pn are parameters that characterize the software product
(complexity, reliability, etc.) and the development process
(develeopers’ capacity and experience, usage of tools and
methodologies, etc.)
IWSM 2014 37 Rotterdam, October 2014
38. Conclusions
A new functional method based on just two BFC:
Unspecified Generic Elementary Process (UGEP)
Unspecified Generic Data Group (UGDG)
Totally compliant with IFPUG benchmarks
It requires less details
2 to 5 times faster to measure
Easy to learn and master
Applicable by non specialists
Less occasions for disagreement between clients and providers
1 SiFP =1 UFP
Same development cost as IFPUG FP
Conversion of historical data is immediate
IWSM 2014 38 Rotterdam, October 2014
39. Conclusions
By means of rigorous statistical analysis we were able to
show that:
The difference between UFP and SiFP measures is
generally small
– Very small, when considering applications portfolios
For effort estimation, using SiFP instead of UFP does not
cause the estimation accuracy to decrease
Conclusion: SiFP appear usable instead of UFP (and models
based on UFP can be used with SiFP measures)
Anybody may test the model using his/her data with no
additional effort provided that the number of EI, EO, EQ, ILF,
EIF is known
IWSM 2014 39 Rotterdam, October 2014