Approfondimto Benchmarking

nel settore ICT

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.

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 tempo o per quantità di impegno-persona utilizzato. Con il diffondersi delle forniture in outsourcing nel mercato anche i servizi di delivery e di esercizio applicativo sono sempre più oggetto di interesse.

Le attività di benchmarking sul 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 come quello gestito da ISBSG 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.

Benefici del Benchmarking

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