Escolar Documentos
Profissional Documentos
Cultura Documentos
Disclaimer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv
A série Lean Strategy . . . . . . . . . . . . . . . . . . . . iv
Lean Inception . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Acompanhamento Lean . . . . . . . . . . . . . . . . . . . . . 63
O entendimento da iniciativa via MVP . . . . . . . . . . 63
O planejamento do produto e seus MVPs . . . . . . . . . 64
O acompanhamento da criação do produto via MVP . . 66
Paulo Caroli
Plan
Vamos planejar as ações estratégicas organizacionais para alcançar
nossos objetivos. Para tanto, vamos manter um portfolio dinâmico,
que nos permita compreender e agrupar as iniciativas, permitindo
tanto (1) uma priorização inicial quanto (2) o redirecionamento
baseado no feedback de cada iniciativa.
Do
Dado uma iniciativa priorizada, vamos compreendê-la, e executá-la
de forma enxuta, ágil e centrada no feedback dos nossos usuários.
Para tanto faremos entregas rápidas e frequentes.
O ciclo PDCA do Lean Strategy 3
Check
Medimos o uso de cada MVP. Essas métricas são essenciais para
validação de hipóteses e ajustes na evolução de nossas iniciativas,
baseado no feedback de uso.
Act
Decidimos como proceder com cada iniciativa: pivotar, prossegir,
ou cancelar. Vamos rever as hipóteses iniciais (PLAN) e os dados
de uso dos MVPs (CHECK). Iremos também comparar as diversas
iniciativas perante o orçamento da Unidade de Negócio (UN) e os
OKRs, os nossos direcionadores de negócio ativos, atualizados e
acionáveis.
Lean Inception
Lean Inception é um workshop colaborativo para alinhar um grupo
de pessoas a construir o produto certo.
Tipicamente um grupo de pessoas vai começar a trabalhar em um
produto digital. Vários podem ser os motivos para se trabalhar em
um produto digital:
o ciclo Construir-Medir-Aprender
O sequenciador
Conforme descrito no livro Lean Inception, o sequenciador auxilia
na organização e na visualização das funcionalidades e da sequên-
cia de liberação de entrega incremental do produto mínimo e viável,
o MVP. O sequenciador organiza e planeja entregas do produto,
deixando claro as funcionalidades do MVP e os incrementos subse-
quentes.
Calculando esforço, tempo e custo 13
Sequenciador
Template do sequenciador
Imagine uma sequência de ondas, uma depois de outra, e elas são,
aproximadamente, do mesmo tamanho. Essas ondas estão numer-
adas: 1, 2, 3 e assim por diante. Esse é o template do sequenciador.
Calculando esforço, tempo e custo 15
sequenciador de funcionalidades
As regras do sequenciador
Essas são as seis regras para adicionar cartões às ondas do se-
quenciador. Elas foram definidas depois de aplicar essa forma de
organização e priorização de funcionalidades inúmeras vezes.
Detalhando a amostra de
funcionalidades em tarefas
O tamanho das ondas é parecido. Logo, escolha duas ou três e use-
as para gerar informações detalhadas de esforço, tempo e custo.
Duas ou três ondas são suficientes para dar uma boa noção de tais
parâmetros e gerar uma média efetiva.
Passo a passo da atividade
Calculando esforço, tempo e custo 17
Dimensionamento de tarefas
Esta atividade é muito simples, mas essencial para entender o
esforço relativo das tarefas.
Passo a passo da atividade
tarefas dimensionadas em P, M ou G
Tirando a média
A partir do entendimento de esforço da atividade anterior, so-
mamos o tempo estimado para cada tarefa de cada funcionalidade,
e, com isso, somamos a duração prevista por funcionalidades de
Calculando esforço, tempo e custo 23
tirando a média
exemplo de resultado
Time multi-funcional
Times ágeis – squads – são multifuncionais. Isso significa que todos
membros do time se ajudam nas variadas tarefas, independente
dos seus conhecimentos e afazeres preferidos e cotidianos (devs
gostam de escrever código, testadores gostam de testar, UX gostam
de refletir sobre usabilidade, etc).
Mas, muitas vezes, uma pessoa que faz testes não necessariamente
sabe escrever código funcional. Assim como um PO, geralmente
não sabe escrever código funcional.
Em contra-partida uma pessoa desenvolvedora sabe ajudar com
análise e entendimento das funcionalidades e seus pedaços menores
(historias do usuário e tarefas), e também consegue ajudar com
testes exploratórios e manuais.
Estimativa cascata ou ágil 30
o canvas MVP
Scrum
Scrum é um framework ágil para a conclusão de projetos com-
plexos. Scrum foi inicialmente formalizado para projetos de de-
senvolvimento de software, mas tem sido aplicado para qualquer
âmbito de projetos complexos, e trabalhos inovadores.
O Scrum é especialmente adequado para projetos com requisitos
que mudam rapidamente ou são altamente emergentes.
A Equipe Scrum
Scrum Master
Product Owner
A Sprint
Cerimônias da Sprint
Cerimônias da Sprint
Daily Sprint
Sprint Planning
Sprint Review
Retrospectiva
O planejamento da Sprint
Durante a Sprint
Revisão da Sprint
Kanban
Kanban é um método formulada por David J. Anderson¹ para
gestão do fluxo de trabalho de um processo incremental e evolutivo.
Influenciado pelo modelo Toyota Just-In-Iime², o método se baseia
em visualizar o fluxo de trabalho e, a partir disso, atuar no processo
para não sobrecarregar os membros da equipe.
Através de uma abordagem de gestão visual perante a cadeia de
valor, o processo, desde sua etapa inicial até a entrega do trabalho,
é exposto aos membros da equipe. Tipicamente a cadeia de valor é
representada em quadros brancos com post-it ou ferramentas on-
line. Processo, itens de trabalho, bem como os trabalhadores estão
visualmente representados nesses quadros, comumente chamados
de kanban boards, ou kanban (isso mesmo, o método e o nome do
quadro se confundem). A partir do kanban, fica mais fácil para a
equipe decidir o que, por quem, quando, e quanto produzir.
No desenvolvimento de software, normalmente uma pequena tarefa
¹Kanban: Successful Evolutionary Change for Your Technology Business by David Ander-
son, Blue Hole Press Inc (2013)
²Ohno, Taiichi. (1988) Toyota Production System. Productivity Press
Construindo MVP com Kanban 45
leva de horas à dias para ser concluída. Além disso, você não
consegue visualizar quantos requisitos estão atualmente em análise;
ou quantos requisitos estão atualmente sendo codificados ou tes-
tados. O fato é que não conseguimos “ver” o item de trabalho
relacionado ao software, e como este se move ao longo das etapas
de do processo, até que esteja pronto. Aqui é onde tudo começa:
kanban torna tais itens em construções visíveis!
Visualize o workflow
Limite o WIP
O MVP no Kanban
O fluxo de trabalho do MVP é simples. Para cada MVP, temos
as features a serem trabalhadas, as features em construção e as
features prontas. Isso representa o seguinte fluxo, no nível de
funcionalidade: funcionalidade na fila -> funcionalidade em con-
strução -> funcionalidade pronta.
Uma vez que uma funcionalidade entra na etapa de funcionalidade
em construção, primeiro precisamos quebrar esta funcionalidade
Construindo MVP com Kanban 48
O Sequenciador de Features, agora sem os cartões das features que foram para
o kanban
Kanban no dia 2
Kanban no dia 3
Construindo MVP com Kanban 51
Kanban no dia 4
Kanban no dia 6
Kanban no dia 8
Construindo MVP com Kanban 55
Kanban no dia 9
o canvas MVP
O acompanhamento da criação do
produto via MVP
Devemos fazer o acompanhamento periódico (por exemplo sem-
anal, ou a cada Sprint – para das equipes usando Scrum) em relação
Acompanhamento Lean 67
o burn-up de MVP
Nome do MVP
O nome do MVP é utilizado dentre várias conversas, desde a sua
concepção, passando pela criação, até a entrega, coleta de feedbacks
e validações de hipóteses. Ter um nome claro e específico é essencial
para evitar quaisquer confusão sobre o MVP em questão.
Estado atual
Qual situação atual deste MVP? Tudo ok para o término das features
do MVP na data prevista? Sim (verde), médio (amarelo), ou não
(vermelho).
Estado e % de completude da
funcionalidade
O estado e % de completude da funcionalidade representam o
estado atual da funcionalidade em relação a sua completude. Esses
parâmetros devem ser alterados nos relatórios, refletindo o estado
atual de cada funcionalidade.
O estado varia entre: não começou -> em construção -> pronto.
O % de completude varia entre 0 e 100%. É comum que times deci-
dam valores arredondados e pré-definidos como 0%, 25%, 50% 75%
e 100%. Alguns times utilizam fórmulas para calcular tais valores,
enquanto outros decidem tais valores com menos matemática. O
importante é que o racional do valor demonstrado seja o mesmo
entre diferentes features.
Status report do MVP 73
Os eixos do burn up
O eixo vertical é a quantidade de features para o MVP, e é medido
em unidades, por exemplo 9 features. O eixo horizontal representa
o tempo, normalmente medido em dias ou semanas.
Equipes ágeis experientes lidam com tal curva de duas formas: (1)
Iteração ou Sprint 0, ou (2) entendimento do tempo de atravessa-
mento inicial.
Iteração ou Sprint 0 é um termo comum utilizado para ressaltar
que não haverá entrega de funcionalidade numa primeira iteração
ou Sprint. O gráfico abaixo demonstra como tal artimanha (Sprint
0) alinha a expectativa de entrega de funcionalidade com o ritmo
inicial ainda por começar.
Burn-up de Features do MVP 78
Verificando o progresso
De tempos em tempos você deve verificar a quantidade de features
já construídas e a quantidade total de features planejadas para o
MVP. A distância entre as linhas horizontais marcando as features
atualmente prontas e a última funcionalidade a ser construída é a
indicação da quantidade de features restantes.
Burn-up de Features do MVP 79
verificando progresso
CFD na semana 2
Diagrama de Fluxo Cumulativo 83
CFD na semana 5
CFD na semana 7
CFD na semana 10
Diagrama de Fluxo Cumulativo 84
Interpretando o CFD
Abaixo, está um CFD com muitos de seus parâmetros. Cada um
deles será explicado em detalhes nas próximas seções.
Itens de trabalho
O número em cada célula da tabela apresentada representa a
quantidade de itens de trabalho naquela etapa para tal semana.
É importante esclarecer que o item de trabalho é uma unidade
que faz sentido para quem vai ler o CFD. Exemplos comuns
de itens de trabalho na área de desenvolvimento de software
são: funcionalidades, ponto de função, histórias, ponto de
Diagrama de Fluxo Cumulativo 86
taxa de conclusão
A regra de três:
“A regra de três, na matemática, é uma forma de se descobrir
uma quantidade que tenha para outra conhecida a mesma
Diagrama de Fluxo Cumulativo 88
regra de três
Mudança no escopo
A linha do escopo é a linha horizontal que computa o total de
itens de trabalho. Essa linha é claramente definida e deve mudar
apenas quando os itens de trabalho são adicionados ou removidos
do escopo de trabalho.
O escopo total do CFD deve computar todos os itens de trabalho
do sistema, sejam eles já feitos, em andamento, ou a fazer. Se um
novo item de trabalho surge, ele deve ser adicionado no escopo de
trabalho total e a linha de trabalho total deve ser ajustada. Dessa
forma, a nova linha torna fácil identificar quando um trabalho está
sendo adicionado. A linha de escopo também monitora quando
itens de trabalho estão sendo removidos. Este cenário é ilustrado
na figura abaixo.
Diagrama de Fluxo Cumulativo 89
WIP no CFD
Lei de Little
Lei de Little: O número médio de itens de trabalho em
um sistema estável é igual à sua taxa de conclusão,
multiplicado pelo tempo médio no sistema. ∼ John Little,
1961
bar de whisky
Estabilizando o sistema
Sempre que uma garrafa termina, ela é removida do bar.
Então, uma nova é aberta e colocada no bar.
Diagrama de Fluxo Cumulativo 99
Sistema Puxado
O Sistema Puxado descreve o movimento de itens de trabalho
guiados pela demanda. No exemplo do bar, uma garrafa terminada
abre uma vaga no bar. Assim, cria uma demanda para uma nova
garrafa ser aberta e colocada no bar. Essencialmente, o movimento
dos itens de trabalho (garrafas de whisky) é guiado pela demanda
vigente: uma garrafa é removida do bar, abrindo espaço para uma
nova que será prontamente adicionada ao bar, ocupando o espaço
vazio.
Sistema Puxado
Sistema Empurrado
Sistema Estável
O bar de whisky é um sistema estável: a taxa de entrada de garrafas
no bar é a taxa de saída das mesmas. Simples assim!
Diagrama de Fluxo Cumulativo 101
Estabilidade no sistema
O CFD é seu melhor aliado para estabilizar o sistema. Nele, você
pode claramente visualizar as taxas de entrada e saída. As próximas
três imagens retratam: 1) a taxa de entrada, isto é, a taxa na qual
os itens estão sendo adicionados ao sistema; 2) a taxa de saída, isto
é, a taxa na qual os itens estão saindo do sistema; e 3) um sistema
estável, em que a taxa de entrada se iguala à taxa de saída.
Nestes CFDs, você pode, mais uma vez, perceber a Lei de Little:
reduzir o WIP reduz o tempo de atravessamento. Note que o
modelo do CFD tem dados de um projeto real. Períodos instáveis
acontecem. O ponto principal é que o CFD é uma ferramenta para
perceber e agir sobre a instabilidade. As duas figuras seguintes
demonstram o projeto-modelo. Ele começou estável, passou por um
momento de instabilidade (no qual o time agiu sobre ele), e então
seguiu para outro período estável.
Diagrama de Fluxo Cumulativo 104
Objetivos do jogo
Esse jogo começa após uma Lean Inception (LI) e uma Sprint 0. O
sequenciador apresentado é resultado da LI. Na Sprint 0, a equipe
construiu o set-up inicial de entrega continua num trunk único,
feature toggles, e o esqueleto de uma suíte automatizada de testes
de regressão.
Esse jogo é baseado em dados de um projeto real, onde eu facilitei
a LI, e depois assumi o papel de ScrumMaster da equipe. Eu
apliquei os conceitos compartilhados nesse livro – Lean Product
Development: guiando a construção do MVP com Scrum e Kanban.
sequenciador do jogo
cascata vs agil
reports do jogo
Sobre a equipe
As etapas do Kanban
O Kanban do jogo possui o seguinte fluxo: Prep for Dev -> Ready
for Dev -> In Dev -> Read for Test -> Testing -> Release
Neste fluxo, as etapas Prep for Dev, In Dev, e Testing representam
etapas de ação onde os membros da equipe trabalham nas ativi-
dades específicas de cada etapa, enquanto as outras representam
filas de espera para mover o item doe trabalho para uma etapa de
ação, no caso de ready for Dev e Ready for Testing, e para mover o
item a produção, no caso da etapa Release.
Segue um resumo das atividades em cada etapa do fluxo:
In dev
In Testing
Bom jogo!