Metodi e obiettivi di quantificazione

Misurare

Misurare è un'attività fondamentale che compiamo quotidianamente: You can't control what you can't measure afferma Tom DeMarco, informatico e ingegnere del software. Misurare serve a conoscere, a valutare e a decidere; è un'attività che è alla base della cibernetica[1].

Purtroppo le misure rischiano di essere distorte, a causa di semplificazioni e imprecisioni. Per accertare la bontà di una misura essa dev'essere oggettiva, cioè deve garantire:

Definizioni

Definiziamo la misurazione come il processo che assegna numeri o simboli a entità del mondo reale. Risultato di una misurazione è una misura. Infine, definiamo una metrica come un insieme di regole atte all'interpretazione di un sistema di unità di misura; ogni metrica fornisce anche delle procedure per compiere misurazioni.

Misurazione del software

Nella produzione di software, le metriche sono strumenti di valutazione e controllo. Cosa ci interessa misurare in questo ambito? ci interessa valutare lo stato di:

Gli attributi a cui le misurazioni assegnano valori stanno in due categorie:

La misurazione rischia di essere retrospettiva; ci interessa, invece, avere misure che siano il più vicino possibile al tempo di correzione: si deve misurare in modo proattivo, non reattivo.

Anche per la misurazione, ISO ha uno standard: ISO/IEC 15939. Questo standard afferma, a riguardo dei bisogni informativi, the information needs are based on goals, constraints, risks, and problems which originate from the technical and mgmt process. CMMI suggerisce di determinare tali bisogni nelle seguenti aree:

Ad esempio, il responsabile di progetto può essere interessato a misurare il lead time (cioè il tempo tra un ordine di sviluppo e la relativa consegna); e il lead time è inversamente proporzionale alla grandezza di ogni requisito, per cui un analista può essere interessato a misurare quanto sono grandi i requisiti, oltre a sapere quanto sono verificabili o quanto il prodotto soddisfa i requisiti.

Quando si trova un difetto, l'istinto sarebbe di correggerlo subito. Tuttavia sarebbe bene, prima, valutare il modo migliore per correggere il difetto con un buon rapporto beneficio/costi; questa è una misurazione che interessa chi si occupa della gestione dei cambiamenti (change management).

  1. La cibernetica si occupa del controllo di attuatori, grazie a misurazioni raccolte da sensori.