Como Lidar com Dependências Externas em Times Ágeis

Em um mundo ideal, todos os times da empresa seriam de ponta a ponta. Indo desde a concepção do produto / serviço através de formulação de hipóteses, passando pela construção, entrega para o cliente até a aferição de resultados. Porém, na vida real nem sempre conseguimos isso e é aí que aparecem as dependências externas. 

O que é a dependência externa

A dependência externa acontece quando uma etapa do seu fluxo de trabalho não pode ser executada pelas pessoas que estão no seu time. Você terá que acionar uma pessoa, time, unidade ou até mesmo uma outra empresa. 

"Fluxo de trabalho mostrando as etapas de Recepção, Refinamento, Construção, Avaliação e Entrega, com a etapa de Avaliação em destaque.
Fluxo de Trabalho

Por exemplo:

  • Um time de desenvolvimento precisa que outro time valide o código antes da entrega.
  • Uma equipe de marketing aguarda a aprovação jurídica de uma campanha.

Por que dependências externas são um problema?

Quanto mais dependências externas o seu fluxo de trabalho possui, mais lento ele tende a ser. Isso acontece por algum desses motivos:

  • Prioridades conflitantes: Um item que pode ser muito prioritário para o seu time, pode não ter a mesma prioridade para o time externo.
  • Especialistas sobrecarregados: Normalmente as dependências apontam para times de especialistas. Esses especialistas estão recebendo demandas de diversos times da empresa e o seu é só mais um no meio da multidão. 
  • Dependências em cascata: A dependência externa também pode ter uma dependência externa
  • Custos de coordenação: Quanto mais pessoas envolvidas, maior será o custo de coordenação e a comunicação poderá sofrer bastante com isso.

Se for possível, a minha recomendação é que você sempre tente trazer para dentro do time todas essas dependências. Simplifica o fluxo e agiliza o trabalho

Como o Kanban pode te ajudar a visualizar essas dependências externas

Porém nem sempre é possível e aí será necessário gerir essas dependências. Há diversas formas e vou colocar algumas que já utilizei aqui. Fique à vontade para entrar no meu Linkedin e compartilhar a sua experiência.

Dependência Sistêmica em ambiente com baixa colaboração

Esse é um contexto bem comum. A dependência é sistêmica porque a maioria ou até mesmo todos os itens de trabalho que o time desenvolve precisam passar por um time externo. Por exemplo, em times de TI, é comum que times sejam responsáveis por desenvolver as funcionalidades do produto (Times de Desenvolvimento) e quando chegam na etapa de entrega passam para outro time que disponibiliza os itens para o cliente (Time de Infraestrutura). 

Se o ambiente não for de colaboração entre os times, dificilmente eles se sentarão à mesa para discutir e planejar a forma mais eficiente de fazer as entregas e no geral tentam se resolver através de sistemas de tickets, Documento de Gestão de Mudanças (GMUD), e-mail etc. 

Por ser uma dependência sistêmica e que o time não tem controle, uma boa solução para visualizar o problema é oficializar a etapa de dependência externa. Acrescentá-la ao fluxo de trabalho e tomar uma decisão quanto a limitar ou não a quantidade de itens de trabalho que ela poderá receber. Escrevi sobre isso no artigo: Briga – Resolvendo as dependências externas ao time.

"Fluxo de entrega de software com as etapas Recepção, Refinamento, Construção, Avaliação e Entrega. Cada etapa possui status como 'Refinando', 'Construindo', 'Avaliado' e 'Entregue', e está visualmente representada com post-its amarelos em diferentes estágios de progresso.
Fluxo de Entrega com as dependências externas de Avaliação e Entrega explícitas e incorporadas ao fluxo de trabalho

A imagem acima representa uma forma de tratamento dessa dependência. As etapas de Avaliação e Entrega são externas ao time de construção. Logo elas são explicitadas e marcadas em outra cor para simbolizar a dependência.

Dependência Sistêmica em ambiente colaborativo

Aqui vale a mesma dica para o time. Oficialize a etapa de dependência externa e acrescente uma coluna no seu fluxo de trabalho. A diferença aqui é que há colaboração e as pessoas podem sentar juntas para discutir e planejar como os próximos itens serão desenvolvidos e entregues para o cliente. É aqui que o Modelo de Maturidade do Kanban (KMM de Kanban Maturity Model)  pode fazer a diferença. Especialmente com as cadências (reuniões) de Nível 2.

Workflow Replenishment Meeting (Reunião de Reabastecimento do fluxo de trabalho)

É uma cadência em que todas as pessoas envolvidas no fluxo, internas e externas, combinam quais serão os próximos itens que entrarão no fluxo. Seus principais pontos são: 

  1. Abastecer o backlog com novos itens;
  2. Priorizar as demandas 
  3. Definir critérios de entrada
  4. Ajustar o ritmo do trabalho
  5. Apoiar decisões estratégicas

Workflow Kanban Meeting (Reunião Kanban de Fluxo de Trabalho)

Particularmente acredito que essa seja a cadência mais importante quando o fluxo de trabalho é compartilhado entre dois ou mais times. Ela funciona como se fosse a Team Kanban Meeting (“Daily Meeting”) para todos. Obviamente, por juntar pessoas de diversos times, não deve ser realizada diariamente. Ela garante que os itens avancem de forma eficiente e que bloqueios sejam identificados e resolvidos rapidamente.

Flow Review (Revisão do Fluxo)

Funciona como se fosse uma retrospectiva de todo o fluxo de trabalho. Os principais objetivos são:

  • Avaliar o desempenho do fluxo de trabalho – Revisar métricas como Customer Lead Time e Vazão.
  • Examinar a saúde do sistema Kanban – Verificar se os limites de WIP estão sendo respeitados.
  • Identificar gargalos e atrasos – Diagnosticar etapas que acumulam itens ou apresentam maior tempo de espera.
  • Revisar práticas de trabalho – Refletir sobre a eficácia das práticas atuais e identificar melhorias.
  • Alinhar o fluxo com os objetivos do negócio – Garantir que o trabalho priorizado entregue valor esperado.
  • Planejar melhorias contínuas – Definir ações para otimizar o fluxo e aumentar a previsibilidade.

Se quiser saber mais sobre essas cadências (reuniões) veja o artigo: Conhecendo as 18 Cadências do Kanban! Ou veja o nosso treinamento de KSD – Kanban System Design

Dependência Sistêmica com Gestor de Fluxo

Acontece quando há a presença de uma pessoa ou grupo de pessoas responsável pela gestão do fluxo de trabalho compartilhado entre dois ou mais times. Ele é o responsável por alinhar as entradas e saídas. Enquanto os times manipulam seus quadros de forma individual, o gestor fica com um quadro de segundo nível orquestrando para que as dependências externas estejam alinhadas. 
Funciona mais ou menos assim. Imagine que o Time Construção e o Time Avaliação e Entrega sejam necessários para que um determinado serviço seja entregue. O Time Construção produz o insumo que será consumido pelo Time Avaliação e Entrega. Digamos também que nesse momento ambos estão envolvidos na construção dos Itens X, Y e Z que compõem a Entrega 12.

Fluxo de trabalho do Time de Construção, com as etapas de Recepção, Refinamento, Construção e Avaliação. As tarefas estão representadas como post-its nas colunas 'Construção' e 'Avaliação', com um fluxo de itens 'X', 'Y' e 'Z' movendo-se para a avaliação.
Fluxo de trabalho do Time Avaliação e Entrega, com as etapas de Construção, Validação, Preparação e Disponibilização. Os itens de trabalho 'X', 'Y' e 'Z' estão representadas como post-its nas etapas 'Construção' e 'Validação', e o progresso segue até a disponibilização.

Conforme os itens que compõem a Entrega 12 estejam chegando nas etapas finais do Time de Construção, o Gestor do Fluxo deve trabalhar para garantir que ele seja recebido pelo Time de Avaliação e Entrega e que eles comecem a trabalhar nele o mais rápido possível. 

Esse gestor normalmente tem seu quadro próprio, pois ele está olhando para diversos times. Nesse caso, uma ferramenta de gestão de trabalho se faz bastante necessária. Enquanto os times trabalham em uma granularidade bem fina, o gestor do fluxo acompanha a entrega em maior granularidade. Por exemplo: enquanto os quadros dos times apresentam todas as funcionalidades que comporão cada entrega, o quadro do gestor acompanha apenas as entregas.

Fluxo de trabalho com o papel de Gestor de Fluxo, envolvendo as etapas Backlog, Construção, Avaliação e Entrega. Um item representado como 'Entrega 12' está sendo movido entre as etapas de Construção e Avaliação, com um fluxo visível indicado por uma seta vermelha.
Fluxo de Trabalho de Nível 2 com a granularidade de Entrega e não dos itens de trabalho individuais

Se quiser saber mais sobre os diferentes níveis de acompanhamento de um fluxo, veja o artigo O que é Flight Levels e suas 5 atividades ou vá direto no nosso treinamento de Flight Levels System Architecture​ (FLSA).

Dependência Pontual Planejada

Aqui não acontece o tempo todo e por isso não vale a pena explicitar no fluxo de trabalho como uma nova etapa (coluna). É interessante marcar o item com algo (cor diferente, fita, cabeçalho, indicando que há uma dependência externa ali.

Fluxo de trabalho com duas colunas: 'Validação' e 'Cotação (RFQ)'. Na coluna 'Validação', há uma solicitação com a dependência externa marcada, referente ao 'Treinamento de Gestão de Projetos Ágeis com Kanban'. A coluna 'Cotação (RFQ)' está vazia, indicando que não há solicitações de cotação ativas no momento.
Dependência Externa Marcada no Fluxo de Trabalho na ferramenta Pipefy

Além disso, é importante que em algum lugar esteja escrito qual dependência é essa e qual o limite para que ela inicie e conclua o trabalho que ela tem que realizar.  Algumas ferramentas de gestão de fluxo permitem que sejam criados alertas para facilitar esse controle de prazos.

Formulário de nova solicitação com detalhes sobre um treinamento de gestão de projetos ágeis com Kanban. O formulário inclui informações sobre o item de trabalho, descrição do objetivo do treinamento, datas de início e limite da contratação financeira, alerta sobre prazos da dependência externa e detalhes adicionais sobre a dependência externa, como a emissão de uma nota de empenho 15 dias antes do treinamento.
Ferramenta que permite alertas para datas de dependências externas pontuais

Caso o limite seja ultrapassado e o item não possa prosseguir no fluxo de trabalho, ele deve ser marcado como bloqueado. 

Dependência Imprevista

Esse é o pior caso. Nos comprometemos com a construção de um item, começamos a construção e no meio do caminho descobrimos que não podemos prosseguir porque precisamos acessar a dependência externa. Não tem muito o que fazer. Apenas adicionar o indicativo de bloqueio e resolver o problema. 

"Cartão de tarefa com o título 'Entrega Validação online das certidões' e o número de identificação #153. O cartão está marcado com 'dependência externa', não está assinado e possui 3 pontos de esforço. O status está bloqueado.
Item bloqueado no fluxo de trabalho

Quando isso acontece, o mais importante é levar essa ocorrência para a retrospectiva. Temos que nos perguntar: Por que estamos nos comprometendo com itens que ficam impedidos por não termos visto a dependência externa previamente? Pode ter sido um problema pontual que não requer grandes cuidados ou, caso fique ocorrendo toda hora, temos um problemão para resolver.

Agrupamento de Bloqueadores

Caso as dependências externas estejam causando diferentes bloqueios no fluxo, uma ideia interessante é agrupar as causas por tipos. Tratamos esse assunto no artigo: Agrupe Bloqueadores e acelere seu time. Sendo muito resumido, você deve categorizar as causas dos bloqueios e tratar os que ocorrem com maior frequência o mais rápido possível.

Conclusão

Espero que este artigo tenha ajudado a visualizar e tratar as dependências externas que aparecem no seu fluxo de trabalho. Se você tiver outra ideia, manda uma mensagem lá no Linkedin para podermos continuar essa conversa. 

Dá uma olhada nos nossos treinamentos

 

Kanban System Design (KSD)

Flight Levels System Architecture​ (FLSA)

Até a próxima

Mikit tamu keng tutuki

Avelino segurando um microfone e uma camiseta preta escrita Agile. Ele é pardo, barba e cabelos grisalhos.

Sobre o autor(a)

Trainer na K21

Avelino Ferreira é formado e mestre em Ciência da Computação. Teve uma longa trajetória na TI, começando como programador e chegando a gestor de diversos times de criação de produtos digitais. Conheceu e começou a adotar as melhores prática de de Métodos Ágeis em 2008. Desde então, se dedica a auxiliar outras empresas na construção da cultura ágil. Atualmente, é Consultor e Trainer na K21

Artigos relacionados

Samuel Cavalcante - Consultor e Trainer na K21

Uma virada de qualidade nas cerimônias que facilitava, principalmente retrospectivas, aconteceu quando entendi que precisa ter mais conhecimento do grupo e que todas as atividades que executo, podem ser direcionadas conforme o contexto da equipe. 4 Quadrantes de Contexto da…

Avelino segurando um microfone e uma camiseta preta escrita Agile. Ele é pardo, barba e cabelos grisalhos.

Um dos maiores desafios da gestão de fluxo é a identificação de gargalos e o que deve ser feito para removê-los. Geralmente, as pessoas analisam o quadro de tarefas e usam a lógica: se uma etapa do fluxo tem mais…

Avelino segurando um microfone e uma camiseta preta escrita Agile. Ele é pardo, barba e cabelos grisalhos.

Ao longo da minha vida profissional, já passei por centenas de apresentações de produtos e serviços. Coloco aqui algumas dicas que creio que são muito importantes e espero que ajude a sua apresentação no que fazer e no que não…

Avelino segurando um microfone e uma camiseta preta escrita Agile. Ele é pardo, barba e cabelos grisalhos.

O Padrão 1, 2, N tem várias utilidades. A ideia é reduzir e implementar a melhoria contínua e reduzir o impacto de um possível erro. O conceito nasceu no eXtreme Programming. Mais especificamente introduzida por Kent Beck na automação de…