Spesso i team con cui lavoro stanno piuttosto attenti ad evitare sprechi di tempo, cercare di evitare riunioni inutili, sostituire tool che ci rallentano, scegliere le tecnologie che ci possono rendere più efficienti..
E sono indubbiamente tutte cose positive, però c’è una cosa meno evidente che rischia di rendere vani i nostri sforzi: l’attesa.
Proviamo ad analizzare il tempo di una lavorazione di una funzionalità da parte di uno sviluppatore in un’azienda strutturata con un team di design, un team di sviluppatori ed un esperto di dominio esterno.
Una funzionalità viene richiesta e descritta (30 minuti)
La funzionalità attende in coda per il design
Un designer prepara i wireframe per la funzionalità richiesta
La funzionalità attende in coda per lo sviluppo
Uno sviluppatore inizia a sviluppare, ma c’è un punto che non era stato considerato
Attesa di poter parlare con lo stakeholder che aveva richiesto la funzionalità
Lo sviluppatore parla con lo stakeholder e capisce che c’è una modifica da fare al design
Attesa in coda per il design
Il designer rifinisce il design secondo le nuove esigenze
ecc.
Ci impegniamo a ottimizzare i tempi di lavorazione, ma sono quelli di attesa che sovrastano gli altri. Se avete mai provato a fare un Value Stream Mapping, ve ne sarete accorti da soli.
Come si risolve?
Il problema sono chiaramente le dipendenze tra i team. Le soluzioni possono essere varie, a volte creare team crossfunzionali è una buona idea, ma un’altra soluzione che mi piace molto è permettere alle persone di essere autonome, di rendere la tua azienda una sorta di “self-service“.
Vi faccio un po’ di esempi in cui mi è capitato di aiutare persone a diventare più autonome:
Un cliente aveva le pagine delle FAQ modificabili solo dagli sviluppatori, questo faceva sì che le modifiche alle FAQ andassero in coda a tutte le altre richieste. È bastato usare un sistema esterno per rendere facile l’aggiornamento e permettere ad esempio anche al team del supporto di aggiungere FAQ man mano che ne emergeva l’esigenza.
Il marketing è un altro esempio di team che rischia di essere meno efficiente se non ha la possibilità di aggiornare le landing page in autonomia dai designer e sviluppatori. Magari non saranno così perfette come se avessero collaborato tutti assieme? Possibile, ma spesso fatto è meglio di perfetto. In particolare quando vuoi fare esperimenti veloci, per perfezionare poi c’è sempre tempo.
Anche il team di sviluppo si può rendere un po’ più autonomo dai designer se gli si da una style guide (come quella di mailchimp ad esempio), da cui prendere i componenti che gli servono per delle modifiche minori.
E tutto questo è importante sopratutto per rendere facili l’evoluzione delle cose, perchè se per modificare una cosa devo coordinare 3 team, stai sicuro che se posso evitarlo lo evito. Ed è così che le FAQ diventano obsolete, si fanno pochi esperimenti con le landing page, ecc.
Come al solito ci sono vari trade-off che si possono fare, magari il marketing modifica la landing page da solo e poi chiede una approvazione veloce ai designer, non è necessario arrivare sempre ai livelli estremi.
C’è qualcosa in più che potresti rendere self-service nella tua azienda?
P.S. Sto pensando di intervistare qualche piccola azienda di prodotto, per dare la possibilità di diffondere un po’ di esperienze diverse. Se conosci qualche azienda interessante che pensi dovrei intervistare, o vuoi proporre la tua rispondi a questa email e parliamone!
A livello micro, pensa nel lavoro dello sviluppatore quanta parte della giornata viene spesa a fare valore aggiunto (mani sulla tastiera) in confronto al tempo speso in riunioni/discussioni/pause. Forse e' il 50%, se va bene. Poi pensa, del tempo che si suppone a valore aggiunto, con le mani sulla tastiera, quanto tempo viene perso a guardare lo schermo in attesa che l'applicazione riparta o che i test girino, o a riportare l'applicazione nello stato che ti serve per fare una certa prova. Sono tempi a volte dell'ordine del minuto, ripetuti decine e centinaia di volte durante la giornata, che portano via agli sviluppatori una fetta del loro tempo migliore, quello in cui si suppone che facciano valore aggiunto!!!
Pietro, secondo me un esempio da portare alla ribalta potrebbe essere Iubenda.