Il ruolo dello Scrum Master (SM) è piuttosto nuovo, soprattutto in Italia. Infatti non è facile trovare persone che nel proprio curriculum abbiamo lavorato in questo ruolo.
Sicuramente non è chiaro, per le aziende che vogliono iniziare ad usare Scrum, chi possa fare lo Scrum Master. Mike Cohn in “Succeeding with Agile” fa alcuni ragionamenti su come alcune figure pre-esistenti, tipo Project Manager, Tech Lead, etc… possano “riciclarsi” come Scrum Master, ma alla fine il risultato è sempre lo stesso: nessuna delle figure attuali ha tutte le caratteristiche necessarie.
Buone descrizioni dello SM sono presente pressoché ovunque in letteratura (ad esempio la “Scrum Guide” di K. Schwaber), ed ognuno ne evidenzia alcune sfaccettature. Scriviamo alcune caratteristiche (davvero solo alcune) e proviamo a descriverle:
- è colui che si assicura che Scrum sia fatto bene (“Master” dello Scrum)
- è un “servant” leader
- facilita la self-organisation
- stimola il team affinché aumenti la sua produttività
Lo Scrum Master come Coach di Scrum
Sembra scontato, ma non sempre lo è, soprattutto quando, al momento della transizione verso Scrum ci si chiede “Chi può fare lo Scrum Master?”. La prima risposta solitamente è: “Prendo il capo e lo faccio diventare SM”. Errore! Lo SM deve essere una persona appassionata di metodologia e che almeno abbiamo manifestato il desiderio di crescere in quella direzione. Deve essere una persona capace di facilitare l’adozione delle pratiche Scrum, non di imporle. E deve trasmetterne al Team l’importanza e il significato.
Lo Scrum Master come servant leader
Un’altra cosa importante da considerare quando si sceglie uno SM è il tipo di leadership che è solito trasmettere alle persone. Persone autoritarie sono di solito inadatte a questo ruolo. Il concetto di “servant leadership” è allo stesso tempo semplice ma difficile da trovare. Lo SM è facilitatore del team, agevola il lavoro, rimuove gli impedimenti che il team trova durante lo Sprint, parla con le persone e le consiglia sulle scelte difficili. Non impone le sue idee (comprese quelle sullo Scrum) ma fa sì che il team le capisca e le assimili. Sicuramente è una persona autorevole, non autoritaria.
Lo Scrum Master come facilitatore della self-organisation
Questo è uno dei compiti più difficili dello SM. I team sono spesso abituati a ricevere lavori e richieste in modalità “push”, ovvero: “tu mi dici cosa devo fare e io lo faccio”. Tendono spesso a sedersi sul fatto che c’è un capo che prende le decisioni e sono smarriti quando ad un certo punto (ad esempio con l’adozione di Scrum) qualcuno dice loro che le loro responsabilità sono aumentate, che alcuni problemi devono risolverli da soli. Sono spesso abituati ad un rapporto “one-to-one” con il capo.
Lo Scrum Master deve insegnare al team a vivere come un’unità sociale autonoma. Deve istruirli e guidarli su come si lavora insieme, come organizzarsi per sviluppare le feature che il Product Owner richiede, come affrontare il concetto di cross-funzionalità; e deve far passare il concetto che non c’è qualcuno che risolverà i loro problemi, i loro conflitti: i primi responsabili di come il team lavora saranno loro.
Lo Scrum Master come spinta alla produttività
E’ lo SM che in Scrum spinge il team ad aumentare la sua produttività. Detto così suona strano, soprattutto sapendo che lo stesso SM è anche quello che deve assicurarsi che il team lavori ad un passo sostenibile, senza straordinari, senza pressioni dall’esterno. Il problema è che normalmente si pensa che la produttività di un team dipenda da quante persone ci sono o da quanto lavorano o da quanto “non sono” lavativi.
Cosa fa quindi lo SM per stimolare la produttività, per aumentare la velocity di un team? Moltissime cose. Ne elenchiamo alcune:
- facilita l’adozione di pratiche tecniche (TDD, pairing, code review, ecc…) che aumentano la qualità del codice, riducono il numero di bug e quindi il tempo perso a mettere toppe al codice
- lavora con il team per ridurre al minimo gli sprechi come lavori lasciati a mezzo o fatti male
- istruisce il team sul concetto di debito tecnologico e su come vada evitato in qualsiasi modo
- pone l’attenzione sulla Definition of Done e si assicura che ogni feature la rispetti, facilitando fra l’altro l’adozione delle pratiche di testing
- spinge il team all’aggiornamento continuo, in modo che si utilizzino soluzioni software “moderne”
E’ evidente quindi come lo Scrum Master sia una figura molto diversa dal solito, lontana dal concetto di Capo o Boss, ma anche lontana dal Tech Lead che decide come si fanno le cose, o anche dal semplice Project Manager che in maniera “asettica” tira le fila di un progetto.