Sto facendo una risposta a parte perché, sebbene al suo interno ci sia una parte della risposta di Bevan mi sto espandendo un po '. Anch'io non ho mai visto un modo formale per farlo.
Mine è un negozio Agile che costruisce un'app SaaS, con un team di 4 sviluppatori e un tester, che lavora su sprint di 2 settimane. Quando il team decompone le storie, creiamo un ticket principale e biglietti per bambini che approssimativamente risolvono i cambiamenti del modello, le modifiche alle modifiche e il controller (in senso lato) per raggiungere gli obiettivi di quella storia.
Quando arriva il momento di lavorare, uno sviluppatore afferra il biglietto genitore, e per la vita di quel lavoro all'interno dello sprint, diventa il "proprietario" del codice che va a realizzare quella storia. Tuttavia, è abbastanza comune che altre persone del team lavorino alle storie dei bambini a seconda dei punti di forza personali (ad es. UI, database, una dose extra di conoscenza della logica aziendale). Il "proprietario" del biglietto genitore è il go-to per domande su quella caratteristica o componente (a seconda dei casi) fino a quando tutti i bambini sono completati e il proprietario lavora attraverso l'intero articolo a livello genitore ed è pronto per l'invio come un pacchetto per lo stato di revisione del codice.
Quando gli oggetti passano attraverso la revisione del codice, lo fanno anche a livello di singolo bambino, e l'unica regola è che nessuno rivede il proprio codice (ovviamente). Quindi, mentre lo sviluppatore A potrebbe essere il proprietario del biglietto genitore, avrebbe potuto lavorare su Pezzo 1, 2, 3 mentre lo sviluppatore B lavorava su Pezzo 4, 5 e Sviluppatore C sul pezzo 6, 7. Lo sviluppatore A sarebbe in grado di revisione del codice 4, 5, 6, 7, lo sviluppatore B poteva eseguire la revisione del codice 1, 2, 3, 6, 7, lo sviluppatore C poteva eseguire la revisione del codice 1, 2, 3, 4, 5. Quando il codice passa attraverso la revisione del codice, va alla prova.
Il tester testa ogni bambino in modo indipendente se ha i suoi criteri di accettazione e il genitore nel suo insieme (che ha sicuramente i suoi criteri di accettazione). Ecco dove entra in gioco la "proprietà": il proprietario del genitore è responsabile di eventuali correzioni nel genitore o nei suoi figli . "Responsabile" in questo caso può significare "avere una conversazione con chiunque abbia lavorato a un bambino problematico", ma è il proprietario del genitore che ha ragione.
Il pensiero con tutto questo, e ha funzionato in modo ridicolo e scioccante con la mia squadra, è che ognuno è sempre sia proprietario che aiutante, ognuno pratica costantemente la collaborazione e la comunicazione, e ognuno di noi è abbastanza familiare con ogni pezzo di il sistema che dopo il rilascio chiunque può essere il proprietario di qualsiasi cosa per il breve periodo di tempo in cui i proprietari hanno un ruolo (ad esempio all'interno di uno sprint).