Personal tools
RedTurtle "nella mischia"

Cosa ci è rimasto della tre giorni di corso Scrum

Jul 16, 2012

RedTurtle "nella mischia"

Il motto aziendale recita: "agile.open.connected", quindi quale migliore occasione per approfondire questo tema e calarlo nella nostra realtà?

Il team di sviluppatori Redturtle ha partecipato al corso interno tenuto da Alberto Brandolini (aka @ZioBrando) riguardante la metodologia agile Scrum. Lo scrum (in italiano, mischia) è una metodologia agile di sviluppo del software, ideata e sviluppata da Ken Schwaber e Mike Beedle e oggi distribuita da Advanced Development Methods.

Ma non voglio spendere troppe parole su questo (chi volesse approfondire, sul web c'è un'ampia documentazione). Per noi, il discorso è un altro:

RedTurtle può adottare Scrum come metodologia interna di sviluppo software?

L'agilità di RedTurtle

Scrum è adottato in tantissime realtà, il più delle volte di medio-grandi dimensioni. Il concetto base di Scrum è quello di dividere il progetto in blocchi rapidi di lavoro (Sprint), finiti i quali si consegna una versione al cliente, e indica come definire i dettagli del lavoro da fare nell'immediato futuro (Backlog) per averne una definizione estesa; altro punto fondamentale sono le riunioni giornaliere del team di sviluppo (Scrum Meeting) per verificare cosa si è fatto e cosa si farà.

Ma come calare questa realtà all'interno di RedTurtle, che tutto sommato ha dimensioni modeste?

Progetti vs Team

RedTurtle può adottare Scrum ed essere agile?

La prima cosa che mi viene in mente è il numero di progetti in carico, in relazione alla potenza di fuoco che RedTurtle può mettere a disposizione in termini di team di sviluppo.

Se il prerequisito di Scrum è la creazione di team da 5 a 9 persone la risposta alla domanda è difficilmente/raramente.

RedTurtle dispone di macro-progetti su cui applicare Scrum?

Su questo possiamo dire che ne abbiamo in carico molti, quasi tutti di dimensioni medio-piccole (salvo qualche eccezione). Il project switching è il nostro pane quotidiano, nel senso che raramente si riesce a lavorare più di due giorni consecutivamente sullo stesso progetto. Prerogativa di Scrum è la focalizzazione del team per più iterazioni sullo stesso progetto.

La risposta è quindi: quasi impossibile.

E quindi, cosa c'entra RedTurtle con Scrum?

Niente paura: si può fare molto di più di quanto può sembrare!

Un modello ibrido?

Nella pura accezione del termine Scrum sembra inadottabile, ma vedere un esperto come ZioBrando all'opera (soprattutto durante le demo) ci ha aperto gli occhi e la mente: in verità si possono mutuare molti concetti di Scrum al fine di migliorare e rendere più efficienti i processi interni, tutte cose a cui non avevamo mai pensato, oppure che pensavamo secondarie:

  • razionalizzare lo spreco di tempo: non sempre ciò che conta è fare di più, ma è fondamentale diminuire il tempo che non porta valore al nostro lavoro. Quindi, evitare di scrivere documentazione inutile, stare concentrati senza distrarsi con email, internet, dedicare il tempo che serve allo studio e all'analisi dei problemi.
  • team auto-organizzanti: Scrum richiede che il team di sviluppo sappia organizzare il proprio lavoro in piena autonomia, abolendo de facto la figura del Project Manager e in generale di tutte le figure che calano dall'alto le decisioni. Questo RedTurtle lo può fare da subito, indipendentemente dal numero di componenti di un team.
  • adottare strumenti visuali: prerogativa di Scrum è l'utilizzo di strumenti visuali come board e post-it per rappresentare l'elenco delle attività da fare, in corso e completate, a scapito della documentazione tradizionale, delle mail e di tutti quegli strumenti che rendono farraginosa e poco chiara la situazione di un progetto. Molto meglio avere la fotografia istantanea dello stato di avanzamento delle attività.
  • rilasci frequenti al cliente: effettuare rilasci frequenti di codice di qualità (production-ready) fa si che il cliente sia soddisfatto e noti l'avanzamento del lavoro. Non importa la quantità di feature rilasciate, l'importante è vedere che periodicamente ce sono sempre più e soprattutto che funzionano!
  • retrospettive e daily scrum: analizzare a valle il lavoro fatto, scambiare periodicamente opinioni con il proprio team, per piccolo che sia, su quanto realizzato e sulle difficoltà incontrate aumenta la conoscenza e la consapevolezza del team stesso, quindi perché non adottare la retrospettiva e il daily scrum come appuntamento fondamentale?
  • assunzione di responsabilità: il team è chiamato a una gestione più autonoma, a partire dalle stime del lavoro da svolgere fino ad arrivare al rapporto con il cliente, al fine di eliminare o quanto meno ridurre i bottleneck che si hanno demandando tali attività a un'altra figura aziendale; in questo senso la responsabilità aumenta il fattore produttivo del team stesso, soprattutto in termini qualitativi.
  • maggior coinvolgimento del cliente: ovvero di colui che in Scrum è spesso individuabile come Product Owner; uno scambio continuo di informazioni, dallo stato di avanzamento del progetto alle demo di prodotto periodiche e pianificate, aiuta il cliente stesso a sentirsi coinvolto e ad apprezzare maggiormente il lavoro svolto (nonché a rilevare velocemente le problematiche), eliminando il tempo che si spreca attraverso i consueti canali di comunicazione aziendale.
  • apertura di canali di comunicazione diretta: nulla vieta di utilizzare canali supplementari di comunicazione diretta con il cliente (forum, feedback ecc.) sul funzionamento e gli aspetti di usabilità del prodotto.
  • stimare con il cliente (necessità vs complessità): non è detto che la cosa più difficile sia la cosa più necessaria, questo lo si capisce maggiormente (e lo si stima meglio) direttamente a contatto con il cliente, che è l'unico capace in fase di analisi di attribuire l'adeguato business value a una qualsiasi attività preventivata.
  • metodologia di lavoro e strumenti analitici: Scrum ha tutta una serie di tecniche per la gestione delle attività e dei metodi di lavoro del singolo programmatore, come la tecnica del pomodoro, nell'ottica di aumentare l'efficienza e la produttività personale. Altre invece (es. Team Skill Matrix) possono aiutare l'azienda a capire velocemente la propria situazione interna dal punto di vista delle competenze e individuarne i punti deboli.
  • valutazione comparativa: un fattore fondamentale nella vita del team diventa quello di migliorarsi continuamente, e questo lo si ottiene, per esempio, migliorando le stime che si fanno delle attività da compiere, soprattutto confrontandole tra loro.

In conclusione...

...RedTurtle esce dalla tre giorni di corso con rinnovato entusiasmo. Ci serviva veramente qualcuno che ci facesse capire, dati alla mano, come tante cose e tanti comportamenti apparentemente ininfluenti possano determinare non solo il buon esito di un progetto, ma il miglioramento continuo di noi stessi, come persone e come informatici; e soprattutto, come tutto ciò non sia assolutamente da sottovalutare.

Intanto aspettiamo con ansia il corso di Kanban tenuto sempre da ZioBrando, che promette di modellarsi un po' di più sulla figura di RedTurtle e che sicuramente ci fornirà ulteriori spunti. Stay tuned!

Filed under: , , ,
comments powered by Disqus