10 passos para melhorar processos com
Kanban
Lucas Takeshi Rodrigues Palma
github.com/lucaspalma
Quantos aqui otimizaram/melhoraram seu processo no último ano?
Nos últimos 6 meses?
Neste mês?
Esta semana?
Hoje?
Por que melhorar um processo?
As coisas mudam rápido
Pessoas
Tecnologias
Mercado
Empresa
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
Como?
K
anban
com K maiúsculo
modelo de desenvolvimento
Lean + Ágil
Os 10 passos para adotar coisas de Kanban
Passo 1: Visualize todo o fluxo de trabalho
AVISO
Não tente melhorar ainda
Isso virá mais para frente
Passo 2: Trabalho em progresso (WIP)
Exemplo:
Meu time entrega 4 histórias a cada semana
Tenho 80 histórias sendo desenvolvidas atualmente
Em quantas semanas eu termino tudo?
20 semanas
(= 80/4)
Lei Little
Tempo de ciclo = WIP / Produção por unidade de tempo
Como reduzir o tempo de ciclo de 20 para 10?
Dobra-se a produção
Diminui o WIP
Passo 3: Estabelecer políticas explícitas para garantia de qualidade
Passo 4: Ajustar cadências
Como eu sei se minha funcionalidade está certa?
Preciso do feedback do usuário
Entraga frequente e feedback rápido
Mas quantas histórias eu envio por deploy?
Exemplo: meu desenvolvedor ganha 1 real por minuto
Fazer o deploy leva em torno de 10 minutos de 1 desenvolvedor
Tenho 10 histórias sendo desenvolvidas
Deployar 1 de cada vez, qual o custo total?
100 reais
E 2 por vez?
50 reais
Se separar em 2 deploys (5 de cada vez)?
20 reais
Deployar as 10 juntas?
10 reais
Mas cada história que eu entrego gera uma economia para a empresa de 5 reais
Se segurar 10 histórias, quanto deixei de ganhar?
50 reais
Se segurar 5 histórias para 2 deploys?
25 reais
Se segurar de 2 em 2 histórias?
10 reais
Se segurar 1 por vez?
5 reais
Passo 5: Medir o fluxo
Passo 6: Priorização
Como informar qual a prioridade no kanban?
Passo 7: Identificação de classes de serviço
Suponha que em média, tenho 10 histórias sendo desenvolvidas
Surge um bug que está atrapalhando metade dos seus usuários
O que você faz?
Depende
Se o bug está impedindo que metade dos meus usuários façam login no sistema?
Urgente
O bug é só um elemento desalinhado nos navegadores firefox?
Mó da para esperar
O financeiro não consegue fazer o pagamento dos instrutores?
Mas o pagamento é dia 25 e estamos no primeiro dia do mês.
Descobrir os tipos de trabalho
Histórias dos usuários, bugs e infra
Quebrar em subtipos
Cosmético, Crítico, Impeditivo, Com prazo
Classes de serviço
Traduzindo: qual a prioridade dessa coisa no kanban?
Classe Padrão
Tipos de trabalho: História do usuário em geral, infra, bugs cosméticos
Tratamento especial: Nenhum
Classe Prioritária
Tipos de trabalho: Bugs Críticos
Tratamento especial: Ganha prioridade em todos os estágios
Classe de Prazo Fixo
Tipos de trabalho: Histórias do usuário ou bugs com prazo
Tratamento especial: Tem prioridade em todos os estágios, se o prazo estiver próximo; caso contrário é tratada como uma classe de serviço padrão.
Classe Urgente
Tipos de trabalho: Bug impeditivo
Tratamento especial: Rompe os limites do WIP, para todo o WIP existente; implantação emergencial
Passo 8: Gerenciamento do fluxo
Passo 9: Estabelecer SLAs
Quando o cliente passa um conjunto de tarefas, o que ele está interessado em saber?
Com tantas métricas e controles de fluxo até rola estimar tempo
Acordos de níveis de serviços
Classe padrão SLA:
Média: 15 dias
90% dentro do prazo de 21 dias
Todas no prazo máximo de 30 dias
Passo 10: Melhoria contínua
Só agora?
Visualizando todo processo é possível melhorar aos poucos todos os dias
Melhorar e testar mudanças com dados reais e visíveis
Referência
BOEG, J. Kanban em 10 passos: Otimizando o fluxo de trabalho em sistemas de entrega de software.
https://www.infoq.com/br/minibooks/priming-kanban-jesper-boeg