Simyl
simylflow
Início do Curso
Módulo 2: Os Sete Desperdícios
Lição 2 de 6
10 min

Desperdício 1: Trabalho Parcialmente Concluído

Inventário em software—código que existe mas não está em produção.

1Inventário no Trabalho do Conhecimento

Na manufatura, inventário são peças e produtos parados em prateleiras—dinheiro imobilizado, espaço consumido, valor não entregue. A manufatura enxuta famosamente minimizou o inventário a quase zero.

Em software, o inventário é menos visível mas igualmente problemático:

  • Branches não mesclados: Código escrito mas não integrado
  • Pull requests abertos: Mudanças aguardando revisão
  • Funcionalidades não lançadas: Trabalho concluído parado atrás de feature flags
  • Itens de backlog: Ideias documentadas mas não construídas
  • Documentos de requisitos: Especificações escritas mas não implementadas
  • Designs: Mockups criados mas não construídos

Isso é trabalho parcialmente concluído—esforço investido mas valor não entregue. É a forma mais cara de desperdício porque representa investimento real com retorno zero.

O Problema da Deterioração

Inventário físico fica em uma prateleira. Inventário de software se deteriora. Um branch não mesclado se torna mais difícil de mesclar a cada dia conforme o branch principal evolui. Documentos de requisitos ficam desatualizados conforme o entendimento muda. Quanto mais tempo o trabalho parcialmente concluído fica parado, mais esforço é necessário para finalizá-lo.

2Por Que o Inventário se Acumula

Equipes raramente criam inventário intencionalmente. Ele se acumula através de:

Tamanhos de lote grandes: Quanto maior a funcionalidade, mais tempo até que esteja pronta. Um projeto de três meses são três meses de inventário antes que qualquer valor seja entregue.

Sistemas push: Trabalho atribuído com base na disponibilidade em vez da capacidade. Quando você começa mais do que pode terminar, o inventário cresce.

Feedback atrasado: Esperar por revisões de código, QA ou aprovações. Cada fila é acumulação de inventário.

Trabalho prematuro: Iniciar itens antes de serem necessários. Escrever especificações para funcionalidades que podem não ser construídas. Projetar para requisitos futuros imaginados.

Medo de mesclar: Equipes que têm medo de integrar mantêm mudanças isoladas. Quanto mais esperam, mais assustadora a integração se torna, criando um ciclo vicioso.

A solução não é trabalhar mais rápido—é trabalhar menor. Reduza os tamanhos de lote. Implemente integração contínua. Puxe trabalho com base na capacidade, não empurre com base em atribuições.

Os 47 PRs Abertos

Uma equipe tem 47 pull requests abertos, alguns com meses de idade. Cada um representa investimento não entregando valor. Conflitos de mesclagem se acumulam. O contexto é perdido. Eventualmente, PRs são abandonados completamente—100% de desperdício.

Desenvolvimento Baseado em Trunk

Uma equipe faz commits no main várias vezes por dia. Nenhum branch vive mais de algumas horas. PRs são minúsculos e revisados rapidamente. O inventário permanece próximo de zero. O lead time cai de semanas para horas.

3Reduzindo Trabalho Parcialmente Concluído

Estratégias para reduzir inventário:

Termine antes de começar: Estabeleça limites de WIP. Antes de começar algo novo, termine algo em progresso. "Pare de começar, comece a terminar."

Reduza os tamanhos de lote: Divida funcionalidades grandes em incrementos pequenos e independentemente valiosos. Entregue cada incremento antes de começar o próximo.

Integração contínua: Mescle no main constantemente. Não deixe branches viverem mais de um dia. Torne a integração entediante através da frequência.

Ciclos de feedback rápidos: Se PRs esperam dias por revisão, isso é inventário. Priorize a revisão. Torne-a rápida. Melhor ainda, faça pair programming para que a revisão seja integrada.

Elimine pré-trabalho: Não escreva especificações para funcionalidades que não são as próximas. Não projete sistemas que você não está construindo neste sprint. Planejamento just-in-time.

O objetivo é fluxo: o trabalho se move pelo sistema sem se acumular em nenhum estágio. Quando você vê inventário se acumulando, você encontrou um obstáculo ao fluxo.

Meça Isso

Conte seu trabalho em progresso. Quantos itens estão iniciados mas não concluídos? Quantos PRs estão abertos? Quanto código não lançado existe? Acompanhe esses números. Reduzi-los é geralmente o caminho mais rápido para entrega mais rápida.

Principais Conclusões
  • Trabalho parcialmente concluído é inventário—investimento sem retorno
  • Inventário de software se deteriora, diferente do inventário físico
  • Lotes grandes e sistemas push criam acumulação de inventário
  • Termine antes de começar—pare de começar, comece a terminar
  • Integração contínua mantém o inventário próximo de zero

Exercícios Práticos