Sizing The Entire Development Process
-
Upload
luigi-buglione -
Category
Software
-
view
51 -
download
1
Transcript of Sizing The Entire Development Process
![Page 1: Sizing The Entire Development Process](https://reader033.fdocuments.us/reader033/viewer/2022060115/5578237bd8b42a9b438b4648/html5/thumbnails/1.jpg)
Sizing The Entire Development Process
Mauricio AguiarTI Métricas
Luigi BuglioneEngineering Ingegneria Informatica SpA
![Page 2: Sizing The Entire Development Process](https://reader033.fdocuments.us/reader033/viewer/2022060115/5578237bd8b42a9b438b4648/html5/thumbnails/2.jpg)
• Agenda– The Relevance of NFR
• A Short Story
– NFR and SNAP– Measuring and Evaluating NFR Productivity
![Page 3: Sizing The Entire Development Process](https://reader033.fdocuments.us/reader033/viewer/2022060115/5578237bd8b42a9b438b4648/html5/thumbnails/3.jpg)
Which programmers are more
productive?
Well, those who complete more
programs per month should be the best.
![Page 4: Sizing The Entire Development Process](https://reader033.fdocuments.us/reader033/viewer/2022060115/5578237bd8b42a9b438b4648/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: Sizing The Entire Development Process](https://reader033.fdocuments.us/reader033/viewer/2022060115/5578237bd8b42a9b438b4648/html5/thumbnails/5.jpg)
![Page 6: Sizing The Entire Development Process](https://reader033.fdocuments.us/reader033/viewer/2022060115/5578237bd8b42a9b438b4648/html5/thumbnails/6.jpg)
Programs got bigger after we
started measuring lines
of code.
Everyone wants to
look productive.
SLOC
![Page 7: Sizing The Entire Development Process](https://reader033.fdocuments.us/reader033/viewer/2022060115/5578237bd8b42a9b438b4648/html5/thumbnails/7.jpg)
Maybe we should measure
something programmers can’t control.
I guess you’re right.
SLOC
![Page 8: Sizing The Entire Development Process](https://reader033.fdocuments.us/reader033/viewer/2022060115/5578237bd8b42a9b438b4648/html5/thumbnails/8.jpg)
![Page 9: Sizing The Entire Development Process](https://reader033.fdocuments.us/reader033/viewer/2022060115/5578237bd8b42a9b438b4648/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: Sizing The Entire Development Process](https://reader033.fdocuments.us/reader033/viewer/2022060115/5578237bd8b42a9b438b4648/html5/thumbnails/10.jpg)
Like what? Things like requests for a very small
response time, or complex
calculations.
![Page 11: Sizing The Entire Development Process](https://reader033.fdocuments.us/reader033/viewer/2022060115/5578237bd8b42a9b438b4648/html5/thumbnails/11.jpg)
![Page 12: Sizing The Entire Development Process](https://reader033.fdocuments.us/reader033/viewer/2022060115/5578237bd8b42a9b438b4648/html5/thumbnails/12.jpg)
We are using cost drivers to adjust for things FPs don’t count.
How does that work?
![Page 13: Sizing The Entire Development Process](https://reader033.fdocuments.us/reader033/viewer/2022060115/5578237bd8b42a9b438b4648/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: Sizing The Entire Development Process](https://reader033.fdocuments.us/reader033/viewer/2022060115/5578237bd8b42a9b438b4648/html5/thumbnails/14.jpg)
![Page 15: Sizing The Entire Development Process](https://reader033.fdocuments.us/reader033/viewer/2022060115/5578237bd8b42a9b438b4648/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: Sizing The Entire Development Process](https://reader033.fdocuments.us/reader033/viewer/2022060115/5578237bd8b42a9b438b4648/html5/thumbnails/16.jpg)
One thing I know is we must measure functional
size.Sure. How about non-functional attributes?
![Page 17: Sizing The Entire Development Process](https://reader033.fdocuments.us/reader033/viewer/2022060115/5578237bd8b42a9b438b4648/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: Sizing The Entire Development Process](https://reader033.fdocuments.us/reader033/viewer/2022060115/5578237bd8b42a9b438b4648/html5/thumbnails/18.jpg)
End of Story
![Page 19: Sizing The Entire Development Process](https://reader033.fdocuments.us/reader033/viewer/2022060115/5578237bd8b42a9b438b4648/html5/thumbnails/19.jpg)
• Agenda– The Relevance of NFR
• A Short Story
– NFR and SNAP– Measuring and Evaluating NFR Productivity
![Page 20: Sizing The Entire Development Process](https://reader033.fdocuments.us/reader033/viewer/2022060115/5578237bd8b42a9b438b4648/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 don’twhat you don’t knowknow......
![Page 21: Sizing The Entire Development Process](https://reader033.fdocuments.us/reader033/viewer/2022060115/5578237bd8b42a9b438b4648/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: Sizing The Entire Development Process](https://reader033.fdocuments.us/reader033/viewer/2022060115/5578237bd8b42a9b438b4648/html5/thumbnails/22.jpg)
NFR(prod)
FUR(prod)
Other (prj)
![Page 23: Sizing The Entire Development Process](https://reader033.fdocuments.us/reader033/viewer/2022060115/5578237bd8b42a9b438b4648/html5/thumbnails/23.jpg)
Sour
ce:
Bugl
ione
L.
, Th
e N
ext
Fron
tier:
M
easu
ring
and
Eval
uatin
g th
e N
onFu
nctio
nal
Prod
uctiv
ity,
Met
ricVi
ews,
IFP
UG
New
slet
ter,
Vol
.6 I
ssue
No.
2,
Augu
st 2
012,
pp.
11-1
4, h
ttp:
//w
ww
.ifpu
g.or
g/m
etric
view
s/
![Page 24: Sizing The Entire Development Process](https://reader033.fdocuments.us/reader033/viewer/2022060115/5578237bd8b42a9b438b4648/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: Sizing The Entire Development Process](https://reader033.fdocuments.us/reader033/viewer/2022060115/5578237bd8b42a9b438b4648/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
3. Architecturea. Component Based Sw Dev
(CBSD)b. Multiple Input/Output
Interface
APM v2.2: Categories (4) & Sub-Categories (14):
![Page 26: Sizing The Entire Development Process](https://reader033.fdocuments.us/reader033/viewer/2022060115/5578237bd8b42a9b438b4648/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 now
licensed to train SNAPSNAP workshopPlanned: SNAPTips – every month More case studies
![Page 27: Sizing The Entire Development Process](https://reader033.fdocuments.us/reader033/viewer/2022060115/5578237bd8b42a9b438b4648/html5/thumbnails/27.jpg)
![Page 28: Sizing The Entire Development Process](https://reader033.fdocuments.us/reader033/viewer/2022060115/5578237bd8b42a9b438b4648/html5/thumbnails/28.jpg)
• Agenda– The Relevance of NFR
• A Short Story
– NFR and SNAP– Measuring and Evaluating NFR Productivity
![Page 29: Sizing The Entire Development Process](https://reader033.fdocuments.us/reader033/viewer/2022060115/5578237bd8b42a9b438b4648/html5/thumbnails/29.jpg)
• Nominal Productivity
• Funct+ Non-funct Productivity
• Funct + Non-funct + Org Productivity
prj
prodFUR
Effortfsu −
jOrgprodNFR
prodNFR
prodFUR
prodFUR
Effortnfsu
Effortfsu
Pr/ −−
−
−
− +
jOrg
jOrg
prodNFR
prodNFR
prodFUR
prodFUR
EffortXYZ
Effortnfsu
Effortfsu
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: Sizing The Entire Development Process](https://reader033.fdocuments.us/reader033/viewer/2022060115/5578237bd8b42a9b438b4648/html5/thumbnails/30.jpg)
Refining WBS/Gantt (1)
![Page 31: Sizing The Entire Development Process](https://reader033.fdocuments.us/reader033/viewer/2022060115/5578237bd8b42a9b438b4648/html5/thumbnails/31.jpg)
Refining WBS/Gantt (2)
![Page 32: Sizing The Entire Development Process](https://reader033.fdocuments.us/reader033/viewer/2022060115/5578237bd8b42a9b438b4648/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: Sizing The Entire Development Process](https://reader033.fdocuments.us/reader033/viewer/2022060115/5578237bd8b42a9b438b4648/html5/thumbnails/33.jpg)
cbxaxy ++= 21
baxy +=
...whatever the fsu and nfsu chosen!
FP vs. Effort* (Type = MIS ) (n=16) y = 6,1357x + 184,12R2 = 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: Sizing The Entire Development Process](https://reader033.fdocuments.us/reader033/viewer/2022060115/5578237bd8b42a9b438b4648/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: Sizing The Entire Development Process](https://reader033.fdocuments.us/reader033/viewer/2022060115/5578237bd8b42a9b438b4648/html5/thumbnails/36.jpg)
Bedankt voor uw aandachtBedankt voor uw aandacht!!Thanks for your attentionThanks for your attention!!