Quanti bug aperti avete nel backlog? 100? 1000?
E da quanto tempo sono lì? Una settimana? Un mese? Anni?
E perché succede? Non c'è tempo? Ci sono compiti più prioritari? «Adesso realizziamo tutte le funzionalità urgenti, e poi avremo tempo per sistemare i bug»?
… Alcuni utilizzano la Zero Bug Policy, altri hanno una buona cultura nella gestione dei bug (aggiornano tempestivamente il backlog, rivedono gli errori in caso di modifica delle funzionalità, ecc.), e c'è chi forma degli maghi che scrivono senza bug (poco probabile, ma forse accade anche questo).
Oggi vi parlerò della nostra soluzione per la pulizia del backlog dei bug — il progetto «Bug Lab».

Da dove è iniziato tutto?
Rivedendo ancora una volta il backlog in continua espansione dei bug aperti, siamo arrivati al punto di ebollizione. Non si poteva andare avanti così, abbiamo deciso di ridurlo a tutti i costi. L'idea è ovvia, ma come attuarla? Ci siamo accordati sul fatto che il modo più efficace sarebbe stato un evento simile a un hackathon: staccare i team dalle attività quotidiane e dedicare 1 giorno lavorativo solo alla risoluzione dei bug.
Abbiamo redatto un regolamento, lanciato un appello e siamo rimasti in attesa. C'erano timori che i partecipanti sarebbero stati pochi, molto pochi, ma il risultato ha superato le nostre aspettative: ben 8 team si sono iscritti (anche se all'ultimo momento 3 si sono ritirati). All'evento abbiamo dedicato un'intera giornata lavorativa di venerdì, e prenotato una grande sala riunioni. I pranzi sono stati organizzati presso la mensa aziendale e per gli spuntini abbiamo aggiunto dei biscotti.
Implementazione
La mattina del giorno X abbiamo radunato tutti i volontari nella sala riunioni e abbiamo tenuto un breve briefing.

Le regole principali:
- in un team competono da 2 a 5 persone, almeno uno di loro è QA;
- i bug devono essere chiusi da un membro del team secondo tutti gli standard di produzione interni;
- ogni team deve avere almeno un bug chiuso che richiede modifiche nel codice;
- si possono correggere solo bug vecchi (data di creazione del bug < data d'inizio del Bug Lab — 1 mese);
- per i bug corretti vengono assegnati punti (da 3 a 10) a seconda della criticità (per evitare imbrogli, non si può modificare la criticità dopo l'annuncio della data del Bug Lab);
- per la chiusura di bug obsoleti o non riproducibili viene assegnato 1 punto;
- il rispetto di tutte le regole è monitorato da un team di audit, che annulla i punti per i bug riaperti.

Altri dettagli
- Non abbiamo limitato nessuno nella scelta della location: si poteva rimanere al posto di lavoro o sedersi tutti insieme nella sala riunioni, dove gli altri non venivano distratti e si sentiva la tensione crescente.

- Per supportare lo spirito competitivo, è stata visualizzata una classifica su un grande schermo e nel canale Slack c'era una costante trasmissione testuale del combattimento. Per il conteggio dei punti abbiamo utilizzato una leaderboard, aggiornato tramite webhook.

Leaderboard
- Un team di audit ha monitorato il rispetto di tutte le regole (per esperienza, bastano 1-2 persone per questo).
- Un'ora dopo la fine della Bugadelia sono stati annunciati i risultati verificati.
I vincitori hanno ricevuto un buono regalo per un bar, mentre tutti i partecipanti hanno ricevuto un souvenir (portachiavi con "bug").

Risultati
Negli ultimi sei mesi abbiamo già organizzato tre Bugadelie. Cosa abbiamo ottenuto alla fine?
- Numero medio di team: 5.
- Numero medio di bug elaborati: 103.
- Numero medio di bug non pertinenti/non riproducibili: 57% (eppure questa spazzatura colpiva costantemente gli occhi e spaventava per la sua quantità).

Momento dell'annuncio dei risultati
E ora la risposta alla domanda più insidiosa che tutti amano porre: «Quanti nuovi bug avete trovato?».
Risposta: non più del 2% di tutti quelli elaborati.
Feedback
Dopo la Bugadelen abbiamo raccolto feedback dai partecipanti. Ecco le risposte alla domanda «Cosa ti è piaciuto di più del processo di partecipazione?»:
- È fantastico esaminare il backlog con tale motivazione! Di solito è un processo molto noioso, sarebbe bello farlo regolarmente).
- Competizione, biscotti.
- È un'opportunità tanto attesa per sistemare quelle piccole cose che non sono critiche, ma che si desidera aggiustare.
- Mi è piaciuto che finalmente fosse possibile risolvere bug vecchi e fastidiosi al di fuori dello sprint, per questi non ci sarà mai tempo poiché ci saranno sempre compiti con priorità più alta. Siamo riusciti a riunire in un unico posto tutte le persone necessarie (nella nostra squadra c'era un DBA, ad esempio), abbiamo discusso collettivamente l'attualità dei bug in questione e la possibilità tecnica di correggerli.
Conclusione
La Bugadelia non è una panacea, ma è un'opzione perfettamente praticabile per ridurre il backlog dei bug (da 10 a 50% in diverse squadre) in un solo giorno. Questo evento ha preso piede grazie a ragazzi motivati, che si preoccupano per il prodotto e si prendono cura della felicità dei nostri utenti.

A tutti auguro tutto il meglio e meno bug!
Fonte: habr.com
