Simyl
simylflow
Início do Curso
Módulo 4: Sistemas Pull e WIP
Lição 1 de 5
11 min

Sistemas Push vs. Pull

Por que sistemas pull criam visibilidade e responsabilidade que sistemas push escondem.

1Definindo Push e Pull

Sistemas push iniciam o trabalho com base em previsões ou cronogramas. Um gerente atribui trabalho. Um sprint é planejado. O trabalho entra no sistema independentemente de haver capacidade.

Sistemas pull iniciam o trabalho com base em capacidade e demanda. O trabalho só entra quando uma etapa downstream sinaliza que está pronta. Nada é empurrado—é puxado.

A origem na Toyota: Em um sistema push, as peças são fabricadas com base em previsões e empurradas downstream. No sistema pull da Toyota, os processos downstream enviam um sinal (cartão kanban) quando precisam de peças. As peças são produzidas apenas quando sinalizadas.

Em software:

  • Push: O planejamento do sprint se compromete com 20 histórias. A equipe trabalha em todas as 20 simultaneamente. Ao final do sprint, 12 estão "em progresso" e 8 estão completas.
  • Pull: A equipe tem limite de WIP de 3. Quando uma história é concluída, eles puxam a próxima. Ao final do sprint, 15 histórias estão totalmente completas.

A matemática é contraintuitiva: menos itens de cada vez, mais itens finalizados.

A Diferença de Visibilidade

Sistemas push escondem problemas. A pilha de trabalho inacabado se acumula invisivelmente. Sistemas pull revelam problemas. Quando você não pode puxar novo trabalho porque está bloqueado, o bloqueio fica visível. Essa visibilidade força a resolução.

2Por Que Sistemas Push Escondem Problemas

Em um sistema push, os problemas ficam enterrados.

A equipe tem 15 itens em progresso. Três estão bloqueados aguardando decisões de arquitetura. Mas o trabalho continua nos outros 12. Os bloqueios ficam invisíveis em meio à atividade.

No final do sprint, esses 3 itens ainda estão bloqueados. Agora é uma crise. "Por que ninguém levantou isso?" Porque o sistema não forçou.

Sistemas push também escondem problemas de capacidade. Se você empurra mais trabalho do que pode lidar, o excesso simplesmente se acumula. O lead time cresce, mas de fora, "todo mundo está trabalhando duro."

Sistemas push otimizam para iniciar. Sistemas pull otimizam para finalizar.

Pensamento push: "Iniciamos 20 itens neste sprint!" (Mas finalizamos 8.) Pensamento pull: "Finalizamos 15 itens neste sprint." (E iniciamos 15.)

Qual seus clientes prefeririam?

Push: O Sprint Sobrecarregado

A equipe se compromete com 20 histórias com base na velocidade. Na metade, três histórias estão bloqueadas em uma dependência. O trabalho continua nas outras. Ao final do sprint: 8 completas, 12 parcialmente concluídas. Os 3 itens bloqueados ainda estão bloqueados.

Pull: Trabalho Bloqueado Surge Imediatamente

O limite de WIP é 3. O desenvolvedor puxa uma história mas ela está bloqueada em uma dependência. Ele não pode puxar nada novo—o limite foi atingido. O bloqueio fica imediatamente visível. A equipe se mobiliza para resolvê-lo. O lead time permanece curto.

3Pull Cria Responsabilidade

Sistemas pull são mais difíceis de manipular do que sistemas push.

Em um sistema push, você pode parecer produtivo enquanto acumula dívida. "Estou trabalhando em 8 coisas!" (Nenhuma finalizada.) "Completei 50 story points!" (Mas metade está presa em revisão.)

Em um sistema pull, o único trabalho válido é o trabalho finalizado. Você não pode iniciar algo novo até que algo seja finalizado. Manipular é mais difícil porque o sistema força a conclusão.

Essa responsabilidade se estende a questões de bloqueio:

  • No push: "Isso está bloqueado, mas estou trabalhando em outras coisas." (O bloqueio apodrece.)
  • No pull: "Não posso iniciar nada novo até que esse bloqueio seja resolvido." (O bloqueio força atenção.)

Sistemas pull alinham incentivos com resultados. O sistema recompensa finalizar, não iniciar. Recompensa desbloquear, não contornar bloqueios. Recompensa throughput, não ocupação.

Isso é desconfortável para algumas equipes. Sistemas push permitem que você se sinta produtivo mesmo quando não está entregando. Sistemas pull tornam a lacuna visível. Isso é uma funcionalidade, não um bug.

Pull Requer Coragem

Sistemas pull expõem problemas que sistemas push escondem. Algumas organizações adotam pull e depois o abandonam porque 'está expondo muitos problemas.' Esses problemas sempre existiram—pull apenas os tornou visíveis. O objetivo é corrigi-los, não reescondê-los.

Principais Conclusões
  • Sistemas push iniciam o trabalho com base em previsões; pull com base em capacidade
  • Push esconde problemas; pull os revela
  • Pull otimiza para finalizar; push para iniciar
  • Sistemas pull são mais difíceis de manipular—eles recompensam a conclusão
  • A visibilidade que pull cria é desconfortável mas valiosa