Fluxo, Cadências de desacoplamento e Sprints de comprimento fixo

Atualização: criei um vídeo aqui para acompanhar esta publicação

Estive sob alguns incêndios ultimamente por sugerir que as equipes renunciam a sprints de comprimento fixo. O impulso é que os sprints de comprimento fixo são mais apropriados para equipes menos experientes, e o que é conhecido como "fluxo contínuo" é melhor para equipes de alto desempenho.

Nesta publicação, vou tentar chegar ao centro da questão, discutindo variabilidade, objetivos significativos e "independente e valioso" versus "pequeno e testável".

Espero mostrar que há um espectro de abordagens que podem ser usadas em conjunto e que equipes ainda menos experimentadas podem se beneficiar de experimentar com lotes de tamanho variável, fluxo, puxar e cadências fixas . Esta não é uma questão / ou uma pergunta.

Variabilidade

Os Sprints são interrompidos por vários motivos: abordando problemas de produção, dias de doença, dias de folga não planejados, reuniões aleatórias de empresas, problemas com ferramentas / encanamentos, etc. Juntamente com a natureza imprevisível do "trabalho" e a natureza imprevisível de "o trabalhadores ", e você tem muito que pode" dar errado ". Em qualquer sprint dado, somente tanto está no nosso controle (embora possamos trabalhar duro para remover impedimentos ao longo do tempo).

Isso é complicado ainda mais pelas dependências. O "auto-organizador" e o "cross-functional" são bons em teoria, mas poucas equipes – especialmente as equipes que começam – têm esse nível de autonomia. Transferências para QA, UX compartilhado, Ops compartilhados, conformidade, agendamentos de clientes, agendamentos de partes interessadas … nenhuma dessas coisas é ideal, mas eles acontecem (muito mais do que gostaríamos).

O ponto aqui é que, no mundo real, as coisas são bagunceadas. Há uma tonelada de variabilidade – mesmo em um curto sprint – e as equipes raramente atuam no vácuo. Isso pode tornar os sprints de previsão e definir "metas de sprint" extremamente difíceis. Para equipes iniciantes e experientes – especialmente com dependências – isso se torna uma provação síspica. Uma resposta é fazer o sprint ainda mais curto … e eu chegarei a isso abaixo.

Metas Significativas e Incrementos de Produto

Objetivos significativos nem sempre ocorrem na mesma caixa, N-semana / dia. Certo, você pode artificialmente "pegar" um objetivo para aumentá-lo, e encolher um objetivo para torná-lo menor, mas às vezes você precisará três dias (ou três horas) para validar uma suposição importante, e às vezes você precisará de quinze dias para juntar um fluxo de trabalho complexo. É assim que é. Muitas vezes eu vejo as equipes cozinhar "tipo de falso" (suas palavras) metas devido às restrições da caixa de tempo.

Como todas as histórias são independentes, mesmo os "tipos de objetivos falsos" estarão bem … certo? O valor ainda é entregue, mesmo que a equipe não consiga "o objetivo". Hmmm. Esse seria o caso se cada história fosse independente em relação ao objetivo da Sprint. Contudo…

Há um espectro aqui quando se trata do "Independente" e "Valioso" no INVEST. Uma história pode ser independente e valiosa desde o ponto de vista da aprendizagem e ajudar um usuário ao longo de um fluxo de trabalho, mas não independente do ponto de vista de um objetivo significativo. Aqui é onde o I e o V podem entrar em conflito com o Small e Testable. Seria maravilhoso se cada história de usuário representasse um objetivo de usuário orientado a resultados (ou objetivo de negócios) de ponta a ponta, mas geralmente não funciona dessa maneira.

O Guia Scrum descreve o sprint de comprimento fixo como um tipo de projeto de comprimento fixo:

Cada Sprint pode ser considerado um projeto com apenas um horizonte de um mês. Como projetos, os Sprints são usados ??para realizar algo. Cada Sprint tem um objetivo do que deve ser construído, um plano de design e flexível que orientará a construção, o trabalho e o incremento resultante do produto.

Operativo aqui é a idéia de "realizar algo", o que é ótimo em teoria. O que acontece na realidade, no entanto, é que as equipes começam por perguntar "quanto podemos fazer em [a duração do sprint]". Eles "preenchem" o sprint, em vez de começarem a partir de um significativo "incremento resultante do produto" para trás. O argumento é que 1) se tudo for valioso e independente, 2) tudo está ordenado, 3) há uma história de velocidade, e 4) há transparência … bem, tudo funcionará, e se algumas coisas forem "sobrando" no final … não é grande coisa.

O que acontece a seguir na prática? Um sprint termina sem um incremento resultante do produto (ou um incremento que realmente não atingiu o objetivo), há muita canção e dança enquanto as histórias são "punted" no próximo sprint e um novo objetivo – um amálgama estranho de o objetivo anterior e um novo objetivo – está definido.

Trabalho pequeno versus "Valor"

Mais uma vez, existe uma tensão entre os benefícios de trabalhar pequenas histórias pequenas, integrar e demitir freqüentemente, e entregar em produção com freqüência – e entregar valor (em diferentes escalas e resoluções). Os sprints curtos são extremamente valiosos porque nos ajudam a inspecionar / adaptar / integrar / verificar a realidade com mais freqüência. Mas você nem sempre será capaz de ajustar metas significativas naquela caixa de tempo. O que pressiona as equipes para estender o timebox … o que resulta em corridas que são muito longas.

Aqui está a minha opinião. Você está falando de duas cadências diferentes: os objetivos significativos (os incrementos de produtos valiosos), e os valiosos, apertados e freqüentes controles de feedback … que são super valiosos, mas não o mesmo tipo de valor. Não há como que um único, o tempo de iteração fixo possa acomodar a variedade de objetivos significativos. Às vezes, estamos fazendo um monte de pequenas otimizações. Às vezes, estamos testando a viabilidade básica de um novo produto. Às vezes, estamos girando o dia-a-dia.

Resumo até agora

Para resumir.

  • Encontramos uma tonelada de variabilidade (incluindo variabilidade muito fora do nosso controle).
  • Nossos objetivos significativos muitas vezes não se alinham com nossas histórias independentes e valiosas. Ambos são importantes.
  • Objetivos significativos não vêm no mesmo tamanho / forma
  • Há benefícios incríveis para "trabalhar pequenos", e há benefícios surpreendentes para ter um objetivo significativo (e flexível).
  • Há benefícios incríveis para inspeção e adaptação freqüente.

Cenário híbrido

Como uma equipe pode enfrentar esses desafios. Vou usar os acordos de trabalho de uma equipe real:

O time:

  1. tem uma lista prioritária de objetivos significativos (o backlog é descrito em objetivos, e não em histórias individuais)
  2. estabelece metas significativas que levam entre 1 dia e 30 dias (a equipe concorda com um período máximo de 30 dias, após o qual o objetivo total é reavaliado)
  3. aborda esses objetivos em série em uma base de puxar (um de cada vez, iniciando um objetivo somente após o último objetivo ter sido realizado)
  4. visualiza as dependências como estão e visualiza o impacto de interrupções imprevistas (por exemplo, problemas de produção)
  5. prevê a duração de "objetivos significativos" usando dados históricos (especialmente útil se houver muitos ruídos, interrupções, dependências, etc.)
  6. aborda o planejamento de metas em uma base just-in-time (mapas de histórias, etc.)
  7. tampa tamanhos de história individuais a <3 dias com emparelhamento frequente
  8. Encontra-se semanalmente para realizar uma retrospectiva e discutir o progresso
  9. Obtém novo trabalho em produção por trás de uma bandeira de recursos semanalmente (automatizada, semanalmente)
  10. realiza demonstrações e testes de usabilidade sempre que possível (usando montagem e / ou produção)

Este é um híbrido. Algumas coisas acontecem semanalmente, algumas coisas acontecem just-in-time, e algumas coisas acontecem em lotes automatizados e "sempre que possível" (por exemplo, o trem de lançamento semanal e os testes freqüentes).

Por quê? Benefícios …

O que esta acontecendo aqui? Os sprints de comprimento fixo são um tipo de jogo. Você joga o jogo, e há benefícios para jogar o jogo. A equipe só pode ir tão longe, e se você fizer isso "pelo livro", você acabará com um incremento de produto liberável no final de cada sprint. Se você ficar quieto, bem, tudo era independente de qualquer maneira (espero). Ou você apenas esmaga as coisas para o próximo sprint.

Há habilidade envolvida para fazê-los funcionar. Mas, honestamente, também há muita sorte no jogo. Eles também podem – em alguns casos – obscurecer o que realmente está acontecendo, especialmente quando você faz parte de um sistema maior, possui dependências e é responsável por um sistema de produção.

O modelo que compartilhei acima goza de alguns dos elementos de sprints de comprimento fixo. Mas em vez da canção e da dança no final de cada sprint, a equipe se concentra nos objetivos que importam. Ao mesmo tempo – e isso é importante – eles também se comprometem a trabalhar pequenos, e freqüentemente inspecionam, se adaptam e testam. Quando eles são atingidos com uma variabilidade inesperada, eles rolam com ele e trabalham na melhoria contínua para minimizar essas interrupções.

Trabalho pequeno + Trabalho significativamente + Inspecionar / Adaptar.

No encerramento

Não estou dizendo que os sprints de comprimento fixo são ruins. Eles podem trabalhar para você. Na verdade, digamos que você decidiu fazer um lançamento mensal de "algo novo". Bem, há seu incremento fixo. Mas um mês é muito tempo! Então, você ainda se beneficiaria de trabalhar com recursos pequenos, retro-semanais e, talvez, demoar / liberar apenas o tempo (com a maior freqüência possível) para alguns% de clientes.

O meu ponto é que não é nem tampouco. Você deve estar ciente de que nem todas as equipes fazem o Scrum pelo livro com sprints de comprimento fixo, retros no final de cada sprint e planejando uma cadência, etc. Existe um enorme espectro de abordagens que podem funcionar para você.

O que quer que você faça:

  1. Visualize seu trabalho como realmente acontece
  2. Inspecionar e adaptar
  3. Trabalho pequeno
  4. Integre e inspecione / adapte freqüentemente
  5. E faça um trabalho significativo / valioso

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *