5 semplici azioni da compiere subito per dire addio ai ritardi nello sviluppo software
Guida pratica alla sopravvivenza di un progetto in ritardo. Come cambiare la percezione del cliente verso i tuoi rilasci“non riusciremo a consegnare il progetto nei tempi stabiliti“
Ti hanno affidato il progetto, ti ammazzi di lavoro per portarlo a termine nei tempi, ma nonostante tutto arriva il giorno in cui devi pronunciare quella maledetta frase.
Succede sempre così nello sviluppo software.
E’ una frase che non vorresti mai arrivare a dire davanti al tuo committente.
Sappi che, esattamente come te, anche il tuo committente non vorrebbe mai sentirtela dire.
L’aspetto positivo è che entrambi condividete lo stesso obiettivo.
E’ un punto di partenza, se ci pensi bene è un ottimo punto di partenza.
Possiamo lavoriamoci sopra, ma prima, facciamo un passo indietro.
Ho una domanda per te.
E’ ammissibile che una data di rilascio non sia rispettata?
NO.
una data di consegna non può essere mai e poi mai disattesa.
Ti spiego il perché.
Un processo può essere eseguito dividendo il lavoro in piccole attività.
dividi et impera dicevano i latini.
Se vuoi una regola pratica, ogni attività non dovrebbe richiedere più di 3 giorni di lavoro.
Intravedi il vantaggio?
Una segmentazione in piccole attività ti permette di completare frequentemente piccoli blocchi di lavoro (al massimo di 3 giorni come abbiamo detto).
E’ possibile che per la data di rilascio non riuscirai a completare tutte le attività schedulate, ma grazie a questa suddivisione, potrai consegnare quello che hai concluso.
Morale. Se anche solo riuscirai a completare una attività, potrai rispettare la data di consegna.
Un traguardo, piccolo ma pur sempre un traguardo.
Gianluca, se consegni una sola attività o non consegni affatto, il cliente sarà comunque incazzato.
Certo, ma stai comunque abbassando il rischio dello sviluppo software.
Seguimi.
Ipotizza di aver completato un processo monoblocco per il 90%.
Il giorno del rilascio, cosa potrai consegnare?
Niente.
Immagina invece di aver completato anche solo il 70% di tutto il processo, ma lo hai fatto avendo suddiviso il processo in piccole attività.
Cosa consegni questa volta*?*
Tutte le attività atomiche completate, praticamente il 70%.
Ti devo confessare una cosa. Ti ho preso in giro.
Si perché le percentuali non sono una metrica attendibile.
Le attività, anche quelle della stessa grandezza, non hanno lo stesso peso.
Anche se hanno la stessa grandezza.
E allora come la valutiamo una consegna?
Con il valore.
Il valore è la parola magica, la parola che cambia completamente la percezione del risultato finale verso il tuo cliente.
Al tuo committente interessa il valore del prodotto, non il numero di funzionalità.
Non ha senso! Il valore è un elemento astratto, non posso misuarlo!
Sbagliato!
Il valore ha una misura, si chiama ROI, Return Of Investment.
Non entriamo nel merito di come calcolare il ROI, per ora ipotizziamo di affidiamoci ad una valutazione dellordi’utilità fatta dalla figura che meglio conosce l’ambito business del progetto (probabilmente il Product Manager).
Ricapitoliamo.
Abbiamo capito che sminuzzando i processi in piccole attività atomiche riusciamo a consegnare di più.
Il prossimo passo è consegnare meglio.
Una volta che abbiamo suddiviso il lavoro in task più piccoli, con quale ordine li processiamo?
La regola è: scegli per prima l’attività che porta maggiore valore al tuo prodotto finale (ROI appunto).
Segui questa piccola accortezza ed il prodotto che otterrai alla consegna, sarà quello con il maggiore valore possibile.
Non solo, avrai diminuito l’impatto negativo sulle aspettative del tuo cliente.
Adesso possiamo dirlo, il rilascio è salvo (fiuuuu!)
Aspetta!
Ma siamo sicuri che abbiamo risolto tutti i problemi?
Non proprio.
E’ vero, abbiamo ottenuto il prodotto migliore rispetto al tempo che avevamo a disposizione.
C’è un però.
Chi ci garantisce che questo basti a soddisfare i requisiti minimi attesi dal nostro cliente?
Nessuno.
Lo so questa risposta non ti piace.
Purtroppo esistono imprevisti ed errori, ed entrambi influiscono sul risultato finale del nostro lavoro.
Siamo spacciati?
No. Errori ed imprevisti non possono essere eliminati.
Per tua – e mia – fortuna puoi gestirli in modo da diminuirne l’impatto.
Ci sono alcune accortezze a cui puoi fare attenzione.
Eccone 5 che puoi utilizzare sin da subito per migliorare l’impatto dei tuoi rilasci:
- se gestisci più progetti contemporaneamente, non spostare mai risorse da un progetto in sicurezza, verso uno in sofferenza: rischi di ritrovarti con due problemi invece di uno solo.
- creati un sistema di metriche che ti indichino in qualsiasi momento come lo sviluppo software sta andando: prima ti accorgi di un problema, meno impatti genereranno.
Immagina una valanga.
E’ più facile fermarla quando è a valle o non appena si è formata a monte? - fai scegliere al tuo committente un obiettivo da perseguire nel rilascio successivo.
Non cento, 1.
Ti faccio un esempio.
nel prossimo rilascio voglio il gestionale non è un obiettivo, nel prossimo rilascio voglio permettere al cliente di compilare le fatture è un obiettivo. - sminuzza le attività come un cuoco fa con la zucchine.
Più piccole sono le attività da pianificare, più facile sarà individuare quelle che hanno un impatto più basso rispetto all’obiettivo prefissato.
Esempio:
l’applicazione gestionale mostra nella area dell’utente una tabella a righe di colore alternato, contenete le fatture compilate ma non ancora emess_e
puoi spezzarlo in:
_l’applicazione gestionale mostra nell’area dell’utente una tabella contenete le fatture compilate ma non ancora emesse
e
la tabella delle fatture compilate e non ancora emesse sono mostrate in righe di colore alternate
Capisco, una bella tabella con le righe di colore diverso è più leggibile, ma concorderai con me che è meno importante rispetto a non mostrare proprio la tabella - sposta a rilasci successivi tutte le attività non strettamente necessarie al raggiungimento dell’obiettivo definito dal cliente.
Ti assicuro che potrai risparmiare almeno il 10% del tempo a disposizione.
Se finirai le attività indispensabili prima del rilascio, hai sempre tempo per (ri)aggiungere quelle opzionali.
Il quinto punto è il più importante. Determina gran parte del successo o meno del tuo rilascio.
Ti dico di più: è anche il più complicato: richiede di mettere da parte la nostra componente emotiva e non farci prendere dalla frenesia di dover concludere per forza tutto.
Quante di queste pratiche segui?
Tieni botta,
Gianluca