Nella nostra azienda diversi team lavoreranno contemporaneamente su diverse componenti di diversi progetti. Ad esempio, una squadra potrebbe rendere specifici tipi di software (o hardware) per alcuni progetti, un'altra squadra un altro tipo specifico di software. Utilizziamo i progetti Jira per ospitare i problemi relativi a progetti specifici e le schede Jira per gli sprint di diversi team.
Affrontiamo il problema di evitare la duplicazione del codice tra i progetti e abbiamo sviluppato una serie di librerie principali che utilizziamo in quei progetti. Mentre si lavora su un progetto, alcuni sviluppatori si renderanno conto che un pezzo di codice che hanno scritto è di maggiore interesse e dovrebbe essere estratto in una libreria di base, o che il codice di base che stanno usando ha un bug, necessita di più parametrizzazione o nuova funzionalità ... lo chiami.
Quindi creano un problema di libreria principale che entra nel backlog del core project. Tutti questi aspetti vengono esaminati, classificati in ordine di priorità e stimati in una riunione della biblioteca centrale (una volta alla settimana) e verranno affrontati in base alla loro priorità (insieme a questioni specifiche del progetto) in alcuni sprint futuri.
L'assegnazione delle priorità viene effettuata ordinando i problemi e inserendo un'etichetta sorted
sui problemi ordinati (in modo che possiamo cercare quelli non ordinati). Quindi abbiamo inserito manualmente un numero per componente principale nella parte superiore del backlog per poterli affrontare per primi. Quando alcuni team mettono un tale problema nello sprint, devono invece trascinare manualmente un altro oggetto nella parte superiore del backlog.
Questo è abbastanza incline agli errori. Fondamentalmente, quello che abbiamo sono gli stati dei problemi aggiuntivi "ordinati" e "stimati" tra "aperto" e "in corso". Riflettendo su questo attraverso l'etichetta sorted
e la loro posizione nel board è piuttosto macchinosa e soggetta a errori. (Ad esempio, se qualcuno sposta un problema in uno sprint su e giù, questo si rifletterà nella scheda madre, mescolando silenziosamente l'ordine dei problemi che il team avrebbe potuto decidere in una lunga discussione settimane prima.)
Quindi quale sarebbe un modo migliore per implementarlo?