Vantaggi collaterali

Tra le metodologie di sviluppo software che si sono dimostrate valide ce n’è una particolarmente interessante per la realizzazione di prodotti su misura: si tratta dell’approccio basato sul concetto di Minimal Marketable Feature (MMF).

Una MMF è la funzionalità più piccola possibile che deve essere realizzata per fornire un valore al cliente.

La feature è qualcosa che viene percepito dall’utente come un valore ed è quindi marketable perché porta vantaggi al cliente sotto forma di aumento dei ricavi, riduzione dei costi, ritorno d’immagine, fidelizzazione, ecc. Inoltre  è minimal poiché se fosse ridotta anche di poco non fornirebbe più tale valore.

Nello sviluppo di applicativi su commissione l’approccio basato su MMF presenta non pochi vantaggi però, per fornire un contributo utile ai non addetti ai lavori, sorvoliamo su quelli tecnici e commerciali, come la qualità delle specifiche e un miglior modello contrattuale, per evidenziare due vantaggi collaterali che sconfinano nella psicologia.

TheDoctorIsIn

Stabilizzare l’obiettivo

Nei progetti di piccole e medie dimensioni non è raro che una funzionalità sia definita solo in base all’obiettivo da raggiungere realizzandola con uno sviluppo incrementale e (micro)iterativo. In tal modo si ottengono quasi sempre buoni risultati in termini di tempi e costi di realizzazione.

Se però la funzionalità non è messa subito in produzione, in modo da diventare uno strumento utilizzabile dagli utenti, c’è il rischio che questi elaborino altri metodi per raggiungere il risultato voluto, spesso più tortuosi, o che tentino, magari involontariamente, di incorporarla all’interno di altre funzionalità non ancora realizzate.

La conseguenza è un progetto il cui l’obiettivo continua a cambiare, anche se di poco, con effetti negativi sui tempi e i costi di realizzazione e, soprattutto, sulla qualità del prodotto.

Stabilizzare il contesto

Non è raro che un software per la gestione delle informazioni venga realizzato come parte di un processo di riorganizzazione aziendale, spesso coincidente con un aggiornamento tecnologico. Un esempio tipico è il passaggio dal foglio elettronico gestito da un singolo utente a una piattaforma web di condivisione ed elaborazione dei dati.

In teoria sono le procedure e il contesto in cui esse nascono a influenzare il prodotto software che consentirà di metterle in pratica. In realtà l’influenza è reciproca.

La (ri)progettazione delle procedure aziendali è un processo per fasi caratterizzato da revisioni anche consistenti; se durante tale processo sono disponibili alcune funzionalità dell’applicativo, queste, attraverso un meccanismo di feedback, possono influire sul processo confermando o smentendo precocemente la validità delle scelte e stimolando la nascita di nuove soluzioni ispirate dall’utilizzo in ambiente di produzione.

Inoltre, similmente a quanto detto per la stabilizzazione degli obiettivi, disporre al più presto di alcune funzionalità contribuisce a evitare che la progettazione delle procedure aziendali entri in un ciclo infinito di revisioni.