Início › Guias › Agile e diagramas de Gantt: como usar os dois juntos

Agile e diagramas de Gantt: como usar os dois juntos

Dizem às equipes scrum que os diagramas de Gantt são relíquias da cascata, e dizem aos donos do roteiro que o backlog responde a qualquer pergunta. As duas afirmações estão erradas. Um diagrama de Gantt e agile resolvem problemas diferentes em altitudes diferentes. Os sprints cuidam do trabalho detalhado semana a semana, enquanto um Gantt mostra o formato da versão acima deles: as fases, as datas fixas e as entregas entre equipes. Usados juntos, respondem a perguntas que nenhum deles responde sozinho.

Por Uttam RegmiAtualizado em 6 de outubro de 20269 min de leitura

Nesta página
  1. Sim, eles coexistem. Aqui está a resposta honesta
  2. Duas ferramentas, duas altitudes
  3. As três camadas de um plano agile
  4. O que um Gantt acrescenta e que um backlog não consegue
  5. Usar um Gantt para a versão, sprints para o detalhe
  6. Exemplo prático: versão 2.0 ao longo de quatro sprints
  7. A cadeia que define sua data
  8. Objeções comuns, respostas honestas
  9. Como construir um Gantt da versão em uma tarde
  10. Mantenha-o leve ou ele morre
  11. Quando pular o Gantt por completo
Como um Gantt da versão fica acima dos sprints que a entregam:
Semana 1Semana 2Semana 3próximas 3 semanas, congelada / comprometida / planejamento

Sim, eles coexistem. Aqui está a resposta honesta

Faça a mesma pergunta a um purista de scrum e a um líder de entrega e você receberá respostas opostas. O purista diz que um diagrama de Gantt é cascata disfarçada. O líder diz que um backlog não consegue dizer a um cliente quando a funcionalidade é lançada. Ambos têm metade da razão. Um diagrama de Gantt e agile não são rivais, operam em altitudes diferentes. O agile cuida do trabalho do dia a dia dentro de cada sprint. Um Gantt descreve o formato da versão acima dos sprints: as fases, as datas firmes e as entregas entre equipes que nenhum backlog sozinho consegue mostrar.

O verdadeiro erro é forçar uma ferramenta a fazer os dois trabalhos. Planeje um sprint de duas semanas em um Gantt e você o redesenhará toda manhã à medida que as histórias se movem. Prometa uma data de lançamento só com um backlog e você estará adivinhando a velocidade. Coloque cada ferramenta onde ela encaixa e a velha tensão desaparece sem alarde.

Duas ferramentas, duas altitudes

Um quadro e um backlog são feitos para o fluxo. Eles respondem ao que uma equipe deve puxar a seguir, ao que está bloqueado hoje e a quanto falta no sprint atual. São deliberadamente cegos às datas do calendário, porque datas não são a forma de conduzir um sprint. Um Gantt é feito para o tempo. Ele responde a quando uma fase começa, a quais equipes precisam terminar antes que outra possa começar e a se a versão ainda cai na data prometida.

PerguntaQuadro e backlogGantt da versão
O que construímos a seguir?Sim, o topo do backlogNão
Estamos bloqueados hoje?SimEm parte
Vamos cumprir a data de lançamento?NãoSim
Qual equipe condiciona a nossa?Raramente visívelSim, como uma dependência
Qual é a fase depois desta?NãoSim

Note que as colunas quase não se sobrepõem. É esse o ponto. Você não está escolhendo entre elas, está cobrindo dois conjuntos de perguntas diferentes.

As três camadas de um plano agile

Uma entrega agile saudável funciona sobre três camadas, e só uma delas é o sprint. Mantê-las separadas é o que permite que um Gantt e um quadro convivam sem pisar um no outro.

Quando alguém diz que diagramas de Gantt matam a agilidade, geralmente quer dizer que alguém tentou conduzir a camada de sprint em um Gantt. Suba o Gantt para a camada de versão e a objeção se evapora.

O que um Gantt acrescenta e que um backlog não consegue

Um backlog é uma lista plana, ordenada por prioridade. É excelente para ordenar o trabalho e péssimo em três coisas das quais uma versão depende. Primeiro, as dependências entre equipes. Quando a equipe de API precisa entregar um gateway antes que a equipe do app possa construir o checkout, essa relação é invisível no backlog de qualquer uma das duas, mas óbvia como uma dependência em um Gantt. Segundo, os prazos firmes. Uma feira, uma cláusula contratual ou uma data regulatória é um ponto fixo que um backlog simplesmente não representa. Terceiro, a visão da versão: uma única imagem que mostra a uma parte interessada todo o percurso do design ao lançamento.

Fim → InícioABB espera AInício → InícioABB espera AFim → FimABB espera AInício → FimABB espera A
Uma dependência de fim para início entre duas equipes que nenhum backlog sozinho mostra:

Um backlog diz a uma equipe o que fazer a seguir. Um Gantt diz à organização se a soma de todo esse trabalho chega a tempo. Não são a mesma pergunta, e um plano de versão precisa das duas respondidas.

Usar um Gantt para a versão, sprints para o detalhe

O padrão que funciona é o planejamento em ondas sucessivas. Você desenha o Gantt da versão no nível de fases e épicos, grosso modo uma barra por épico ou por sprint, não uma barra por história. O curto prazo é detalhado porque você o conhece. O longo prazo é um bloco grosseiro porque, honestamente, você ainda não o conhece, e fingir o contrário é como os diagramas de Gantt ganham sua má fama.

Semana 1Semana 2Semana 3próximas 3 semanas, congelada / comprometida / planejamento
Os sprints próximos planejados em detalhe, os sprints posteriores mantidos como blocos grosseiros até se aproximarem:

Em cada sprint, a equipe planeja suas histórias no quadro como de costume. Nada disso muda. O que muda é que, ao fim do sprint, você atualiza a barra correspondente no Gantt: o épico terminou, atrasou ou encolheu? O Gantt não é um segundo lugar para gerenciar tarefas. É uma lente que transforma oito semanas de resultados de sprint em uma única resposta sobre a data da versão. Estime as barras grosseiras com a velocidade real da sua equipe, não com contas ilusórias, e leia nosso guia sobre estimar durações antes de comprometer as datas.

Exemplo prático: versão 2.0 ao longo de quatro sprints

Uma equipe de pagamentos se compromete a entregar um checkout de autoatendimento em oito semanas, quatro sprints de duas semanas. O quadro cuida das histórias. O Gantt cuida da versão. Veja como os épicos se mapeiam nos sprints e onde está o risco.

ÉpicoEquipeSprintsDepende de
Integração do gateway de pagamentoAPI1 a 2Nada
Interface do checkoutApp3 a 4Gateway (fim para início)
Regras antifraudeRisco2 a 3Gateway (início para início)
Lançamento e aval de conformidadeTodas4Tudo acima

O que o Gantt revela. A equipe do app não pode começar o checkout até a equipe de API terminar o gateway no sprint 2. Se o gateway atrasar um sprint, o checkout atrasa junto e o lançamento da semana 8 se perde. Nenhum backlog traz isso à tona, porque a dependência cruza os quadros de duas equipes. No Gantt é uma única seta, e ela diz ao dono da versão exatamente qual épico proteger. Financie o gateway primeiro e trate sua data de fim como a que não pode se mover.

A cadeia que define sua data

No exemplo acima, a sequência gateway, depois checkout, depois lançamento é o caminho mais longo de trabalho dependente. Todo o resto, como as regras antifraude rodando em paralelo, tem folga para se mover. Essa cadeia mais longa é o seu caminho crítico, e é a única coisa que de fato define a data de lançamento. As regras antifraude poderiam atrasar alguns dias e a versão ainda sairia. O gateway não.

É aqui que um Gantt se paga numa operação agile. Gráficos de velocidade dizem a que velocidade uma única equipe se move. Eles não conseguem dizer qual de quatro fluxos de trabalho paralelos é o que mantém toda a versão refém. O caminho crítico consegue, e ele deixa você gastar sua atenção onde um atraso de fato custa a data, em vez de espalhar a preocupação por igual entre todas as equipes.

Realocar na hora. Duas semanas depois do início, a equipe de API está um sprint atrasada no gateway. Como o Gantt mostra que o gateway está no caminho crítico e as regras antifraude não, o dono da versão move um engenheiro das regras antifraude para o gateway. As regras antifraude usam sua folga, o gateway cai no prazo e a semana 8 se mantém. Essa decisão é invisível sem uma visão ciente das dependências.

Objeções comuns, respostas honestas

A resistência é previsível, e boa parte dela é justa quando um Gantt é mal usado. Aqui estão as objeções que uma equipe scrum vai levantar e a resposta honesta a cada uma.

ObjeçãoResposta honesta
Diagramas de Gantt são cascataSó se você planejar histórias neles. Na camada de versão são apenas uma visão de dependências e datas.
As estimativas mudam a cada sprintVerdade, então mantenha as barras no nível de épico e atualize-as depois de cada sprint. Não desenhe histórias.
Vai ficar desatualizadoVai, se ninguém for dono dele. Atribua um responsável que o atualize em cada revisão de sprint, não antes.
O quadro já mostra os bloqueiosDentro de uma equipe, sim. Os portões entre equipes e as datas fixas, não.
As partes interessadas deveriam ler o backlogNão vão. Um Gantt da versão é o artefato que executivos e clientes de fato entendem.

Nenhuma dessas objeções sobrevive ao contato com um Gantt mantido na altitude certa. Quase todas são, na verdade, queixas sobre Gantts mantidos na errada.

Como construir um Gantt da versão em uma tarde

Você não precisa de uma ferramenta pesada nem de uma certificação. Você precisa dos épicos, das datas com que já se comprometeu e de uma hora com os líderes de equipe. Esta é a sequência.

  1. Liste os épicos desta versão, não as histórias. Mire entre cinco e doze barras.
  2. Marque primeiro as datas fixas: lançamento, demos, prazos contratuais. São marcos, desenhados como losangos, e não se movem.
  3. Dimensione cada épico em sprints usando sua velocidade real, depois coloque-o na linha do tempo.
  4. Desenhe as dependências entre épicos, sobretudo as que cruzam equipes. Este é o passo de maior valor.
  5. Encontre a cadeia mais longa de épicos dependentes. Esse é o caminho que você defende.
  6. Atribua um responsável para atualizar o gráfico em cada revisão de sprint, e em nenhum outro momento.

Abra um plano em branco no editor de Gantt, adicione uma linha por épico, ligue as dependências e você terá uma visão da versão em menos de uma hora. Mantenha o detalhe das histórias no seu quadro, onde ele pertence.

Mantenha-o leve ou ele morre

A maior razão pela qual um Gantt fracassa numa equipe agile é o peso. Alguém constrói um belo gráfico de cem linhas, ele fica desatualizado em um sprint, e a equipe conclui que diagramas de Gantt não funcionam. O gráfico não falhou, a granularidade falhou. Um Gantt da versão deve ser pequeno o bastante para que uma pessoa o atualize em dez minutos na revisão de sprint, arrastando algumas barras e movendo uma data.

Acompanhe a versão como você acompanha qualquer plano diante da realidade, comparando onde você disse que cada épico estaria com onde ele de fato caiu. Uma rápida conferência de linha de base em cada revisão diz se a data está derivando 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 ou apague-o, mas não o deixe apodrecer num drive compartilhado fingindo ser a verdade.

Quando pular o Gantt por completo

A honestidade corta nos dois sentidos. Nem todo esforço agile precisa de um Gantt, e adicionar um onde ele não rende nada é só sobrecarga. Se o seu trabalho é um fluxo contínuo de itens pequenos e independentes, sem prazo externo e sem entregas entre equipes, um quadro basta. Uma equipe de manutenção pura, uma fila de suporte ou um único esquadrão que entrega em produção todos os dias ganham pouco com uma camada de versão, porque não há versão a moldar.

Recorra a um Gantt quando três sinais aparecerem juntos: uma data externa fixa que você prometeu, mais de uma equipe cujo trabalho depende do de outra e uma parte interessada que precisa ver todo o percurso de uma vez. Quando os três estão presentes, o backlog deixa perguntas reais sem resposta e o Gantt as responde. Quando nenhum está, pule-o de consciência tranquila e deixe o quadro fazer o seu trabalho.

Conduza os sprints no seu quadro e a versão em um Gantt. Um mostra o que construir a seguir, o outro mostra se tudo chega a tempo.

Perguntas frequentes

Diagramas de Gantt contradizem os princípios do agile?

Não, quando ficam na camada de versão. O agile governa como uma equipe trabalha dentro de um sprint. Um Gantt da versão mostra fases, datas fixas e dependências entre equipes acima dos sprints. O conflito só aparece quando alguém tenta agendar histórias individuais em um Gantt, o que ninguém deveria fazer.

Que granularidade um Gantt da versão deve usar?

Uma barra por épico ou por sprint, nunca por história. Mire entre cinco e doze barras para uma versão de oito semanas. O detalhe no nível de história pertence ao quadro, onde muda todo dia. Manter o Gantt grosseiro é justamente o que permite a um responsável atualizá-lo em dez minutos em cada revisão de sprint.

Com que frequência devo atualizar o Gantt da versão?

Uma vez por sprint, na revisão de sprint, e em nenhum outro momento. Mova as barras para corresponder ao que de fato terminou, ajuste qualquer data que atrasou e confira se o marco de lançamento ainda se mantém. Atualizar com mais frequência o transforma num segundo rastreador de tarefas e duplica o quadro. Atualizar menos deixa que ele fique desatualizado.

Um Gantt pode substituir nosso backlog ou quadro?

Não, e não deveria tentar. O quadro gerencia o fluxo diário e responde ao que puxar a seguir. O Gantt responde a se a versão cai na sua data e qual equipe condiciona outra. Eles cobrem perguntas diferentes. Conduza os dois, mantenha-os em altitudes diferentes e deixe cada um fazer o trabalho para o qual foi feito.

Como um Gantt lida com estimativas de sprint que mudam?

Absorvendo a variação no nível de épico. As estimativas de histórias individuais mudam a cada sprint, mas um épico dimensionado em sprints usando a velocidade real é muito mais estável. Planeje os sprints próximos em detalhe e mantenha os posteriores como blocos grosseiros com planejamento em ondas sucessivas, depois refine cada bloco à medida que ele se aproxima do sprint atual.

Escrito por Uttam Regmi. Fundador da Synth88 Labs, cria aplicações web e móveis focadas na privacidade a partir do Dubai. Perfil completo · LinkedIn · Medium · GitHub

Este artigo também está disponível em inglês.

Crie seu gráfico de Gantt, grátis

No navegador, sem cadastro. Seus dados ficam no seu aparelho.

Abrir o editor