sizing the entire development process

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

Upload: luigi-buglione

Post on 10-Jun-2015

51 views

Category:

Software


1 download

TRANSCRIPT

Page 1: Sizing The Entire Development Process

Sizing The Entire Development Process

Mauricio AguiarTI Métricas

Luigi BuglioneEngineering Ingegneria Informatica SpA

Page 2: Sizing The Entire Development Process

• Agenda– The Relevance of NFR

• A Short Story

– NFR and SNAP– Measuring and Evaluating NFR Productivity

Page 3: Sizing The Entire Development Process

Which programmers are more

productive?

Well, those who complete more

programs per month should be the best.

Page 4: Sizing The Entire Development Process

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
Page 6: Sizing The Entire Development Process

Programs got bigger after we

started measuring lines

of code.

Everyone wants to

look productive.

SLOC

Page 7: Sizing The Entire Development Process

Maybe we should measure

something programmers can’t control.

I guess you’re right.

SLOC

Page 8: Sizing The Entire Development Process
Page 9: Sizing The Entire Development Process

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

Like what? Things like requests for a very small

response time, or complex

calculations.

Page 11: Sizing The Entire Development Process
Page 12: Sizing The Entire Development Process

We are using cost drivers to adjust for things FPs don’t count.

How does that work?

Page 13: Sizing The Entire Development Process

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
Page 15: Sizing The Entire Development Process

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

One thing I know is we must measure functional

size.Sure. How about non-functional attributes?

Page 17: Sizing The Entire Development Process

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

End of Story

Page 19: Sizing The Entire Development Process

• Agenda– The Relevance of NFR

• A Short Story

– NFR and SNAP– Measuring and Evaluating NFR Productivity

Page 20: Sizing The Entire Development Process

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

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

NFR(prod)

FUR(prod)

Other (prj)

Page 23: Sizing The Entire Development Process

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

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

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

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
Page 28: Sizing The Entire Development Process

• Agenda– The Relevance of NFR

• A Short Story

– NFR and SNAP– Measuring and Evaluating NFR Productivity

Page 29: Sizing The Entire Development Process

• 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

Refining WBS/Gantt (1)

Page 31: Sizing The Entire Development Process

Refining WBS/Gantt (2)

Page 32: Sizing The Entire Development Process

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

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

• 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: Sizing The Entire Development Process

http

s://t

witt

er.c

om/lb

u_m

easu

re

Page 36: Sizing The Entire Development Process

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

Page 37: Sizing The Entire Development Process

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

Luigi Buglione, [email protected]