Utilizzare i flussi di lavoro Agile per divertirsi e guadagnare

Tutti odiano il "processo", ma ammettiamolo: senza un flusso di lavoro consolidato, non si va da nessuna parte velocemente.

Dan Radigan Di Dan Radigan
Esplora argomenti

Riepilogo: Un flusso di lavoro Agile è composto da una serie di fasi necessarie ai team Agile per sviluppare un'applicazione, dall'ideazione al completamento.

Ogni team software segue un processo per completare il lavoro. La normalizzazione di tale processo, ovvero la sua definizione come flusso di lavoro, lo rende chiaramente strutturato e ripetibile, il che, a sua volta, lo rende scalabile. In Atlassian, adottiamo un approccio iterativo alla gestione del flusso di lavoro perché ci aiuta a raggiungere i nostri obiettivi più velocemente ed esemplifica la nostra cultura di team. Siamo esperti nella gestione Agile del flusso di lavoro (se lo diciamo noi stessi) e vogliamo aiutare anche te a diventare esperto in materia.

Primi passi per la realizzazione di flussi di lavoro Agile

Quando implementi un flusso di lavoro per il team, inizia sempre a piccoli passi. Combatti la tentazione di trascorrere settimane (o anche più tempo) a progettare il flusso di lavoro. Flussi di lavoro troppo complessi sono difficili da comprendere e adottare, per non parlare del loro adattamento. Per i team software, consigliamo questi stati del flusso di lavoro di base:

Da fare

Lavoro non ancora iniziato

In corso

Lavoro esaminato attivamente dal team

Revisione del codice

Lavoro completato e in attesa di revisione

Completati

Lavoro completamente finito e in linea con la definizione di "completato" del team

In uno strumento di rilevamento dei ticket, questi stati scorrono da uno all'altro tramite transizioni che strutturano il flusso di lavoro.

Flusso di lavoro Agile | Agile Coach Atlassian

Alcuni team software includono stati aggiuntivi nel flusso di lavoro che li aiutano a monitorare lo stato del lavoro in modo più preciso.

In attesa del controllo di qualità

Lavoro implementato, ma ancora in attesa di revisione da parte del tester (vedi il nostro articolo sui test Agile per maggiori dettagli).

Pronto al merge

Codice che è stato rivisto ed è pronto per il merge nel branch principale o nel branch di rilascio.

Ogni stato del flusso di lavoro non deve essere gestito necessariamente da una persona diversa. Man mano che un team Agile matura, gli sviluppatori gestiscono sempre più lavoro, dalla progettazione fino alla consegna. Dopo tutto, un team autonomo in grado di gestire lavori eterogenei è uno dei tratti distintivi dell'agilità.

Discuti ogni punto dolente nella retrospettiva del team e tieni presente che ogni team avrà valori leggermente diversi in base al progetto, allo stack tecnologico e al metodo in cui preferisce lavorare. Ecco perché è importante scegliere uno strumento di rilevamento dei ticket che abbia una configurazione flessibile del flusso di lavoro. Troppi team compromettono il loro stile di lavoro per adattarsi a un particolare set di strumenti, il che è frustrante per tutti. Ciò può indurre i membri del team a evitare di utilizzare del tutto quello strumento, aggravando la frustrazione in tutto il team e generando solitamente il caos. E quando il morale va giù, la produttività ne risente. È un doppio smacco che tutti vogliamo evitare!

I team che non conoscono l'approccio Agile o che non hanno competenze interfunzionali spesso finiscono con l'aggiungere mini processi a cascata al loro flusso di lavoro. Ad esempio, il team di progettazione dà il via a un elemento di lavoro con un mockup. Il team di sviluppo si occupa dell'implementazione. Quello di test conferma la qualità. Ogni stato è bloccato fino al completamento dello stato precedente. Suona familiare? È l'approccio a cascata. Ma possiamo fare molto meglio con i flussi di lavoro Agile per sbloccare il lavoro dei team e semplificare notevolmente lo sviluppo.

Ottimizza il flusso di lavoro

Dopo aver acquisito dimestichezza con il flusso di lavoro di base, se vuoi puoi personalizzarlo creando stati per ogni tipo di lavoro nel processo del team. Ideazione, progettazione, sviluppo, revisione del codice e test sono diversi dal punto di vista delle funzioni e possono essere stati individuali. Punta a una serie snella di stati che comunichino chiaramente in quale fase si trova il lavoro.

Gli stati del progetto possono anche essere condivisi con il resto dell'organizzazione. Quando crei un flusso di lavoro, pensa alle metriche per le quali è importante creare report e ai membri esterni al team che potrebbero essere interessati a conoscerle. Ad esempio, un flusso di lavoro ben progettato risponde alle seguenti domande:

  • Quale lavoro ha completato il team?
  • Il backlog del lavoro è in aumento o è allineato al team?
  • Quanti elementi ci sono in ogni stato?
  • Ci sono colli di bottiglia che rallentano il team?
  • Quanto tempo ci vuole per completare un task medio?
  • Quanti elementi di lavoro non hanno superato i nostri standard di qualità la prima volta?

Il passo successivo per ottimizzare il flusso di lavoro è garantirne la costanza. I limiti WIP impongono un numero minimo e massimo di ticket in un particolare stato del flusso di lavoro, facendo in modo che ogni stato contenga abbastanza lavoro per mantenere il team pienamente utilizzato, ma non così tanto da perdere la concentrazione perché i membri del team devono passare da una priorità all'altra. L'applicazione dei limiti WIP mostrerà rapidamente quali processi rallentano il lavoro complessivo nella pipeline. Man mano che il team impara a ottimizzare il lavoro in base ai limiti WIP, la produttività aumenterà (per ulteriori dettagli, vedi l'articolo sui limiti WIP).

Le sfide della scalabilità del flusso di lavoro

Le organizzazioni con molti team Agile devono affrontare sfide speciali legate ai flussi di lavoro. I team spesso desiderano ottimizzare il proprio flusso di lavoro in modo che rifletta il loro processo e la loro cultura unici. Per quanto ciò sia perfettamente comprensibile, può creare difficoltà quando team diversi utilizzano processi diversi mentre lavorano allo stesso progetto.

I team Agile che collaborano possono trarre vantaggio dalla condivisione dello stesso flusso di lavoro. L'utilizzo dello stesso flusso di lavoro può semplificare il passaggio del lavoro tra i team Agile, poiché questi utilizzano le stesse convenzioni per la definizione e la consegna del lavoro. La creazione di un processo comune di solito richiede dei compromessi da parte di entrambi i team. Ma questa è una cosa positiva! I team impareranno gli uni dagli altri e alla fine avranno un flusso di lavoro migliore.

Suggerimento

Con Jira Software, lo strumento di rilevamento dei ticket di Atlassian, i team possono condividere i flussi di lavoro ma avere rappresentazioni diverse del processo sulla loro board Agile. Questa possibilità porta a opzioni di visualizzazione flessibili senza sacrificare la risorsa condivisa del flusso di lavoro.

Indipendentemente dall'aspetto del flusso di lavoro, anche il processo di sviluppo dovrebbe essere Agile. Discutine di tanto in tanto nelle retrospettive e adattalo man mano che la cultura e la composizione del team cambiano.