Productivity Benchmark

 

 
   

Missione:

Fornire prodotti e servizi innovativi per favorire il governo dell'ICT mediante la conoscenza quantitativa.

 


 

Productivity Benchmark

 

"Tecnica che fa uso di confronti esterni per meglio valutare le proprie prestazioni attuali e identificare le possibili azioni migliorative per il futuro"

L'oggetto principale delle analisi statistiche di tipo benchmarking, nel campo dell'Ingegneria del Software, è la produttività, intesa come la quantità di software realizzato o mantenuto in un dato intervallo di di tempo o quantità di impegno-persona utilizzato.

 

 

Introduzione

Le attività di benchmarking nell'ingegneria del software sono basate sulla raccolta di dati tecnici e gestionali misurati attraverso l'uso di opportuni sistemi metrici tra cui primeggiano oggi i Function Point.

I data base di benchmarking contengono dati consuntivi relativi alle dimensioni ma anche ai fattori produttivi relativi a progetti software. Essi possono essere utilizzati per molti usi importanti anche e soprattutto ai fini gestionali e contrattuali come ad esempio l'assessment dei processi produttivi, la elaborazione di modelli di produttività o la valutazione di offerte software. É dunque essenziale avere la certezza che i dati in esso contenuti, e quindi le decisioni che da essi ne derivano, non siano inquinati da errori di ordini di grandezza inaccettabili.

I Function Point sono una delle migliori scelte possibili per il dimensionamento (sizing) delle applicazioni software, ma un loro uso acritico può portare a conclusioni errate se applicate a singoli e specifici progetti.

Benefici del Benchmarking

Il benchmarking può essere definito come l'attività del confrontare quantitativamente un processo produttivo di un'organizzazione con una serie di processi analoghi - medi in senso statistico oppure "best in class" - riportati dall'ambiente esterno.

I principali motivi per cui le organizzazioni ricorrono al benchmarking sono:
  • Valutare lo stato dei propri processi produttivi in un certo momento (assessment).
  • Identificare il proprio posizionamento competitivo rispetto al mercato.
  • Stabilire punti di partenza e di arrivo per il Process Improvement.
  • Ricavare indicazioni utili per le attività di previsione, di monitoraggio e di governo della realtà oggetto di confronto.
  • Valutare i processi produttivi dei propri fornitori.
Il benchmarking del software può essere attuato efficacemente attraverso l'utilizzo di un sistema di archiviazione - possibilmente automatizzato - che permetta di raccogliere, validare ed analizzare i dati attraverso diversi strumenti di indagine sia qualitativa/analogica sia quantitativa/statistica.

Una volta disponibili, tali dati potranno aiutare a raggiungere obiettivi di secondo livello, talvolta non meno importanti di quelli canonici, come ad esempio:
  • Creare modelli matematici di produttività, di costo e di durata.
  • Prevedere impegni, tempi e costi per un nuovo specifico progetto software.

Il "Benchmark"

Un data base di benchmarking, o "benchmark", è dunque una collezione di dati tecnici e gestionali afferenti alle risorse, ai mezzi ed ai processi produttivi per il software. Essi includono dati preventivi e consuntivi di progetti conclusi da parte dell'organizzazione che vuole confrontarsi così come quelli di varie organizzazioni esterne. Essi sono raccolti secondo precise e verificate modalità di sicurezza e di purificazione. I dati normalmente presenti vanno dalla nazionalità al tipo di organizzazione, dal tipo di progetto (sviluppo, manutenzione, porting etc) al suo dominio applicativo, dalla dimensione tecnica del software rilasciato (FP o KLOC) alla sua qualità, dall'impegno delle varie fasi di lavoro al tempo solare di rilascio e così via.

Una volta inseriti i dati è possibile interrogare il data base filtrando i casi analoghi a quello su cui si desidera un confronto ed analizzando singolarmente i risultati oppure ottenendo dei dati medi con i rispettivi indicatori di dispersione e di correlazione statistici. É spesso possibile applicare tecniche di indagine evoluta come l'analisi multifattoriale o le tecniche di correlazione.

Come in tutte le indagini empiriche, però, i dati non parlano da soli; occorrono, invece, delle ipotesi di relazione e legame tra le variabili registrate al fine di accettare o rigettare i modelli ipotizzati. Tale lavoro è generalmente materia da esperti di statistica perché le trappole che l'uso disinvolto degli strumenti di analisi possono disseminare nel terreno sono innumerevoli. Ciononostante l'utilità di un database di benchmarking è molto elevata e vale la pena di impegnarsi sia nella raccolta che nello studio di tali dati.

L'ISBSG

Al fine di effettuare paragoni significativi è necessario disporre di dati raccolti nel mercato che soddisfino certi criteri di qualità.

In primo luogo i dati dovrebbero essere pubblici, raccolti, cioè, da un organismo al di sopra delle parti, possibilmente non coinvolto in attività di business sui dati stessi.

In secondo luogo dovrebbe essere possibile accedere ai singoli punti campione raccolti nel data base e non solo agli indicatori di sintesi elaborati sulla base dei dati elementari.

I dati forniti dall'ISBSG (International Software Benchmarking Standards Group) rispondono pienamente a queste caratteristiche. L'ISBSG è un'associazione internazionale no-profit che riunisce le maggiori organizzazioni metriche esistenti ed ha, come obiettivo primario, quello di raccogliere e diffondere dati di produttività garantendo la qualità dei dati stessi.

L'utilità del benchmark

I dati di benchmark, e tra essi le metriche del software come i Function Point, possono essere utilizzati per confrontare le prestazioni di produzione del software di un'organizzazione con le capacità produttive di altre organizzazioni; inoltre sono utili per stimare e pianificare i propri progetti software futuri.

La DPO offre i propri servizi per la consultazione di benchmark preesistenti come quello dell'ISBSG e la creazione di nuovi benchmark specifici delle aziende clienti. Inoltre, nel Catalogo Corsi sono disponibili alcuni moduli formativi adatti per l'acquisizione delle capacità e delle tecniche adeguate per far fruttare le informazioni implicitamente contenute in un benchmark del software, esterno o interno all'organizzazione.

 

Approfondimenti

Il seguente lavoro, presentato al Workshop Internazionale dell'ISBSG del 1998, evidenzia alcuni aspetti fondamentali da considerare quando si faccia uso del benchmarking a fini valutativi e previsionali.
Il riuso del software come potenziale fattore di inquinamento dei data base per il benchmarking in Function Point
R. Meli | ISBSG 98 | PDF (39KB)

Inoltre, la DPO offre nel ramo della consulenza metodologica uno specifico servizio "Benchmarking" per supportare un'organizzazione ad accogliere, inizializzare e mantenere un proprio benchmark.