Uno dei miei primi acquisti online fu un notebook che ordinai dal sito di un’azienda famosa per assemblare i prodotti direttamente alla richiesta di acquisto del cliente. Dopo l‘acquisto non mi sono interessato ai processi che avrebbero guidato l’assemblaggio del mio notebook. Perché avrei dovuto? Avevo pagato per ottenere un prodotto di cui avevo letto tutte specifiche e che avevo espressamente scelto e perciò sapevo cosa aspettarmi. Diverso sarebbe stato se avessi voluto realizzare un abito su misura. In quel caso si che avrei avuto un ruolo attivo nella creazione del mio prodotto: il sarto mi avrebbe chiesto di scegliere il tessuto, avrebbe preso le mie misure, mi avrebbe fornito alcune opzioni tra cui scegliere riguardo le caratteristiche che avrebbe dovuto avere il mio abito. Mi avrebbe poi comunicato una data per la consegna e io sarei andato a ritirarlo. Tutto questo per assicurarsi che ciò che avrebbe confezionato si sarebbe adattato perfettamente a me.
La differenza tra i due esempi è fin troppo banale, ma mette in luce una realtà comune: a volte siamo portati ad accettare di essere coinvolti nella realizzazione di alcuni tipi di prodotto per il quale stiamo pagando e altre volte invece no.
Perché questo accade e quale strada dovresti seguire come cliente di un progetto di sviluppo software?
Il coinvolgimento del cliente in un processo di sviluppo software
Potrebbe essere allettante immaginare che assumere un team di sviluppo per realizzare un software personalizzato ricada nel primo dei due casi sopra citati. Purtroppo, la brutta notizia è che non è affatto così. In un progetto di sviluppo software è necessario che, come cliente, tu sia coinvolto in maniera attiva durante tutte le sue fasi o rischierai di ottenere un prodotto zoppo, che non ti soddisfa come avresti voluto. Che si tratti di sviluppare un software che rappresenta il cuore del tuo business o che serva ad automatizzare alcune funzioni aziendali, instaurare un rapporto di collaborazione continua con il tuo fornitore è l'unico modo che hai per garantirti un ritorno dell’investimento e aumentare l'efficienza dell’intero processo di sviluppo del software.
La verità è che se tenderai a disinteressarti dei passaggi intermedi (e sono tanti) che intercorrono tra la firma del contratto e la consegna del software, arriverai a fine lavoro senza avere la consapevolezza del perché certe decisioni sono state prese (ad esempio perché si è scelto di sviluppare alcune funzionalità piuttosto che altre), ti mancherà il quadro d’insieme e non sarai soddisfatto del risultato finale. I passaggi intermedi in questo caso rappresentano le implementazioni delle singole funzionalità, la raccolta di feedback da parte tua su ciò che deve essere implementato e i cambi di direzione dovuti alle tue esigenze aziendali. Questi step noi li affrontiamo attraverso gli sprint di sviluppo tipici della metodologia agile per lo sviluppo software. Purtroppo capita che il cliente preferisca non partecipare in maniera costante durante questi passaggi intermedi o deleghi questo compito a persone, interne o esterne alla propria azienda, che non hanno le competenze o l’autorità per prendere decisioni di questo tipo. Questo porta, nel medio termine, a non essere allineati sugli obiettivi attesi e ad un’insoddisfazione del cliente data dalla mancanza di una chiara visione e del perché sono state prese certe decisioni piuttosto che altre.
In questo articolo ti spiego perché tu non dovresti essere quel tipo di cliente.