Comprendere le politiche del flusso di lavoro Kanban

Kanban è una metodologia magra che aiuta i team di ingegneria a visualizzare il loro lavoro, limitare il lavoro in corso e migliorare continuamente i loro processi. Al centro di un efficace sistema Kanban sono politiche di flusso di lavoro ben definite - le regole esplicite che governano come i compiti si muovono da una fase all'altra. Senza politiche chiare, una scheda Kanban diventa solo una lista di to-do visiva, non fornendo la trasparenza e miglioramenti di efficienza le promesse del metodo.

Le politiche del flusso di lavoro servono come "sistema operativo" per il lavoro quotidiano del vostro team. Essi impostano le aspettative per quando un compito può essere tirato in una colonna, quali standard di qualità deve essere soddisfatta prima dell'avanzamento, e come gestire le eccezioni come il lavoro bloccato o le richieste urgenti.

Componenti chiave delle politiche Kanban efficaci

La progettazione di politiche Kanban robuste richiede un attento pensiero su diversi componenti interconnessi. Ciascun componente deve allinearsi con il contesto specifico del vostro team, sia che siate un piccolo team di startup o un grande gruppo di prodotti che lavora su un sistema maturo.

Limiti di lavoro (WIP)

Tenendo premuto il numero di compiti consentiti in una determinata fase, si costringe il team a finire il lavoro prima di iniziare un nuovo lavoro, riducendo il contesto di commutazione, accorcia il tempo di ciclo e mette in evidenza i colli di bottiglia quando una fase colpisce il suo limite.

I limiti WIP effettivi non sono arbitrari. Dovrebbero essere impostati in base alla capacità del team, alla natura del lavoro e al numero di persone disponibili per tirare le attività. Un punto di partenza comune è quello di impostare il limite WIP per ogni colonna al numero di persone che lavorano in quella fase (ad esempio, 2 per sviluppatore per "In Progress") Tuttavia, i team con compiti altamente interdipendenti possono beneficiare di limiti più stretti, mentre i team che gestiscono molti piccoli, elementi indipendenti possono solo scegliere.

Quando si raggiunge un limite WIP, il team deve smettere di tirare nuovi lavori e concentrarsi sul completamento delle attività esistenti. Questo principio "pull system" impedisce l'accumulo di lavoro parzialmente fatto e assicura che ogni compito riceva la massima attenzione. Nel tempo, il monitoraggio di quanto spesso i limiti WIP vengono colpiti rivela i vincoli di processo che possono essere affrontati attraverso cambiamenti politici o regolazioni di capacità.

Definizione di Fatto

Una chiara definizione di fatto (DoD) è essenziale per garantire qualità e coerenza in tutto il team di ingegneria. Senza di essa, i membri del team possono avere diverse interpretazioni di ciò che significa per un compito da completare, portando a rielaborare, problemi di integrazione e aspettative disallineamento con gli stakeholder.

Per esempio, un compito che si sposta da "Sviluppo" a "Code Review" potrebbe richiedere che tutti i test di unità passino, il codice compila senza avvisi, e lo sviluppatore ha eseguito un auto-review. Un compito che si sposta da "Testing" a "Done" potrebbe richiedere test di integrazione automatizzati di passaggio, un passaggio manuale di successo QA e documentazione aggiornata.

Evitate i doD generici come "codice è completo" o "lavoro di qualità". Invece, usate condizioni concrete e verificabili che possono essere controllate senza dibattito. Ad esempio, "Tutti i casi di prova nel pass suite di funzionalità" è meglio di "testare è fatto".

Stage di flusso di lavoro

Le colonne della scheda Kanban rappresentano le fasi che un compito passa attraverso dall'idea alla consegna.Le squadre di ingegneria comunemente utilizzano fasi come Backlog, Refined, In Progress, Code Review, Testing, Staging e Deployed. Tuttavia, le fasi esatte dovrebbero riflettere il processo effettivo del vostro team, non un ideale teorico.

Quando si progettano le fasi del flusso di lavoro, si consideri i seguenti principi:

  • Map the real process. Osserva come il lavoro scorre attualmente attraverso il team. Se c'è un handoff a un ingegnere QA anche se non è sulla scheda, è necessario una colonna QA. Se il team fa un continuo dispiegamento, una colonna "Deployed" potrebbe essere ridondante.
  • Le fasi di attesa si inclinano.[ Troppe colonne possono creare sovraccarico inutile e rendere la scheda ingombrata. Mirare per abbastanza fasi per catturare transizioni significative ma non così tante che la scheda diventa un labirinto. Sei a otto colonne è una gamma tipica per i team di ingegneria.
  • Fate delle transizioni esplicite. Ogni limite di freccia o colonna dovrebbe rappresentare un punto di decisione chiaro. Ad esempio, passare da "In Progress" a "Code Review" significa che lo sviluppatore ha terminato l'implementazione e richiede un feedback.

Considerate anche l'aggiunta di corsie "espedite" o "bloccate" per la gestione di lavori urgenti o di attività che non possono andare avanti. Una colonna esplicita "Blocked" costringe il team a affrontare impedimenti piuttosto che lasciarli rimanere invisibilmente.

Regole di prelievo

Le regole di pull definiscono quando e come un membro del team può tirare un nuovo compito nella loro fase. In un vero sistema Kanban, il lavoro non è "pushed" dai manager; è tirato dai membri del team in base alla capacità.

Le regole comuni di tiro includono:

  • Pull solo quando hai capacità.] Uno sviluppatore non dovrebbe avviare un nuovo compito fino a quando non hanno finito o consegnato tutto il lavoro corrente nella loro coda personale.
  • Pull l'elemento più alto della priorità dalla colonna successiva. Se gli elementi backlog sono prioritari, l'attività successiva tirato dovrebbe essere quella con il valore più alto del business o quella che sblocca altri lavori.
  • Non saltare le tappe. Ogni compito deve passare attraverso ogni fase in ordine. Eccezioni (ad esempio, un hotfix) dovrebbero seguire una politica di expedite predefinita che è ancora visibile e tracciata separatamente.

Per esempio, una politica di revisione del codice potrebbe indicare: "Ogni richiesta di pull deve ricevere almeno due approvazioni entro 4 ore dalla presentazione." Questo crea un accordo di livello di servizio (SLA) che mantiene il flusso in movimento e impedisce i colli di bottiglia nelle fasi di revisione.

Quando una regola è rotta (ad esempio, qualcuno tira un compito anche se il limite WIP è già raggiunto), dovrebbe essere visto come un segnale che la regola ha bisogno di regolazione o che il team deve riesaminare le proprie abitudini di lavoro.

Criteri di priorità

I team di ingegneria spesso lottano con richieste concorrenti: nuove funzionalità, debito tecnico, correzioni di bug e compiti operativi tutti si contendono l'attenzione. I criteri di priorità chiari nella politica Kanban aiutano il team ad allineare il loro lavoro quotidiano con obiettivi aziendali più ampi e impediscono compiti a basso valore di bloccare il lavoro ad alto impatto.

Le politiche di priorità efficaci includono:

  • Valore di attività punteggio.[] Utilizzare un framework semplice come sforzo vs. impatto per classificare gli elementi backlog. Lavorare con i proprietari di prodotti per stabilire una comprensione condivisa del valore.
  • Costo di ritardo. Per le attività sensibili al tempo, stima il costo dell'attesa. Un bug che causa il calo del cliente ha un costo più elevato di ritardo rispetto a un piccolo tweak dell'interfaccia utente.
  • Gestione della dipendenza.[] Priorizzano i compiti che sbloccano altri membri del team o team esterni, riducendo il tempo necessario e migliorando il throughput generale.
  • Emergency override. Definire un processo chiaro per accelerare le questioni critiche. Ad esempio, un bug di produzione critico può essere tirato direttamente in una corsia "Expedite" con un limite WIP separato, bypassando la normale priorità.

Molti team utilizzano una colonna "Prioritized Backlog" dove gli elementi vengono ordinati dall'alto (più alta priorità) al basso, e la regola pull semplicemente dice "sempre tirare dall'alto". Questo rende la priorità trasparente e riduce il processo decisionale soggettivo.

Progettazione di politiche personalizzate per il vostro team

Non esistono due team di ingegneria identici, quindi un approccio a cookie-cutter alle politiche Kanban funziona raramente. Le migliori politiche emergono da un processo collaborativo che coinvolge l'intero team, non solo il direttore di ingegneria. Iniziate con un workshop per mappare il flusso di lavoro attuale, identificare i punti di dolore e sognare potenziali miglioramenti.

I passaggi per la progettazione di politiche personalizzate:

  1. Aggiungi lo stato attuale. Su una lavagna bianca o usando uno strumento digitale, disegna ogni fase un'attività passa attraverso. Includere i handoff, i periodi di attesa e le approvazioni. Nota dove il lavoro viene bloccato o prende più tempo del previsto.
  2. Definire gli obiettivi.[] Cosa vuoi ottenere con Kanban? Ridurre il tempo di ciclo? Aumentare la predisposizione? Migliorare la collaborazione? Ogni obiettivo potrebbe richiedere un'enfasi politica diversa.
  3. Proporre esperimenti di politica. Sulla base dei punti di dolore, suggerisci uno o due cambiamenti politici. Ad esempio, se le recensioni dei codici sono un collo di bottiglia, potresti proporre un limite WIP di 2 per la colonna "Code Review" e un SLA di 6 ore per completare le recensioni.
  4. Accetto le metriche di successo. Come saprai se la politica funziona? Utilizzare risultati misurabili come il tempo di ciclo, il throughput o il numero di attività consegnate per sprint.
  5. Implementa gradualmente. Non cambiare tutte le politiche in una sola volta. Introdurre uno o due, eseguire con loro per 2-4 settimane, quindi valutare.
  6. Iterate basato sui dati.[] Utilizzare le metriche per decidere se mantenere, modificare o scartare una politica.

In questo modo, sottolineate che le politiche non sono regole rigide ma esperimenti volti a migliorare il flusso, incoraggiate tutti a sfidare le ipotesi e proporre alternative. Il buy-in del team è fondamentale; senza di esso, anche le politiche più progettate saranno ignorate o aggirate.

Pitfalls comune in Kanban Policy Design

Anche le squadre con esperienza possono cadere in trappole che minano i benefici di Kanban. Essere consapevoli di queste insidie ti aiuta a evitarle o recuperare rapidamente.

  • Molte regole.[] Le politiche di sovraingegneria possono paralizzare la squadra. Concentrati sulle poche regole che affrontano i più grandi punti di dolore. Puoi sempre aggiungere di più in seguito.
  • Politiche invisibili. Se le politiche esistono solo in un documento nessuno legge, diventano lettere morte. Rendere le politiche visibili sul bordo, nei comandi di chat di squadra, o come parte del modello di richiesta pull.
  • Ignorando eccezioni. Il lavoro reale è disordinato. Non tener conto di oggetti espedited, lavoro non pianificato, o emergenze porterà a rottura di regole e frustrazione.
  • Non rivisitare mai le politiche. Il contesto del team cambia: nuovi membri, progetti diversi, strumenti in evoluzione, quindi anche le politiche devono evolversi.
  • I limiti di WIP che sono troppo generosi. Impostare i limiti WIP più alti del team può gestire le sconfitte dello scopo. Tenere loro stretti e solo aumentare dopo aver osservato che il lavoro è in attesa a causa della mancanza di compiti.

Prevedendo queste insidie, è possibile progettare politiche robuste ma flessibili, aiutando il team a mantenere il flusso senza inutili burocratizzazione.

Monitoraggio e regolazione delle politiche

Un sistema Kanban non è mai "fatto". Le politiche efficaci richiedono un monitoraggio e una regolazione in corso basati sui dati e sul feedback del team.

  • Tempo di ciclo. Il tempo che un compito prende dall'inizio alla fine. Tempo di ciclo di abbreviazione è un obiettivo primario di Kanban.
  • Throughput.[] Il numero di compiti completati per unità di tempo (ad esempio, a settimana).
  • Diagramma di flusso cumulativo (CFD).[ Una rappresentazione visiva degli elementi di lavoro in ogni fase nel tempo. Il CFD rivela strozzature, squilibri WIP e salute generale del sistema.
  • WIP violazioni.[] Quante volte il team supera i limiti WIP? Le violazioni frequenti suggeriscono che i limiti sono troppo bassi, o la squadra non ha disciplina, entrambi sono segnali per l'azione.

In retrospettive, riesaminare i dati insieme e chiedere: "Cosa ci dice il CFD sul nostro attuale collo di bottiglia? Come possiamo regolare la nostra politica per affrontarlo?" A volte la risposta è un semplice tweak - aumentando o abbassando un limite WIP, aggiungendo una nuova colonna, o chiarindo un criterio DoD. Altre volte, potrebbe richiedere un cambiamento di processo più fondamentale, come ad esempio l'introduzione di velocità di codice

Trattare ogni cambiamento politico come ipotesi: "Se si riduce il limite WIP per 'In Progress' da 4 a 3, allora il tempo di ciclo diminuirà del 10%." Eseguire l'esperimento per due settimane, misurare il risultato e decidere se adottare, adattare o abbandonare il cambiamento. Questo approccio scientifico riduce il rischio di fare cambiamenti di spazzamento basati sull'intuizione da solo.

Il ruolo della visualizzazione nell'esecuzione dei criteri

Se una politica non è immediatamente visibile a ogni membro del team, è improbabile che venga seguita coerentemente. Strumenti Kanban moderni (come Jira Software, Trello, o ]Kanbanize]]]) consentono di integrare le politiche direttamente sul bordo, ad esempio, mostrando i numeri di WIP

Ma gli strumenti digitali non sono l’unico modo. Le tavole fisiche hanno un vantaggio: forzano il team a riunirsi intorno a loro, rendendo le discussioni politiche più interattive. Per le squadre distribuite, uno stand-up virtuale dove la scheda è condivisa sullo schermo può avere un effetto simile. La chiave è quella di rendere le politiche parte della conversazione quotidiana del team, non un ripensamento.

Una tecnica efficace è quella di utilizzare "policy linters"—controlli automatizzati nel sistema di controllo della versione o strumento di gestione del progetto che segnala le violazioni. Ad esempio, un robot potrebbe commentare una richiesta di pull se il limite WIP per la colonna di revisione è stato superato, o se la lista di controllo DoD è incompleta.

Scalare Kanban in più team di ingegneria

Quando più team di ingegneria adottano Kanban, il coordinamento diventa più complesso: ogni squadra può avere le proprie politiche, ma la coerenza tra l'organizzazione è necessaria per le dipendenze tra le squadre e la gestione del portafoglio.

Considerazioni chiave per la scalazione delle politiche Kanban:

  • Accetto una definizione comune di "fatto" per il lavoro che attraversa i confini del team. Se Team A completa un microservice e lo consegna al Team B per l'integrazione, il DoD deve includere tutti i test di accettazione approvati, la documentazione aggiornata e un contratto API firmato.
  • Utilizzare una coda di priorità condivisa per il lavoro a traverso] Questo impedisce a ogni squadra di ottimizzare localmente a spese del flusso di consegna complessivo.
  • I limiti standard WIP per le risorse condivise. Ad esempio, se un pool QA supporta più squadre, ogni squadra dovrebbe avere un numero massimo di compiti nella fase "Testing" in qualsiasi momento.
  • Hold riunioni di sincronizzazione regolari. Un incontro "Kanban dei Kanbans" dove il team guida la revisione del flusso generale, identificare le dipendenze e regolare le politiche tra le squadre possono essere inestimabili.

La scala richiede anche un grado più elevato di fiducia e trasparenza. Ogni scheda del team dovrebbe essere aperta agli altri, e metriche come il tempo di ciclo e il throughput dovrebbero essere visibili a livello organizzativo. Quando le squadre si fidano di ogni processo, possono collaborare più efficacemente e evitare di incolpare l'un l'altro per ritardi.

Conclusioni

Progettare politiche efficaci del flusso di lavoro Kanban non è un esercizio di una sola volta ma una pratica continua che si evolve con il vostro team e l'organizzazione. Concentrandosi su limiti WIP chiari, definizioni robuste di fasi di flusso di lavoro fatte, ben mappate, regole esplicite di pull, e criteri di priorità trasparenti, i team di ingegneria possono sbloccare il pieno potenziale del metodo Kanban.

Scegli una politica, come i limiti WIP, e applicala con il tuo team per qualche settimana. Misura l'impatto, discute i risultati e poi affina. Ripeti questo ciclo per ogni componente, coinvolgendo sempre il team nelle decisioni. Nel tempo, le tue politiche Kanban diventeranno una parte naturale del tuo ritmo di ingegneria, aiutandoti a fornire valore costantemente durante l'adattamento al cambiamento.

Per ulteriori informazioni sulle politiche e l’implementazione di Kanban, prendere in considerazione queste risorse: [] La guida di Atlassian ai limiti di WIP, la Lean Kanban University] per i materiali di certificazione, e la consulenza pratica che si trova in Guida Kanban di Scrum Teams[