Waffle.io la kanban board che ama github

Waffle.io

Ad un recente evento DevMarche ho assistito ad un interessantissimo talk di Mauro Servienti dal quale ho portato a casa un sacco di spunti e di riflessioni. Tra le tante cose ho scoperto l’esistenza di waffle.io e non ho resistito alla tentazione di metterlo subito alla prova.

Waffle.io si definisce così:

Waffle is a free project management solution powered by your GitHub Issues & Pull Requests.

Sostanzialmente si tratta di una Kanban board, generata però dalle issues di un repository Github. Esistono diversi strumenti di questo tipo, che cercano di migliorare la gestione del progetto, usando github come base di partenza. Il problema di molti tool di questo tipo è che cercano di aggiungere metadati di qualche tipo alle informazioni già presenti in github, creando primo o poi dei problemi di sincronismo di qualche tipo (su questo prendo per buona l’esperienza di Mauro, dato che io non ne ho), mentre waffle.io renderizza la kanban utilizzando solamente dati presenti su github. Personalmente prima di scegliere Waffle.io ne ho provati velocemente alcuni ma questo è quello che mi ha convinto di più per semplicità di gestione ed efficacia. 

Rispetto a kanban dedicate waffle.io non prevede alcune funzionalità (ad esempio non si possono configurare swimlanes), ma nel complesso la facilità di configurazione paga e il tool fa bene il suo lavoro.

Il flusso di lavoro con Waffle.io

La posizione di una card in una certa colonna è determinata dalle sue etichette. Potete aggiungere o rimuovere le colonne a piacimento e definire quale etichetta deve avere una certa issue per essere visualizzata in una data colonna.  Oltre a questo, certe azioni determinano il punto di ingresso delle nuove card. Ad esempio una PR aperta da un collaboratore del repository può produrre la creazione di una card in una certa colonna, mentre la creazione di una PR da parte di un contributor può produrre una card in una colonna diversa. Anche queste regole d’ingaggio sono configurabili tramite un’interfaccia veramente ben fatta.

Molto interessante anche la possibilità di linkare una issue ad una PR correlata in modo da visualizzarla come una singola card. Anche in questo caso waffle.io non ti impone dei vincoli, ma delle opzioni configurabili e degli automatismi. La documentazione riguardo il workflow è chiara ed esaustiva 😉

Una volta memorizzate poche regole, i termini da usare per linkare PR e issues il gioco è fatto.

Dato che waffle.io è semplicemente una visualizzazione diversa delle issues di github è possibile lavorare indipendentemente dall’interfaccia di github o dalla kanban. Spostare una card trascinandola da una colonna all’altra o cambiare la sua etichetta avranno lo stesso risultato, non rischi mai di avere informazioni differenti da una delle due parti.

Se vuoi vederlo all’opera in un progetto opensource puoi seguire la kanban di idephix 😉