iwsm2014 sizing the entire development process (mauricio aguiar & luigi buglione) ifpug

37
Sizing The Entire Development Process Mauricio Aguiar TI Métricas Luigi Buglione Engineering Ingegneria Informatica SpA

Upload: nesma

Post on 21-Jun-2015

124 views

Category:

Software


0 download

DESCRIPTION

IWSM Presentation

TRANSCRIPT

Page 1: Iwsm2014   sizing the entire development process (mauricio aguiar & luigi buglione) ifpug

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

• 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

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

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
Page 6: Iwsm2014   sizing the entire development process (mauricio aguiar & luigi buglione) ifpug

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

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
Page 9: Iwsm2014   sizing the entire development process (mauricio aguiar & luigi buglione) ifpug

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

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
Page 12: Iwsm2014   sizing the entire development process (mauricio aguiar & luigi buglione) ifpug

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

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
Page 15: Iwsm2014   sizing the entire development process (mauricio aguiar & luigi buglione) ifpug

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

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

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

End of Story

Page 19: Iwsm2014   sizing the entire development process (mauricio aguiar & luigi buglione) ifpug

• 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

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

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

NFR(prod)

FUR(prod)

Other (prj)

Page 23: Iwsm2014   sizing the entire development process (mauricio aguiar & luigi buglione) ifpug

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

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

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

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
Page 28: Iwsm2014   sizing the entire development process (mauricio aguiar & luigi buglione) ifpug

• 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

• 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

Refining WBS/Gantt (1)

Page 31: Iwsm2014   sizing the entire development process (mauricio aguiar & luigi buglione) ifpug

Refining WBS/Gantt (2)

Page 32: Iwsm2014   sizing the entire development process (mauricio aguiar & luigi buglione) ifpug

...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

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

• 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 35: Iwsm2014   sizing the entire development process (mauricio aguiar & luigi buglione) ifpug

htt

ps:

//tw

itte

r.co

m/lb

u_

me

asu

re

Page 36: Iwsm2014   sizing the entire development process (mauricio aguiar & luigi buglione) ifpug

Bedankt voor uw aandachtBedankt voor uw aandacht!!Thanks for your attentionThanks for your attention!!

Page 37: Iwsm2014   sizing the entire development process (mauricio aguiar & luigi buglione) ifpug

For any further info…Mauricio Aguiar, [email protected]

Luigi Buglione, [email protected]