Iwsm2014 sizing the entire development process (mauricio aguiar & luigi buglione) ifpug
description
Transcript of Iwsm2014 sizing the entire development process (mauricio aguiar & luigi buglione) ifpug
![Page 1: Iwsm2014 sizing the entire development process (mauricio aguiar & luigi buglione) ifpug](https://reader036.fdocuments.us/reader036/viewer/2022062300/55869119d8b42a4a7f8b45f8/html5/thumbnails/1.jpg)
Sizing The Entire Development Process
Mauricio AguiarTI Métricas
Luigi BuglioneEngineering Ingegneria Informatica SpA
![Page 2: Iwsm2014 sizing the entire development process (mauricio aguiar & luigi buglione) ifpug](https://reader036.fdocuments.us/reader036/viewer/2022062300/55869119d8b42a4a7f8b45f8/html5/thumbnails/2.jpg)
• Agenda– The Relevance of NFR
• A Short Story
– NFR and SNAP– Measuring and Evaluating NFR Productivity
![Page 3: Iwsm2014 sizing the entire development process (mauricio aguiar & luigi buglione) ifpug](https://reader036.fdocuments.us/reader036/viewer/2022062300/55869119d8b42a4a7f8b45f8/html5/thumbnails/3.jpg)
Which programmers are more
productive?
Well, those who complete more
programs per month should be the best.
![Page 4: Iwsm2014 sizing the entire development process (mauricio aguiar & luigi buglione) ifpug](https://reader036.fdocuments.us/reader036/viewer/2022062300/55869119d8b42a4a7f8b45f8/html5/thumbnails/4.jpg)
Right... But some programs are BIG!
Then you will have to account for size – count how many lines of code
each programmer produces.
![Page 5: Iwsm2014 sizing the entire development process (mauricio aguiar & luigi buglione) ifpug](https://reader036.fdocuments.us/reader036/viewer/2022062300/55869119d8b42a4a7f8b45f8/html5/thumbnails/5.jpg)
![Page 6: Iwsm2014 sizing the entire development process (mauricio aguiar & luigi buglione) ifpug](https://reader036.fdocuments.us/reader036/viewer/2022062300/55869119d8b42a4a7f8b45f8/html5/thumbnails/6.jpg)
Programs got bigger after we
started measuring lines
of code.
Everyone wants to
look productive.
SLOC
![Page 7: Iwsm2014 sizing the entire development process (mauricio aguiar & luigi buglione) ifpug](https://reader036.fdocuments.us/reader036/viewer/2022062300/55869119d8b42a4a7f8b45f8/html5/thumbnails/7.jpg)
Maybe we should measure
something programmers can’t control.
I guess you’re right.
SLOC
![Page 8: Iwsm2014 sizing the entire development process (mauricio aguiar & luigi buglione) ifpug](https://reader036.fdocuments.us/reader036/viewer/2022062300/55869119d8b42a4a7f8b45f8/html5/thumbnails/8.jpg)
![Page 9: Iwsm2014 sizing the entire development process (mauricio aguiar & luigi buglione) ifpug](https://reader036.fdocuments.us/reader036/viewer/2022062300/55869119d8b42a4a7f8b45f8/html5/thumbnails/9.jpg)
That Albrecht guy from IBM had a good idea – ‘function points’. They’re based on user input so programmers can’t mess with
them.
That’s great! What still bothers me is
there are some things FPs don’t
count.
![Page 10: Iwsm2014 sizing the entire development process (mauricio aguiar & luigi buglione) ifpug](https://reader036.fdocuments.us/reader036/viewer/2022062300/55869119d8b42a4a7f8b45f8/html5/thumbnails/10.jpg)
Like what? Things like requests for a very small
response time, or complex
calculations.
![Page 11: Iwsm2014 sizing the entire development process (mauricio aguiar & luigi buglione) ifpug](https://reader036.fdocuments.us/reader036/viewer/2022062300/55869119d8b42a4a7f8b45f8/html5/thumbnails/11.jpg)
![Page 12: Iwsm2014 sizing the entire development process (mauricio aguiar & luigi buglione) ifpug](https://reader036.fdocuments.us/reader036/viewer/2022062300/55869119d8b42a4a7f8b45f8/html5/thumbnails/12.jpg)
We are using cost drivers to adjust for things FPs don’t count.
How does that work?
![Page 13: Iwsm2014 sizing the entire development process (mauricio aguiar & luigi buglione) ifpug](https://reader036.fdocuments.us/reader036/viewer/2022062300/55869119d8b42a4a7f8b45f8/html5/thumbnails/13.jpg)
We adjust the FPs up or down depending on each cost driver.
Oh I see… To account for
situations where two programs are the same size but
have different complexity levels.Exactly.
![Page 14: Iwsm2014 sizing the entire development process (mauricio aguiar & luigi buglione) ifpug](https://reader036.fdocuments.us/reader036/viewer/2022062300/55869119d8b42a4a7f8b45f8/html5/thumbnails/14.jpg)
![Page 15: Iwsm2014 sizing the entire development process (mauricio aguiar & luigi buglione) ifpug](https://reader036.fdocuments.us/reader036/viewer/2022062300/55869119d8b42a4a7f8b45f8/html5/thumbnails/15.jpg)
I can’t decide which sizing method to use – some say IFPUG, some say COSMIC, some say NESMA, some say FiSMA… some still
use MkII.
It looks like these so-called measurement experts don’t
know what they’re talking
about!
![Page 16: Iwsm2014 sizing the entire development process (mauricio aguiar & luigi buglione) ifpug](https://reader036.fdocuments.us/reader036/viewer/2022062300/55869119d8b42a4a7f8b45f8/html5/thumbnails/16.jpg)
One thing I know is we must measure functional
size.Sure. How about non-functional attributes?
![Page 17: Iwsm2014 sizing the entire development process (mauricio aguiar & luigi buglione) ifpug](https://reader036.fdocuments.us/reader036/viewer/2022062300/55869119d8b42a4a7f8b45f8/html5/thumbnails/17.jpg)
I’ve heard some people talk about ‘nonfunctional size’ but I’ve never
seen it. Just like flying saucers…
Maybe you should try
SNAP.
Say that again?
![Page 18: Iwsm2014 sizing the entire development process (mauricio aguiar & luigi buglione) ifpug](https://reader036.fdocuments.us/reader036/viewer/2022062300/55869119d8b42a4a7f8b45f8/html5/thumbnails/18.jpg)
End of Story
![Page 19: Iwsm2014 sizing the entire development process (mauricio aguiar & luigi buglione) ifpug](https://reader036.fdocuments.us/reader036/viewer/2022062300/55869119d8b42a4a7f8b45f8/html5/thumbnails/19.jpg)
• Agenda– The Relevance of NFR
• A Short Story
– NFR and SNAP– Measuring and Evaluating NFR Productivity
![Page 20: Iwsm2014 sizing the entire development process (mauricio aguiar & luigi buglione) ifpug](https://reader036.fdocuments.us/reader036/viewer/2022062300/55869119d8b42a4a7f8b45f8/html5/thumbnails/20.jpg)
You cannot You cannot controlcontrol what you cannot what you cannot measure measure but...but...
...You cannot...You cannot measuremeasure what youwhat you cannotcannot define define but...but...
...You cannot...You cannot definedefine what you what you don’tdon’t knowknow......
![Page 21: Iwsm2014 sizing the entire development process (mauricio aguiar & luigi buglione) ifpug](https://reader036.fdocuments.us/reader036/viewer/2022062300/55869119d8b42a4a7f8b45f8/html5/thumbnails/21.jpg)
IT systems with higher tech-levels contain a higher % of NFRs fundamental to properly determine boundary/scope (cfr. COSMIC)
Using only FSM-based measures can underestimate the overall project effort ( don’t forget that any FSM method sizes only product FURs)
![Page 22: Iwsm2014 sizing the entire development process (mauricio aguiar & luigi buglione) ifpug](https://reader036.fdocuments.us/reader036/viewer/2022062300/55869119d8b42a4a7f8b45f8/html5/thumbnails/22.jpg)
NFR(prod)
FUR(prod)
Other (prj)
![Page 23: Iwsm2014 sizing the entire development process (mauricio aguiar & luigi buglione) ifpug](https://reader036.fdocuments.us/reader036/viewer/2022062300/55869119d8b42a4a7f8b45f8/html5/thumbnails/23.jpg)
Sou
rce
: B
ug
lion
e L
., T
he N
ext
Fron
tier:
Measu
rin
g a
nd
Evalu
ati
ng
th
e
Non
Fun
ctio
nal
Pro
du
ctiv
ity,
Metr
icV
iew
s, I
FPU
G N
ew
slett
er,
Vol.6
Iss
ue
No.2
, A
ug
ust
20
12
, p
p.1
1-1
4,
htt
p:/
/ww
w.ifp
ug
.org
/metr
icvie
ws/
![Page 24: Iwsm2014 sizing the entire development process (mauricio aguiar & luigi buglione) ifpug](https://reader036.fdocuments.us/reader036/viewer/2022062300/55869119d8b42a4a7f8b45f8/html5/thumbnails/24.jpg)
IFPUG for NFRIFPUG for NFRSNAPSNAP SSoftwareoftware NNon-functionalon-functional AAssessment ssessment PProcessrocess • New NFR Sizing Method
Unit of measure: SP (SNAP Points)Independent from FP (from FURs)Superseeds the VAF concept...it’s a start!
![Page 25: Iwsm2014 sizing the entire development process (mauricio aguiar & luigi buglione) ifpug](https://reader036.fdocuments.us/reader036/viewer/2022062300/55869119d8b42a4a7f8b45f8/html5/thumbnails/25.jpg)
1. Data Operationsa. Data Entry Validationb. Logical & Mathematical Operationsc. Data Formattingd. Internal Data Movementse. Delivering Added Value to Users by Data
Configuration
2. Interface Designa. UI Changesb. Help Methodsc. Multiple Input Methodsd. Multiple Output Methods
3. Technical Environmenta. Multiple Platformb. Database Technologyc. Batch Processing System
4. Architecturea. Component Based Sw Dev
(CBSD)b. Multiple Input/Output
Interface
APM v2.2: Categories (4) & Sub-Categories (14):
![Page 26: Iwsm2014 sizing the entire development process (mauricio aguiar & luigi buglione) ifpug](https://reader036.fdocuments.us/reader036/viewer/2022062300/55869119d8b42a4a7f8b45f8/html5/thumbnails/26.jpg)
APM is available at IFPUG site Copyrighted under Creative Commons This means it is for free Order it in the IFPUG.ORG store at no cost
SNAP Quick Reference Guide (Free)SNAP Collection Tool (Free) IFPUG CSP exam (Certified SNAP Practitioner)Case studiesTTT Deck
Several companies are nowlicensed to train SNAP
SNAP workshopPlanned:
SNAPTips – every month More case studies
![Page 27: Iwsm2014 sizing the entire development process (mauricio aguiar & luigi buglione) ifpug](https://reader036.fdocuments.us/reader036/viewer/2022062300/55869119d8b42a4a7f8b45f8/html5/thumbnails/27.jpg)
![Page 28: Iwsm2014 sizing the entire development process (mauricio aguiar & luigi buglione) ifpug](https://reader036.fdocuments.us/reader036/viewer/2022062300/55869119d8b42a4a7f8b45f8/html5/thumbnails/28.jpg)
• Agenda– The Relevance of NFR
• A Short Story
– NFR and SNAP– Measuring and Evaluating NFR Productivity
![Page 29: Iwsm2014 sizing the entire development process (mauricio aguiar & luigi buglione) ifpug](https://reader036.fdocuments.us/reader036/viewer/2022062300/55869119d8b42a4a7f8b45f8/html5/thumbnails/29.jpg)
• Nominal Productivity
• Funct+ Non-funct Productivity
• Funct + Non-funct + Org Productivity
prj
prodFUR
Effort
fsu
jOrgprodNFR
prodNFR
prodFUR
prodFUR
Effort
nfsu
Effort
fsu
Pr/
jOrg
jOrg
prodNFR
prodNFR
prodFUR
prodFUR
Effort
XYZ
Effort
nfsu
Effort
fsu
Pr
Pr
Source: Buglione L., The Next Frontier: Measuring and Evaluating the NonFunctional Productivity, MetricViews, IFPUG Newsletter, Vol.6 Issue No.2, August 2012, pp.11-14, http://www.ifpug.org/metricviews/
![Page 30: Iwsm2014 sizing the entire development process (mauricio aguiar & luigi buglione) ifpug](https://reader036.fdocuments.us/reader036/viewer/2022062300/55869119d8b42a4a7f8b45f8/html5/thumbnails/30.jpg)
Refining WBS/Gantt (1)
![Page 31: Iwsm2014 sizing the entire development process (mauricio aguiar & luigi buglione) ifpug](https://reader036.fdocuments.us/reader036/viewer/2022062300/55869119d8b42a4a7f8b45f8/html5/thumbnails/31.jpg)
Refining WBS/Gantt (2)
![Page 32: Iwsm2014 sizing the entire development process (mauricio aguiar & luigi buglione) ifpug](https://reader036.fdocuments.us/reader036/viewer/2022062300/55869119d8b42a4a7f8b45f8/html5/thumbnails/32.jpg)
...effort FUR/NFR/Org-related
(here an example using CMMI-DEV v1.3 process
areas)
Refining WBS/Gantt (3)
![Page 33: Iwsm2014 sizing the entire development process (mauricio aguiar & luigi buglione) ifpug](https://reader036.fdocuments.us/reader036/viewer/2022062300/55869119d8b42a4a7f8b45f8/html5/thumbnails/33.jpg)
cbxaxy 21
baxy
...whatever the fsu and nfsu chosen!
FP vs. Effort* (Type = MIS ) (n=16) y = 6,1357x + 184,12
R2 = 0,7129
0
500
1000
1500
2000
2500
3000
0 50 100 150 200 250 300 350
FP
Effo
rt* (m
/d)
• Note: the higher the “b” constant, the higher NFR contribution, the worst R2
•...thus, let’s measure nfsu!• MS-Excel does not offer a 3D graph for multiple regression. However, we still get numerical results
![Page 34: Iwsm2014 sizing the entire development process (mauricio aguiar & luigi buglione) ifpug](https://reader036.fdocuments.us/reader036/viewer/2022062300/55869119d8b42a4a7f8b45f8/html5/thumbnails/34.jpg)
• FUR vs NFR– UR needs to be properly elicited and decomposed towards the EP
level– Avoid the ‘scope creep’!– Not only product, but also project-related URs (‘ABC’ schema)
• NFR and SNAP– The IFPUG way to size NFR (nfsu)– Current APM v2.2– What’s currently available now
• Measuring and Evaluating NFR Productivity– It’s technically possible, just need to break down tasks in your WBS– Needed for “Zero FP” projects (corrective/adaptive maintenance)– …let’s start and try!
![Page 36: Iwsm2014 sizing the entire development process (mauricio aguiar & luigi buglione) ifpug](https://reader036.fdocuments.us/reader036/viewer/2022062300/55869119d8b42a4a7f8b45f8/html5/thumbnails/36.jpg)
Bedankt voor uw aandachtBedankt voor uw aandacht!!Thanks for your attentionThanks for your attention!!