Non lavoriamo a corpo
BitBoss, tranne rare eccezioni, non lavora a corpo.
Lavorare a corpo significa ricevere una descrizione di ciò che il cliente vuole sviluppare, stimare l’effort necessario per la realizzazione, definire un prezzo ed eseguire.
Non usiamo questo approccio perché, anche se spesso la funzionalità di un software può sembrare ben definita, nasconde un grado di complessità che è possibile chiarire solo poco prima dell’avvio dello sviluppo. Ciò può far crescere o diminuire il tempo di sviluppo preventivato di interi ordini di grandezza.
Questo vale per ogni singola funzionalità e un software è normalmente costituito da un numero molto elevato di funzionalità.
La somma delle rispettive incertezze fa sì che la stima di un progetto a corpo sia basata in larga parte su supposizioni.
Il fornitore che deve quotare un progetto è sempre portato a fare supposizioni al ribasso e a semplificare per mantenere basso il prezzo e aumentare le possibilità di chiudere un contratto.
Il committente, dal canto suo, sarà invece naturalmente incentivato a cercare di aggiungere complessità o dettagli che l’altra parte non aveva nemmeno immaginato.
Questo gioco di forze, anche se portato avanti in buona fede, a lungo andare porta a frizioni, malintesi e malcontento generale. Come conseguenza di questo rapporto, spesso ci si trova a dover discutere per capire se questo o quel dettaglio sia o meno incluso e dovuto all'interno del contratto.
Un altro effetto che spesso si verifica in questi casi, rappresenta quanto di peggio possa capitare durante lo sviluppo di un software innovativo: ci si ritrova contrattualmente vincolati a dover sviluppare funzionalità che spesso sono rese non più necessarie a causa di un cambiamento del contesto o della scoperta di migliori soluzioni alternative.
Veniamo invece al nostro approccio:
le funzionalità di cui parliamo prima della formulazione di un preventivo hanno invece per noi uno scopo diverso.
Ci permettono di capire quali sono gli obiettivi del cliente che abbiamo di fronte, di definire quale team di progetto è necessario per arrivare alla meta e quanto tempo è ragionevolmente necessario per raggiungerla.
Anche noi nella stima dei tempi dobbiamo fare delle supposizioni - spesso basate sulla nostra esperienza in contesti simili - ma non permettiamo che queste supposizioni creino successivamente i problemi che abbiamo sopra descritto.
Una volta definiti gli obiettivi, il team coinvolto e i tempi di lavoro si riparte dal foglio bianco.
A partire dall’inizio dei lavori avrai come cliente la libertà e la responsabilità di guidare la nave nella direzione giusta.
Durante il periodo stabilito sarà responsabilità collettiva cercare di andare il più lontano possibile, mentre sarà una tua precisa responsabilità fare in modo che quel team abbia le informazioni e le direttive per poter operare efficacemente.
Tu stai comprando il tempo e l’ingegno delle persone ed è tua responsabilità utilizzarli al meglio.
Il nostro compito sarà quello di darti gli strumenti per comprendere e monitorare l’avanzamento dei lavori oltre alle informazioni necessarie per schivare e aggirare gli ostacoli che si presenteranno di fronte a noi, senza avere il vincolo di una rotta tracciata in precedenza.
Ovviamente ciò di cui si è discusso prima dell’avvio dei lavori non viene dimenticato, perché sarà nostro compito non assecondare in maniera acritica i tuoi cambiamenti sostanziali di rotta nel caso in cui questi mettano in discussione la possibilità di arrivare alla meta che avevamo condiviso.