Ridimensionamento di una squadra di SCRUM troppo cresciuta

1

Backstory

Una squadra di mischia è ben definita. Hanno un PO, un mischia, uno scopo chiaramente definito. Il carico di lavoro aumenta, dal momento che sempre più progetti sono coperti e devono essere mantenuti, ma è sempre lo stesso ambito.

Problemi

Il team lotta con la capacità, quindi altri sviluppatori vengono aggiunti al team. Raccolgono, il lavoro viene svolto, ma la gestibilità della squadra diminuisce. Gli eventi di Scrum (stand up, grooming, pianificazione) durano a lungo, i piani sono meno precisi, e poiché i backlog di sprint sono più grandi, l'ordine di acquisto è sovraccarico.

Domanda

Vogliamo dividere il team di mischia in due o anche tre team di mischia, condividendo lo stesso ambito. L'ambito non può essere diviso. Vogliamo solo dividere il carico di lavoro. Poiché anche l'ordine di acquisto è sovraccarico, vogliamo introdurre un altro ordine di acquisto o addirittura due. Se lo facciamo, quali sarebbero le buone pratiche nell'organizzare l'arretrato generale e organizzare gli eventi di mischia, come la pianificazione? Come gestiamo, pianifichiamo, sincronizziamo i team in modo efficiente e sincronizziamo gli ordini di acquisto?

Domanda più precisa

Le OP creano i compiti in base all'input degli stakeholder. L'interfaccia verso gli stakeholder non cambia. L'arretrato complessivo del team rimane e gli stakeholder ci hanno inserito le richieste. Quindi gli OP elaborano le richieste e creano storie degli utenti. Dal momento che non vogliamo assegnare le storie degli utenti a sviluppatori specifici o addirittura a team in una fase iniziale, come organizziamo il grooming, in modo che i team abbiano la conoscenza degli elementi del backlog prima di pianificare, ma non di trasformare il grooming in una riunione di 20-30 persone?

    
posta Vladimir Stokic 02.12.2017 - 12:41
fonte

4 risposte

3

In breve:

Condividere lo stesso raggio di mischia tra diversi gruppi di mischia, solo per dividere il carico di lavoro, è contro lo spirito di mischia ed è destinato a fallire.

Inoltre, gli sviluppatori non sono solo una capacità intercambiabile per elaborare le storie degli utenti: gli sviluppatori accumulano conoscenza durante ogni sprint e la condividono all'interno del piccolo team. Questa conoscenza deve rimanere disponibile negli sprint successivi per garantire un'efficienza sostenuta.

Sarai certamente deluso di sentire questo. Ma fortunatamente c'è una speranza dalla parte del Nexus, se sei pronto ad adattare un po 'il tuo approccio.

Dettaglio: perché è contro i principi di mischia?

Il problema con il PO

Scrum si basa sul presupposto che un Product Owner (PO) è totalmente responsabile del prodotto nel campo di applicazione e decide in merito alle priorità. In base alla guida Scrum :

The Product Owner is responsible for maximizing the value of the product resulting from work of the Development Team.

The Product Owner is the sole person responsible for managing the Product Backlog.

Nella tua situazione il singolo PO è un collo di bottiglia. Quindi vuoi avere più PO. Ma poi le OP non sono più l'unico responsabile. E se ci sono diverse OP, hanno tutte la stessa comprensione (e proprietà) del prodotto?

Un paio di riunioni periodiche non risolveranno questo problema. O ci saranno tre OP che possiedono il prodotto con necessariamente una diversa comprensione del prodotto. O ci saranno un PO e due assistenti che non hanno più il potere richiesto. Questo non sarà più Scrum.

Il problema con i team

Uno dei principi di Scrum è che i team sono autonomi, si organizzano e hanno tutte le competenze per avere successo. Alcune citazioni dalla guida di Scrum:

teams have all competencies needed to accomplish the work without depending on others not part of the team.

Scrum recognizes no sub-teams in the Development Team

accountability belongs to the Development Team as a whole.

Di fatto, la tua organizzazione deve avere tre sottoinsiemi che sono corresponsabili per il prodotto in generale.
Rendere diversi team che lavorano sullo stesso ambito solo per dividere il carico di lavoro, si tradurrà in una squadra che dipende da un'altra (ad esempio se una squadra deve sviluppare un perfezionamento di una storia utente fatta da un'altra squadra). Perderai tutte le sinergie che Scrum cerca di raggiungere.

Il ridimensionamento di Scrum non è un problema!

Scrum of Scrum

La mischia della mischia è l'approccio più comune. Ci sono diversi team (e quindi diversi PO), ma ognuno è responsabile di un sottoprodotto. Naturalmente ci potrebbe essere qualche sovrapposizione tra le squadre, ma è limitata alla frontiera tra sub -prodotti e ben gestiti nella mischia della mischia. La scalabilità segnalata è oltre 200 e fino a 1000 membri del team.

Nexus: una soluzione per te?

L'approccio Nexus è più vicino a quello che stai cercando. È stato sviluppato dagli inventori di Scrum.

Un Nexus ha un singolo PO (e quindi una chiara proprietà del prodotto) e un singolo SM, ma diversi team integrati. L'approccio affronta in dettaglio l'integrazione tra i team e la sincronizzazione dell'intero processo Scrum. A tale scopo utilizza un team di integrazione strettamente accoppiato (più strettamente accoppiato rispetto alla mischia di mischia).

L'arretrato è suddiviso tra i team in modo da minimizzare le dipendenze (in modo da aumentare l'autonomia di ogni squadra). Sarai comunque lieto che non vi sia alcun obbligo di identificare diversi sottoprodotti. Tuttavia, questo approccio tiene conto dell'aspetto di costruzione della conoscenza che ho menzionato prima:

To the extent that requirements, team members’ knowledge, and code/test artifacts are mapped to the same Scrum Teams, dependency between teams can be reduced.

La scalabilità riportata è di tre o nove squadre di mischia, ovvero 9x9 + 2 = 83 persone.

    
risposta data 03.12.2017 - 01:06
fonte
1

Dopo aver riflettuto, una risposta mi è venuta in mente.

Che cosa facciamo quando dividiamo la squadra di mischia? Dobbiamo anche introdurre un nuovo scrum master. Ergo, stiamo introducendo più gerarchia. Potremmo farlo anche con gli ordini di acquisto.

Nella situazione che ho descritto, potremmo dividere la squadra nel numero ottimale di squadre. Ogni squadra avrebbe il proprio PO. L'arretrato complessivo del team avrebbe, tuttavia, un proprio PO. Chiamiamolo Maestro PO. Il master PO sarebbe un proxy verso gli stakeholder. Questa persona dovrebbe avere una vasta conoscenza di un intero scopo. Raccoglierebbero i requisiti dagli stakeholder, li inseriranno nel backlog del team principale sotto forma di user story e quindi gestiranno il backlog principale con gli ordini di squadra. Durante il grooming, i PO delle squadre dividerebbero approssimativamente le storie degli utenti tra di loro, portandole nei rispettivi backlog del team di scrum e quindi organizzano le storie con i rispettivi team. Durante questo periodo, identificherebbero le storie degli utenti che potrebbero adattarsi meglio al backlog di un altro team e comunicarlo con l'ordine di acquisto di quel team. Avrebbero quindi segnalato al loro Master PO, che avrebbe supervisionato tutto questo. La revisione di Sprint sarebbe un singolo evento di sprint, in cui tutte le squadre presenterebbero ciò che è stato fatto.

    
risposta data 02.12.2017 - 13:04
fonte
0

Non è un segreto che agile abbia problemi di scala. Ma le solite soluzioni implicano tutte la suddivisione dello "scopo" o del prodotto in molti prodotti più piccoli che tu dici di non poter fare.

Ad esempio, supponiamo di avere un sito di e-commerce che è cresciuto. potresti dividere per reparti aziendali:

  • gestione dello stock
  • consegna
  • ritorna
  • pagamenti / account cliente
  • sito web del catalogo

O livello tecnico:

  • database
  • Logica aziendale
  • sito web front-end

La maggior parte dei progetti di grandi dimensioni può essere suddivisa, ma è necessario un architetto tecnico o un lead dev per trovare le migliori suddivisioni e elaborare le interfacce concordate tra loro.

Una funzionalità o una user story probabilmente sfioreranno più di un progetto, ad esempio "L'utente dovrebbe ricevere il giorno successivo" richiederebbe il lavoro su tutti i livelli e / o alcuni dei reparti.

Ma quali si riducono a ragioni tecniche e non aziendali.

    
risposta data 02.12.2017 - 16:17
fonte
0

Ho difficoltà a concettualizzare il modo in cui l'ordine di acquisto è sovraccarico.

Un PO, supponendo che questo sia il loro lavoro a tempo pieno, dovrebbe essere in grado di accumulare molti requisiti per mantenere i team impegnati per anni. Se il tuo non può, guarda in che cosa questa persona è tenuta a fare. Esiste una gestione o un push-back sulle richieste per tagliare l'ambito? Troppi incontri, documenti, comunicazioni con i clienti occupano tutto il tempo (motivo per cui non vogliamo che i programmatori lo facciano), ma possono essere gestiti.

Supporto separato e implementazione dallo sviluppo.

Potresti coinvolgere altre persone con i clienti. Il tuo prodotto si trova in una situazione diversa in cui è necessario lavorare con installazioni aggiuntive. Questo potrebbe rientrare nell'assistenza clienti e essere gestito da un altro team.

Dividere il tuo prodotto.

Non penso che esista una definizione chiara di un prodotto. Indirizzare le comunicazioni tra i team quando necessario. Tutti devono concentrarsi e fare in modo che la riunione in piedi venga fatta rapidamente. 20 secondi a persona.

    
risposta data 05.12.2017 - 13:54
fonte