Corte horizontal x corte vertical
As fatias verticais geram valor; as fatias horizontais geram promessas. Por que a divisão por camada tecnológica adia a geração de valor e como dividir por resultado para o usuário para que algo seja entregue a cada sprint.
A divisão vertical segmenta uma história com base nos resultados para o usuário; a divisão horizontal, com base nas camadas técnicas. Essa única escolha determina se cada segmento entrega algo ou nada. Os segmentos verticais entregam valor. Os segmentos horizontais entregam promessas.
Cortar horizontalmente é como quando uma faca corta a massa: você acaba com duas metades de nada.
A diferença
A divisão horizontal ocorre por camadas arquitetônicas: front-end neste sprint, back-end no próximo e banco de dados no sprint seguinte. O trabalho se encaixa nos sprints, mas nenhum sprint isolado produz algo que os usuários possam experimentar. Os índices de velocidade da equipe aumentam; o registro de alterações visível ao usuário permanece vazio.
O corte vertical divide-se de acordo com os resultados para o usuário. Uma fatia fina que abrange todas as camadas: um único botão que realmente funciona de ponta a ponta, mesmo que lide apenas com um caso de entrada. A equipe lança menos por fatia, mas cada fatia é um produto real e pronto para lançamento. O registro de alterações vai se enchendo, os usuários veem o progresso e a equipe pode ajustar o rumo com base no uso real, em vez do uso previsto.
Quando o corte horizontal parece necessário
Normalmente não é assim. “Precisamos do esquema do banco de dados antes de podermos construir a interface do usuário” é a justificativa clássica, e quase sempre dá lugar a “podemos codificar a resposta estaticamente, lançar a interface do usuário e construir o banco de dados na próxima fase”. O desconforto de entregar um backend falso é real, mas é menor do que o desconforto de não entregar nada por três sprints.
A exceção: o trabalho fundamental em plataformas
Algumas infraestruturas não apresentam uma parte visível ao usuário até que estejam totalmente concluídas: a migração para um novo provedor de autenticação, a troca de um backend de fila ou a substituição do pipeline de implantação. Esses são projetos, não histórias. Trate-os como tal: não os divida horizontalmente e finja que são histórias. Avalie-os como um projeto, comunique o cronograma e aceite que a velocidade da equipe refletirá o investimento. Apresentar uma migração de três sprints como três “histórias” engana apenas o gráfico de burndown.
Se uma fatia não oferecer nada que o usuário possa usar, ela não é uma fatia.
Perguntas frequentes
O que é o “slicing vertical” na metodologia ágil?
O corte vertical divide uma funcionalidade de acordo com os resultados para o usuário, de modo que cada fatia seja um corte fino que atravessa todas as camadas (interface do usuário, lógica e dados) e que ofereça algo que o usuário possa realmente usar, mesmo que trate apenas de um caso específico. Cada fatia pode ser lançada de forma independente.
Qual é a diferença entre o corte horizontal e o corte vertical?
A divisão horizontal separa por camada técnica — um sprint para o front-end e o próximo para o back-end —, de modo que nenhum sprint isolado produz algo que o usuário possa utilizar. A divisão vertical separa por resultado para o usuário, de modo que cada parte entregue um caminho funcional de ponta a ponta. As partes verticais entregam valor; as partes horizontais entregam promessas.
Por que o corte vertical é melhor?
Porque cada parte é algo concreto e pronto para ser entregue. O registro de alterações vai se enchendo, os usuários percebem o progresso e a equipe pode ajustar o rumo com base no uso real, em vez de no uso previsto. A divisão horizontal aumenta os índices de velocidade, enquanto o produto voltado para o usuário permanece inalterado durante os sprints.
Quando a divisão horizontal é aceitável?
Quando o trabalho consiste em tarefas fundamentais de plataforma, sem nenhuma parte visível ao usuário até que esteja concluído — como migrar provedores de autenticação, trocar um backend de fila ou substituir o pipeline de implantação —, esses são projetos, não histórias: avalie-os como tal e comunique o cronograma, em vez de fingir que eles podem ser divididos.
Leitura relacionada
- Divisão de histórias de usuário: o kit de ferramentas completo e como distinguir uma divisão verdadeira de uma falsa.
- Divisão de histórias no SPIDR: cinco cortes verticais confiáveis.
- Estimativa ágil: o guia completo: o centro de informações sobre tudo o que há para saber aqui.