Planejamento de sprints com um diagrama de Gantt
O planejamento de sprints costuma terminar no quadro, e o quadro só mostra as duas semanas atuais. Ele não consegue responder à pergunta que todo interessado acaba fazendo: quando toda a entrega é lançada? Coloque seus sprints como fases delimitadas no tempo em um diagrama de Gantt e o arco aparece. Você vê quais épicos caem em qual sprint, onde um entregável espera por outro e quanto espaço sobra antes do lançamento. O quadro conduz a semana. O Gantt conduz a entrega.
- Por que o planejamento de sprints precisa de uma visão de linha do tempo
- Os sprints já são delimitados no tempo, então desenhe-os
- A tabela de sprint, objetivo e dependência
- Dependências entre os entregáveis dos sprints
- Capacidade e velocidade por sprint
- Exemplo prático: uma entrega de quatro sprints
- Ler onde a entrega corre risco
- Mantenha o quadro para o dia a dia
- Como construir seu Gantt de sprints
- Manter o diagrama vivo ao longo dos sprints
- Quando um Gantt de sprints é exagero
Por que o planejamento de sprints precisa de uma visão de linha do tempo
O planejamento de sprints costuma parar no quadro. A equipe preenche as próximas duas semanas, compromete-se com um conjunto de histórias e começa a trabalhar. Isso basta para conduzir bem um sprint e está longe de responder à pergunta que todo interessado acaba fazendo: quando tudo isso é lançado? Um quadro mostra o sprint atual em alta resolução e a entrega de jeito nenhum.
Colocar seus sprints como fases delimitadas no tempo em um diagrama de Gantt lhe dá o arco que um backlog não consegue oferecer. Você vê quais épicos caem em qual sprint, onde um entregável espera por outro e quanta folga fica entre o último sprint e a data prometida. Nada muda em como você conduz cada sprint. Você adiciona uma visão acima do quadro, não o substitui, então a equipe mantém seu fluxo enquanto a organização finalmente ganha uma data em que pode confiar.
Os sprints já são delimitados no tempo, então desenhe-os
O bom de um sprint é que, por definição, ele é um bloco de tempo fixo. Um sprint de duas semanas é uma barra de duas semanas. Você não precisa estimar sua duração, discutir seus limites nem redesenhá-lo quando uma história se move. Isso faz dos sprints a unidade ideal para um Gantt de entrega: uma barra por sprint, todas da mesma largura, avançando pelo calendário em linha reta.
Sobre esse arcabouço você coloca o trabalho. Um épico que abrange dois sprints é uma barra com dois sprints de largura. Um entregável com prazo no fim do sprint três fica sobre esse limite. Como os contêineres são fixos, a única coisa que você realmente planeja é qual trabalho cai em qual caixa, um exercício muito mais honesto do que fingir que pode agendar histórias individuais com semanas de antecedência.
A tabela de sprint, objetivo e dependência
Antes de desenhar uma única barra, escreva o plano como uma tabela. Uma linha por sprint, um objetivo claro por sprint e a dependência que deve ser satisfeita antes que esse objetivo seja alcançável. Essa tabela é o esqueleto do Gantt e força as perguntas difíceis cedo, enquanto respondê-las ainda é barato.
| Sprint | Objetivo | Depende de |
|---|---|---|
| Sprint 1 | Entregar o modelo de dados e as migrações | Nada, esta é a base |
| Sprint 2 | Construir a API de sincronização sobre o modelo | Modelo de dados do sprint 1, concluído |
| Sprint 3 | Entregar a interface móvel sobre a API | API de sincronização do sprint 2, concluída |
| Sprint 4 | Endurecer, testar e lançar | Todos os sprints anteriores |
Um objetivo não é uma lista de histórias, é o único resultado que faz o sprint valer a pena. Se você não consegue nomeá-lo em uma frase, o sprint está sem foco. A coluna de dependências é onde o risco da entrega se esconde, então dedique a ela uma reflexão real em vez de deixá-la vazia em cada linha.
Dependências entre os entregáveis dos sprints
Dentro de um único sprint, o quadro lida bem com bloqueios. Entre sprints, ele fica cego. Quando a interface móvel do sprint três não pode começar até que a API de sincronização do sprint dois esteja concluída, essa relação não vive em nenhum quadro. É uma dependência de fim para início entre dois entregáveis, e é exatamente o que um Gantt torna visível.
Desenhar esses vínculos muda como você lê o plano. Um atraso no sprint dois deixa de ser um problema local, ele empurra o sprint três e tudo o que vem depois. A seta lhe diz isso na hora, semanas antes de o atraso surgir de outra forma. E nem toda dependência é de fim para início. Regras de fraude muitas vezes podem rodar de início para início ao lado de uma API, compartilhando a mesma janela. Acertar o tipo de vínculo é a diferença entre um plano que reflete a realidade e um que apenas parece arrumado.
Capacidade e velocidade por sprint
Uma linha do tempo de caixas vazias não significa nada até você saber quanto cabe em cada caixa. É isso que a velocidade lhe dá: o número de pontos de história que sua equipe realmente conclui em um sprint, feita a média dos últimos. Use o número real, não o otimista. Se sua equipe fecha 32 pontos por sprint, planeje 32, não os 45 que você conseguiu uma vez numa semana tranquila.
| Sprint | Pontos planejados | Velocidade da equipe | Margem |
|---|---|---|---|
| Sprint 1 | 30 | 32 | Confortável |
| Sprint 2 | 34 | 32 | Ligeiramente acima |
| Sprint 3 | 38 | 32 | Sobrecarregado |
| Sprint 4 | 20 | 32 | Reserva para o lançamento |
Leia a coluna de margem de cima a baixo e o sprint três salta aos olhos: 38 pontos planejados contra uma velocidade de 32 é um sprint que não vai terminar. Melhor ver isso agora e mover seis pontos para a reserva do sprint quatro do que descobrir durante a revisão do sprint. Para as estimativas por trás desses pontos, nosso guia sobre estimar durações mantém você honesto.
Exemplo prático: uma entrega de quatro sprints
Uma equipe de produto se compromete a lançar uma função de sincronização offline em oito semanas, quatro sprints de duas semanas. O quadro conduz as histórias. O Gantt conduz a entrega. Veja como os épicos se mapeiam nos sprints e onde o risco reside.
| Épico | Sprint | Pontos | Depende de |
|---|---|---|---|
| Modelo de dados e migrações | 1 | 30 | Nada |
| API de sincronização | 2 | 34 | Modelo de dados, concluído |
| Interface móvel | 3 | 38 | API de sincronização, concluída |
| Endurecimento e lançamento | 4 | 20 | Tudo acima |
O que o Gantt revela. Os três épicos centrais formam uma cadeia ininterrupta: modelo, depois API, depois interface. Nada roda em paralelo, então um atraso em qualquer ponto empurra o lançamento diretamente. O sprint três já está sobrecarregado com 38 pontos contra uma velocidade de 32, e fica sobre essa cadeia. O plano diz semana 8, mas os números dizem que o sprint três transborda e arrasta a entrega para a semana 9. A correção é visível antes mesmo de o sprint um começar: mova seis pontos de acabamento da interface móvel para a reserva do sprint quatro e a cadeia aguenta.
Ler onde a entrega corre risco
Como os três épicos dependem uns dos outros em sequência, eles formam a cadeia mais longa de trabalho dependente do plano. Essa cadeia é o seu caminho crítico, e sozinha ela fixa a data de lançamento. Qualquer sprint sobre ela que transborde move toda a entrega. Qualquer trabalho fora dela tem espaço para atrasar sem prejudicar a data.
É aqui que o Gantt ganha seu lugar ao lado do quadro. Um gráfico de velocidade lhe diz que uma equipe está desacelerando. Ele não consegue dizer qual de vários fluxos de trabalho é o que mantém a entrega refém. O caminho crítico consegue, então você gasta sua atenção onde um atraso de fato custa a data, em vez de se preocupar por igual com tudo.
Detectar o atraso cedo. Com duas semanas, a API de sincronização está alguns dias atrasada. Como o Gantt mostra a API no caminho crítico com a interface móvel empilhada logo atrás, a equipe tira um engenheiro de uma tarefa de analytics dispensável, que tem folga, e o coloca na API. A API chega no prazo, a interface começa como previsto e a semana 8 aguenta. Sem a visão de dependências, essa troca fica invisível até ser tarde demais para fazê-la.
Mantenha o quadro para o dia a dia
Nada disso substitui o seu quadro de sprint. O quadro e o Gantt de entrega respondem a perguntas diferentes, e tentar fazer um deles cumprir os dois papéis é como as equipes acabam odiando os dois. O quadro é feito para o fluxo dentro do sprint atual. O Gantt é feito para o tempo ao longo de toda a entrega.
| Pergunta | Quadro de sprint | Gantt de entrega |
|---|---|---|
| O que puxamos a seguir? | Sim, no topo do sprint | Não |
| Estamos bloqueados hoje? | Sim | Em parte |
| Qual sprint condiciona o próximo? | Não | Sim, como dependência |
| Vamos cumprir a data de lançamento? | Não | Sim |
| Quanta folga sobra? | Não | Sim |
Conduza as histórias no quadro todos os dias, como sempre fez. Toque o Gantt uma vez por sprint, na revisão, para registrar o que de fato foi entregue e verificar se a data ainda se sustenta. Mantenha-os em altitudes diferentes e cada um faz o trabalho para o qual foi feito.
Como construir seu Gantt de sprints
Você não precisa de uma ferramenta pesada nem de uma certificação. Você precisa da lista de sprints, da sua velocidade real e de uma hora com a equipe. Esta é a sequência que lhe dá uma visão de entrega funcional.
- Escreva primeiro a tabela de sprint, objetivo e dependência. Uma linha por sprint, um resultado por sprint.
- Desenhe uma barra de largura igual por sprint ao longo do calendário. Esses são seus blocos de tempo fixos.
- Coloque cada épico como uma barra que abrange os sprints de que precisa, dimensionada pela sua velocidade, não pela esperança.
- Marque o lançamento e quaisquer demos como marcos, desenhados como losangos. Essas datas não se movem.
- Ligue as dependências entre entregáveis, sobretudo as de fim para início que cruzam sprints.
- Trace a cadeia mais longa de épicos dependentes. Esse é o caminho que você defende pelo resto da entrega.
Abra um plano em branco no editor de Gantt, adicione uma linha por sprint e uma por épico, ligue as dependências e você tem uma visão de entrega em menos de uma hora. O detalhe das histórias fica no seu quadro, onde é o seu lugar.
Manter o diagrama vivo ao longo dos sprints
A maneira mais rápida de matar um Gantt de sprints é construí-lo uma vez e esquecê-lo. Um diagrama que já não corresponde à realidade é pior do que nenhum, porque as pessoas ainda confiam nele. Em cada revisão de sprint, gaste dez minutos atualizando-o: marque o que de fato terminou, deslize qualquer épico que atrasou e verifique se o marco de lançamento ainda cai onde você prometeu.
Compare onde você disse que cada épico estaria com onde ele de fato aterrissou, como faria com qualquer plano. Uma rápida verificação de linha de base em cada revisão lhe diz se a data está desviando muito antes de virar uma crise. Um diagrama de Gantt construído uma vez e nunca tocado não é um plano, é um desejo. Atualize-o a cada sprint ou apague-o, mas não deixe um diagrama desatualizado repousar em um drive compartilhado fingindo ser a verdade.
Quando um Gantt de sprints é exagero
A honestidade vale nos dois sentidos. Nem toda equipe precisa disso. Se o seu trabalho é um fluxo constante de itens pequenos e independentes, sem data de lançamento fixa e sem dependências entre sprints, um quadro basta e sobra. Um esquadrão de manutenção que publica em produção todos os dias, uma fila de suporte ou uma única equipe sem consumidores a jusante ganha pouco com uma camada de entrega, porque não há entrega a moldar.
Recorra a um Gantt de sprints quando três sinais aparecerem juntos: uma data fixa com a qual você se comprometeu, dependências em que a saída de um sprint condiciona o seguinte e um interessado que precisa ver todo o período de uma vez. Quando os três estão presentes, o quadro deixa perguntas reais sem resposta e o Gantt as responde. Quando nenhum está, pule-o com a consciência tranquila e deixe o quadro fazer o seu trabalho.
Perguntas frequentes
Como um Gantt de sprints difere de um Gantt normal?
A unidade é o sprint, não a tarefa. Cada sprint é um bloco de tempo fixo e de largura igual, então você planeja quais épicos caem em qual caixa em vez de agendar histórias individuais. Isso mantém o diagrama grosso e estável, que é exatamente o que permite a uma pessoa atualizá-lo em dez minutos a cada revisão de sprint.
Devo colocar histórias individuais no Gantt de sprints?
Não. As histórias mudam todo dia e pertencem ao quadro. Coloque épicos ou entregáveis no Gantt, uma barra cada, dimensionados pela velocidade da sua equipe. Se você desenhar histórias, vai redesenhar o diagrama o tempo todo e ele ficará desatualizado dentro de um sprint, que é como os diagramas de Gantt ganham sua má fama em equipes ágeis.
Como a velocidade se encaixa no plano?
A velocidade define quanto trabalho cabe em cada caixa de sprint. Pegue a média de pontos que sua equipe de fato concluiu nos sprints recentes e planeje para esse número, não para um pico otimista. Quando um sprint é planejado acima da velocidade, o Gantt o mostra transbordando cedo, então você pode mover trabalho para uma reserva antes de a revisão do sprint confirmar a falha.
E se um sprint atrasar? Como leio o impacto?
Siga as setas de dependência. Um atraso no caminho crítico, a cadeia mais longa de épicos dependentes, empurra a data de lançamento diretamente. Um atraso fora desse caminho usa folga e pode não custar nada. O Gantt lhe diz na hora em qual dos dois casos você está, então você pode proteger a cadeia que fixa a data e deixar o resto absorver o atraso.
Isso pode coexistir com nosso quadro de sprint?
Sim, esse é todo o propósito. O quadro conduz o fluxo do dia a dia dentro do sprint atual. O Gantt mostra o arco da entrega ao longo de todos os sprints: dependências, marcos e se a data se sustenta. Eles respondem a perguntas diferentes em altitudes diferentes. Use os dois, atualize o Gantt uma vez por sprint, e nenhum atropela o outro.
Leia também
- As dependências entre tarefas explicadas
- O método do caminho crítico explicado
- Como estimar a duração das tarefas
- Voltar aos guias
Este artigo também está disponível em inglês.