A rodada
Para quem é: quem quer dividir um lote de atividades entre vários executores, humanos ou agentes, sem que eles pisem uns nos outros.
Depois de ler, você consegue: planejar uma rodada com lanes paralelas, dizer o que fica sequencial e por quê, e descrever o caminho até o merge.
O que é uma rodada
Uma rodada é um lote de atividades já exploradas, executadas ao mesmo tempo. Cada atividade vai para uma lane, e cada lane é um executor (uma pessoa ou um agente). A rodada termina quando as mudanças estão integradas e validadas.
Dois papéis, separados
| Papel | Pode escrever código? | Faz o quê |
|---|---|---|
| Analista | Não, só lê | Levanta requisitos e escreve o resultado na nota |
| Executor | Sim, na sua lane | Implementa, testa e documenta |
A separação é a regra mais valiosa do método. Quem levanta não corre o risco de "já ir arrumando". Quem executa recebe a especificação pronta. Os dois agentes de exemplo estão em Copie o método.
Montando a rodada
- Releia o quadro. Só entram atividades com
#explorada. - Divida em lanes. Cada lane tem arquivos ou áreas disjuntos das outras da mesma rodada.
- Marque o que é sequencial. Fica em fila o que tem dependência real, arquivo compartilhado, recurso único (um banco, um ambiente) ou um gesto humano.
- Dispare todas as lanes de uma vez. O coordenador não espera uma terminar para soltar a próxima.
- Atualize o quadro no mesmo instante: os cards das lanes vão para Em andamento.
Arquivos compartilhados ficam com o coordenador
Índices, listas de menu e o próprio quadro são pontos de colisão. Nenhuma lane os edita. Cada uma informa, no relatório, a linha que precisa entrar, e o coordenador as junta.
O que cada lane recebe
Um bom brief de lane cabe numa tela e diz:
- o ponto de partida (a base do código, com o SHA);
- a nota da atividade, que é a especificação;
- o que não tocar;
- os comandos de validação, com o código de saída esperado em cada um;
- o formato do relatório.
A lane não abre outros agentes. O teto de paralelismo é do coordenador, não de cada lane.
Uma PR por repositório
Quando duas lanes mexem no mesmo repositório, elas juntam o trabalho numa branch e abrem uma PR para a rodada. A prova é o CI dessa PR. Isso reduz ruído de revisão e deixa o histórico legível.
O caminho da PR até a release está descrito em A vida de uma mudança. Não o repetimos aqui.
Revisão e merge
O coordenador integra: confere o diff de cada lane, roda a validação e atualiza o quadro. O merge em branch protegida é do dono do produto. Nenhuma lane, e nenhum agente, mergeia na branch principal.
Conferir o que a lane diz
Relatório de lane não é prova. Rode o comando e leia o código de saída. "Os testes passam" sem o código de saída já enganou o time mais de uma vez.
Quando algo falha
Falha de uma lane não derruba as outras. O coordenador lê a causa, corrige o brief e dispara de novo só aquela lane. A causa vai para a nota da atividade.
Um exemplo real
A PR 89 do brabo foi uma rodada de documentação: várias lanes, cada uma com sua área, integradas numa única PR.
Para saber mais
- Quem faz o quê, para o mapa dos repositórios.
- Erros que já cometemos.