Metriche

Function Point

(for an automatic, partial translation from Italian to other languages enter mondomatica.it in Google Translate; use the arrows in the upper right to have a complete vision of the navigation bar)

I FP sono una metrica quantitativa del prodotto software.

E' tempo di ripensare alle modalità di utilizzo, nel senso che senza la qualità del prodotto il conteggio della sola quantità non ha più molto senso.

Le evoluzioni del Software Engineering orientano la produzione verso alcuni principi base di semplificazione e collaborazione:
- produzione snella o metodologie agili o metodi iterativi;
- nuove piattaforme tecnologiche;
- centralità dell'utente;
- vantaggi per l'utente, più che per il progettista;
- rilasci parziali utilizzabili e riuso;
- running function point;
- monitoraggi della qualità in uso (efficacia e efficienza) con feedback alla produzione;
- valorizzazione della qualità al contorno di software, dati e servizi;
- disponibilità di misure.

E' un problema di metodo di conteggio o di utilizzo contrattuale del conteggio?

Il conteggio è convenientemente adattabile alle tecnologie innovative, ove spesso la disponibilità di esperti non coincide con il know-how degli esperti in Function Point?

Come completare negli utilizzi contrattuali il conteggio della quantità con gli aspetti della qualità dei prodotti?

La documentazione da produrre è compatibile con le metodologie agili?

La tecnica di conteggio, nata per i sistemi gestionali dell'epoca in sostituzione delle LOC, Linee di codice, è adattabile, ma poco sperimentata, a diverse architetture e soluzioni tecnologiche,
consentendo di ottenere una misura standard della dimensione delle funzioni nello specifico contesto d'uso, essendo basata su concetti logici e non tecnici.

Nel 2009 lo standard
ISO/IEC 20926, Software and systems engineering - Software measurement - IFPUG functional size measurement method 2009, confermato nel 2019, ha sancito le regole di conteggio del metodo IFPUG.

Il metodo IFPUG considera cinque fattori quantitativi:
- Input
- Output
- Interrogazioni
- File logici interni
- File logici esterni


Le principali finalità del metodo di conteggio dei Function Point sono riassumibili dalle seguenti caratteristiche:
- standardizzazione degli aspetti dimensionali;
- universalità;
- trasparenza;
- documentabilità;
- ausilio alla catalogazione delle applicazioni e dei
servizi;
- ripetibilità;
- confrontabilità dei prodotti (dal punto di vista del "peso", l'allusione alle mele dell'immagine seguente è chiara).

Quadro su misura
Negozio nella regione Midi-Pirenei (Francia)

Il metodo di conteggio riguarda gli elementi dimensionali e funzionali dell’applicazione (processi elementari del software e dati) che devono essere per definizione indipendenti, ma completabili, dalla tecnologia utilizzata per la loro realizzazione, dal costo e dalla qualità.

Sono esclusi dal conteggio gli aspetti legati alla qualità non funzionale del software (come quelli definiti nell’
ISO/IEC 25010: idoneità funzionale, usabilità, sicurezza, compatibilità, efficienza, affidabilità, manutenibilità, portabilità) ed alla qualità dei dati (ISO/IEC 25012).

Essendo la metrica dei FP puramente quantitativa sta prevalendo un prezzo unitario medio unico, non collegato alla qualità, similmente a quanto capita in alcuni settori immobiliari (per esempio con l'uso del metro quadro) o settori commerciali.

pannello fuori un negozio sul prezzo al kilo
Negozio nella regione Campania


Se ciò può funzionare in media, difficilmente il metodo vale per la stima del valore di singoli casi, in particolare per il mondo del software.

A distanza di anni l'evoluzione tecnologica fa emergere esigenze di perfezionamento dell'utilizzo di metodi di quantificazione della produzione, considerando aspetti di qualità non funzionale, che aiutino anche a discriminare quantità pari per dal punto di vista quantitativo, ma diverse dal punto di vista qualitativo.

Nel tempo sono in via di definizione metodi automatici di conteggio quantitativo di Function Point come quello descritto dall'
ISO/IEC 19515:2019 Information Technology - Object Management Group Automated Function Points (AFP), 1.0.

Per misurare invece aspetti qualitativi, tenendo conto ad esempio di aspetti non funzionali, l’IFPUG ha messo a punto il metodo SNAP (Software Non-functional Assessment Process).
Il metodo si basa sulla quantificazione di categorie (e sotto-categorie) qualitative relative a:
- Data Operations
- Interface design
- Technical environment
- Architecture

Il metodo SNAP si propone quindi di quantificare gli aspetti di qualità non funzionale del software, di complemento alla quantificazione funzionale dei Function Point, utilizzando il modello di qualità definito dall'ISO/IEC 25010.

La dimensione funzionale in FP e la dimensione non funzionale in SNAP sono correlate con le produttività di sviluppo e manutenzione.

In particolare SNAP:
- è una misura solo indiretta della qualità;
- è una misura quantitativa di elementi connessi con la qualità;
- FP e SNAP non sono confrontabili (metaforicamente sono come i mq di una stanza e la sua temperatura), ma possono consentire stime separate dell'effort necessario per lo sviluppo/manutenzione dei FP e per l'impegno richiesto dedicato al raggiungimento degli obiettivi di qualità.

A prescindere dai metodi i coefficienti di produttività del software dipendono da svariati fattori che vanno al di là della pura dimensione funzionale o non funzionale dell’applicazione, tra cui:
- fasi del ciclo di vita del software considerato;
- modalità di misurazione dell’effort relativo impiegato;
- processo di sviluppo ex novo o evoluzione-manutenzione;
- tecnologia utilizzata;
- riuso;
- documentazione prodotta;
- criticità del prodotto e rigorosità del test;
- esperienza delle persone;
- difettosità e qualità “venduta”.


Sta maturando la possibilità di combinare diversi costi unitari e far variare il costo unitario prescelto sulla base di alcuni parametri che possano tener conto, come in tutti i settori economici, non solo della quantità prodotta, ma anche della "oggettiva" qualità risultante, compreso l'aspetto (anche se strettamente esula dai Function Point) dell'uso effettivo degli stessi nell'ambiente reale della platea degli utilizzatori, certi o potenziali.

In Italia l'associazione
Gufpi-Isma sponsorizza la metrica dei FP fin dagli anni '90 ed ha organizzato sul tema la prima conferenza internazionale dell'IFPUG in Europa: "1996 Conference on software measurement and management". Attualmente l'associazione sostiene SNAP.

Dal 1996 in Italia sono rilasciate le certificazioni di calcolo da parte dell'IFPUG (International Function Point User Group) sia ad esperti delle società produttrici, sia ad esperti dei relativi committenti con funzioni di controllo, monitoraggio, accettazione.

Da allora si susseguono
eventi di studio e approfondimento sulla misurazione del software con attenzione alla qualità ed ai costi, anche da parte di varie associazioni.

GUFPI1996 copia 2
Brochure "1996 Conference on software measurement and management"


Nel 1997 l'AIPA (Autorità Informatica nella Pubblica Amministrazione) indicò i Function Point "quale metrica dimensionale per il software nei contratti di sviluppo e manutenzione" e "quale strumento per stabilire la congruità tecnico-economica del progetto" (fonte Università di Firenze - Facoltà di Ingegneria - Slides "Misurare il software - Metriche").

Link utili su Associazioni e dati di benchmarking:
Ifpug, Isbsg, Csimumbai

Altre informazioni del periodo originario sono disponibili nella pagina sulle metriche nella prima versione del sito
www.mondomatica.it

Logo Creative Common

Per i termini di Privacy e Cookies si rinvia alla informativa generale di Shinystat

Function Point
RapidWeaver Icon

Made in RapidWeaver