La Metodologia Scrum e i vantaggi per il cliente

La metodologia Scrum e i vantaggi per il cliente

Riuscire a spiegare in maniera semplice la metodologia Scrum non è impresa facile. Tuttavia si tratta del framework di sviluppo software sul quale si fonda il metodo BitBoss, pertanto in questo articolo proveremo a spiegare quali sono i vantaggi di questo modello per i clienti e gli utilizzatori finali.
Metodo scrum: frecce bianche e rosse su sfondo blu

Immaginiamo di avere come obiettivo quello di realizzare il maggior numero possibile di aeroplani di carta, tanti da riuscire a riempire la stanza di fogli volanti. Come potremmo procedere nella realizzazione di questo progetto, potendo disporre di un team per ottenere il miglior risultato nel minor tempo possibile?
Un fautore della metodologia Scrum direbbe che la chiave del successo sta nell’organizzazione dei ruoli che ricopriranno i singoli membri del team e nella pianificazione temporale del lavoro.
Il progetto dovrebbe svolgersi secondo un processo ben preciso, organizzato in cicli di lavoro brevi e ripetuti e ogni membro del team dovrebbe poi ricoprire un ruolo specifico.

Il processo

Il lavoro potrebbe essere organizzato in tre cicli da sei minuti, all'interno dei quali saranno costruiti gli aerei di carta. Ogni ciclo sarà a sua volta suddiviso in 4 fasi:

  • Plan: il team avrà a disposizione un minuto per pianificare come intende costruire gli aerei.

  • Do: nei tre minuti successivi verranno realizzati quanti più aerei possibile e sarà verificato che possano effettivamente volare.

  • Check: due minuti saranno poi utilizzati per capire come migliorare il processo di produzione per il prossimo ciclo. Ogni membro del team dovrà chiedersi che cosa ha funzionato, che cosa è andato storto e di conseguenza cosa andrebbe migliorato.

  • Act:  in questa fase si dovrà capire come migliorare il proprio modo di lavorare basandosi sui risultati concreti e sugli input reali provenienti dall’ambiente per risultare più efficienti durante il ciclo successivo. 

Il team

Ogni membro del team dovrebbe avere un ruolo specifico. Tutti saranno ugualmente coinvolti e ognuno avrà un certo margine decisionale. Chi dirigerà i lavori non avrà il ruolo del capo, ma di leader facilitatore, concentrato più sull’eliminazione degli ostacoli che si presentano di volta in volta sulla strada del team piuttosto che sul dire agli altri quello che devono fare. Ecco come potrebbero essere suddivisi i compiti:

  • Una persona che chiameremo Product owner controllerà quanti aeroplani, tra quelli realizzati, riescono effettivamente a volare

  • Una persona chiamata Scrum master farà attenzione al processo, cercando di capire in che modo il team può realizzare aeroplani migliori o velocizzare la produzione.

  • Tutti gli altri comporranno il Team e si concentreranno sul costruire, nel tempo consentito, il maggior numero possibile di aeroplani che siano veramente in grado dì volare.

Ripetendo questo processo per 3 volte i miglioramenti tra un ciclo e l'altro saranno tangibili e significativi, portando il progetto ad ottenere il miglior risultato possibile. Ad ogni ciclo il team sarà sempre più veloce e reattivo nell’individuazione e nell’eliminazione degli ostacoli che di volta in volta si presenteranno. Secondo gli ideatori del metodo Scrum, questo principio vale per la realizzazione di qualunque prodotto: dagli aeroplani di carta a quelli veri, dalle automobili ai software.

L’idea fondante è quella di misurare esattamente ciò che si fa e quanto la si fa bene e di sforzarsi verso il miglioramento continuo. L'obiettivo non è solo quello di fare meglio una volta, ma di progredire in maniera costante, cercando sempre di limare e ritoccare i processi senza essere mai soddisfatti del punto in cui si è arrivati. 

Infografica metodo scrum: ruoli del team nel metodo scrum

Metodologia Scrum: cos'è?

Riuscire a spiegare in maniera semplice ed esaustiva un metodo complesso come Scrum, che fonda le sue basi su anni di sperimentazioni, successi e fallimenti non è impresa facile. Tuttavia si tratta del framework di sviluppo sul quale si fonda il metodo BitBoss, che utilizziamo quotidianamente per progettare e realizzare i nostri prodotti digitali. Proveremo quindi a spiegare quali sono i vantaggi di questo modello di realizzazione del software per i clienti e gli utilizzatori finali.

Scrum è una modalità di lavoro in team che, secondo i suoi ideatori ha una forte somiglianza con la mischia del Rugby, da qui il nome Scrum (mischia). La somiglianza è data dal fatto che in questo modo di lavorare non ci sono capi o leader, non ci sono rigidi schemi da seguire, ma è il team stesso che in modo autonomo e organizzato prende le decisioni sul momento, in base a quelli che sono gli input dell’ambiente esterno.
Quali sono quindi i vantaggi per il cliente finale, nell’adozione della metodologia Scrum?

Miglioramento continuo

Nella sua essenza, la metodologia Scrum si basa su un’idea piuttosto semplice: ogni volta che viene avviato un nuovo progetto è necessario controllarlo e monitorarlo regolarmente, verificando costantemente se si sta andando nella direzione giusta. Il progetto è veramente allineato con le richieste del cliente? Quanto è stato fatto finora è stato fatto nel modo giusto? Le evoluzioni future possono creare rallentamenti oppure si possono affrontare e assecondare?

Esattamente come nell’esempio degli aerei di carta, il concetto fondamentale è quello del miglioramento continuo. All’inizio di ciascun ciclo, che nel metodo Scrum viene chiamato Sprint, il team decide sulla base del ciclo precedente quanto lavoro crede di poter fare nel prossimo ciclo e da qui quanti e quali obiettivi possono essere portati a termine nell’arco di uno sprint, che solitamente copre due settimane di sviluppo. In questo modo si presume che ad ogni ciclo di lavoro il team possa migliorare imparando dagli errori del passato e diventare sempre più efficiente

Ad ogni ciclo, un prodotto immediatamente testabile

L'aspetto più importante che viene incorporato in questo metodo è quello di minimo prodotto vivibile. Alla fine di ogni Sprint al cliente viene fornito un prodotto immediatamente testabile, un prodotto che può toccare con mano e del quale può percepire il vero funzionamento. La metodologia Scrum non riguarda gli sviluppatori, ma i clienti e chi davvero dovrà utilizzare il prodotto, ed è per questo che ogni due settimane viene mostrato il prodotto vero al cliente. Alla fine di ogni ciclo il team di sviluppo tiene una vera e propria dimostrazione dei risultati raggiunti mostrando al cliente una demo che comprende tutto il lavoro fatto fino a quel momento. 

Questa è sicuramente la parte più potente del metodo, perché per loro natura le persone sono scettiche riguardo ai progressi riferiti ma non mostrati. Cosa c’è di meglio che dare effettivamente una dimostrazione pratica del prodotto al cliente?

Infografica con le 4 fasi dello sprint nel metodo Scrum

Gestione dell'incertezza

Il problema principale legato allo sviluppo dei software è che sai da dove parti ma non sai dove andrai a finire. I progetti spesso hanno una durata di diversi mesi o addirittura anni e capita molto spesso che i prodotti vengano consegnati in ritardo e che il budget venga sforato. Il più delle volte poi, il prodotto finale non si comporta come dovrebbe perché nel frattempo le necessità del cliente sono cambiate.
Questo avviene perché in un progetto di sviluppo software si cerca di minimizzare in anticipo l’incertezza, si creano dei piani pluriennali nel tentativo di fare previsioni prima che il progetto inizi. La speranza è quindi che tutto possa essere pianificato in anticipo. Questo modo di gestire il progetto però si fonda su una credenza errata, ovvero che le cose rimarranno invariate nel corso del tempo e che un progetto di lunga durata possa non subire evoluzioni. 

La realtà però è diversa, le cose cambiano, tutto si evolve. Nel mondo del software la realtà è mutevole e, ammettendo che si riesca a stare nei tempi prestabiliti, a quel punto è probabile che il cliente non voglia più quello che aveva chiesto all’inizio perché nel frattempo le sue esigenze sono cambiate.

Il metodo Scrum nasce per essere più flessibile e reattivo verso le esigenze del cliente partendo dal presupposto che l’incertezza non si possa eliminare. In Scrum il processo di sviluppo è visto come un flusso, come qualcosa di mutevole, che però viene scandito dai vari sprint e dal raggiungimento dei micro obiettivi, per seguire le fluttuazioni delle esigenze del cliente.

Scrum coglie l’incertezza come un fatto reale e la sfrutta per stimolare la creatività e innovare i processi anche tra un ciclo e l’altro dello stesso progetto. Questo perché incanala il modo in cui il team lavora veramente e non come si suppone debba lavorare secondo grafici e previsioni che puntualmente si dimostrano essere errate.

In sintesi

La metodologia Scrum è nata in un contesto molto specifico, legato allo sviluppo software. I processi e i principi che regolano questo metodo però lo rendono vantaggioso per qualunque tipo di azienda che si trovi ad affrontare la gestione di progetti innovativi e complessi.

Noi di BitBoss estrapoliamo i concetti di Scrum e li utilizziamo anche per altri aspetti aziendali che non sono legati direttamente allo sviluppo. Applichiamo per esempio il concetto di sprint per gestire il marketing e per la strategia aziendale.

Alcune persone utilizzano Scrum addirittura per organizzare la propria vita personale e i progetti individuali. I principi essenziali del metodo quali la visione d'insieme, la pianificazione, lo sprint e la verifica periodica dei traguardi sono infatti strumenti applicabili a qualunque contesto ed è proprio questa la forza del metodo che ne ha determinato il successo.

Davide Leoncino

Co-founder di BitBoss | Head of Marketing