Um case de sucesso em equipe ágil, dedicada e remota com evolução adaptativa e gradativa do Scrum. José Eduardo Ribeiro Gerente de Projetos (Scrum Master) [email protected] Bruno Darcolitto Analista de Sistemas Sr. [email protected] Agenda • • • • • Quem somos Introdução ao case Desafios nos projetos de software Abordagem ágeis como alternativa Case Quem Somos A tem mais de 19 anos e nasceu com a proposta de oferecer suporte e monitoramento para estruturas de banco de dados e desenvolvimento de softwares sob medida. Hoje, a companhia atua em vários segmentos da área de TI, tendo constituído, de lá para cá, uma carteira com mais de 350 clientes ativos. Equipes ágeis dedicadas e remotas DNA ágil Por quê um case de sucesso? Novos clientes Equipes dedicadas no cliente Objetivo O intuito é demonstrar a experiência passada em desenvolver software com o framework ágil Scrum e como essa equipe de forma gradativa e adaptativa, por características do projeto, migrou-se integrando algumas boas práticas do Scrum para o Kanban. Como foi essa adaptação? Como algumas boas práticas e cenários do Scrum foram se encaixando nessa equipe de desenvolvimento? Será apresentado a experiência dessa evolução adaptativa e como incorporamos algumas cerimonias e boas práticas do Scrum com essa nova abordagem com Kanban. História Início do projeto em agosto de 2012 Como foi a notícia do projeto? Qual forma de trabalho usávamos? Visão do projeto Adequação as necessidades do cliente! Equipe dedicada e remota Como Fazer? Novos desafios Framework ágil: Scrum O Scrum não é um processo previsível, ele não define o que fazer em toda circunstância (ken Schwaber, 2004) Marktplace Formatação do Projeto Equipe Infraestrutura Remota Equipe BackOffice Dedicada Equipe experiências do usuário Ágil (Scrum) Configuração do time • Analistas de sistemas back-end • Analista de sistema front-end • Analista de teste • Scrum Master Ferramentas de Eng. de Software • Testes funcionais • Testes automatizados • Testes unitários • Testes de regressão • Integração contínua No Scrum, iterações de duração fixa são prescritas! (cadência única) Estamos usando Scrum! (Kniberg, H.; Skarin, M. 2009) Primeira abordagem Sprint de 3 semanas Semana 1 Semana 2 Semana 3 Semana 4 Semana 5 Semana 6 Review Retrospectiva Planejamento Release Segunda abordagem Sprint de 2 semanas Semana 1 Semana 2 Semana 3 Semana 4 Semana 5 Semana 6 Review Retrospectiva Planejamento Release Quadro de tarefas - Scrum Métricas com Scrum Velocidade do time Pontos por história Tasks x Defeitos Estatísticas Métricas com Scrum Velocidade do time Pontos por história Tasks x Defeitos Estatísticas Média de velocidade do time 70 65 64 Pontos de história por Sprint 60 57 55 48 53 50 45 44 45 40 39 35 39 36 37 35 30 25 20 PONTOS ENTREGUES 28 29 1 28 2 29 31 3 39 4 36 5 64 6 53 7 57 8 39 9 37 10 44 11 31 12 35 13 45 14 48 Métricas com Scrum Velocidade do time Pontos por história Tasks x Defeitos Estatísticas Pontos x História 64 57 53 44 39 37 35 31 29 28 3 1 39 36 5 2 48 45 4 3 4 4 4 5 4 6 6 4 7 8 8 PONTOS ENTREGUES 9 HISTÓRIAS 9 4 10 4 11 12 7 13 4 14 Métricas com Scrum Velocidade do time Pontos por história Tasks x Defeitos Estatísticas Tasks x Defeitos Tasks x Defeitos 120 104 101 100 86 101 78 80 62 60 66 74 56 56 41 20 7 9 15 15 TASKS INICIAIS TASKS FINAIS DEFEITOS 1 41 62 4 2 66 67 7 3 56 56 15 4 101 104 7 5 74 78 9 6 31 35 15 80 65 69 50 36 35 7 68 74 31 40 0 75 94 67 101 83 36 39 19 24 8 17 7 86 94 8 38 8 68 74 19 9 65 83 17 14 10 36 69 14 18 11 38 39 18 21 14 12 101 101 24 13 75 80 21 14 36 50 14 Tasks x Defeitos 16% 84% TASKS FINAIS DEFEITOS Métricas com Scrum Velocidade do time Pontos por história Tasks x Defeitos Estatísticas Estatísticas Necessidade de uma nova abordagem Unir boas práticas do framework Scrum em uma abordagem mais voltada ao Kanban Scrum melhora e agiliza os processos envolvidos no desenvolvimento de software. O que fazer quando necessidades de projeto Necessidade de mudam? maior agilidade Resposta mais ágil a nas entregas. dinâmica de negócios? Necessidade de flexibilidade que vá além da oferecida por iterações fixas e planejadas. SCRUM/KANBAN Um pouco sobre Kanban “O sistema Kanban para desenvolvimento de software representa uma implementação mais direta dos princípios de desenvolvimento Lean de produto para os métodos ágeis tradicionais” (Boeg, Jesper. 2012) Scrum é mais prescritivo que Kanban! Mais Prescritivo Mais Adaptativo (Kniberg, H.; Skarin, M. 2009) Marktplace Formatação do Projeto Remota Dedicada Equipe BackOffice Ágil (Scrum) Ágil (Scrum/Kanban) Como a nossa equipe de forma gradativa e adaptativa, por características do projeto, migrouse integrando algumas das boas práticas do Scrum para o Kanban? Primeira abordagem (cadenciado) Semana 1 Semana 2 Semana 3 Semana 4 Semana 5 Semana 6 Review Retrospectiva Planejamento sob demanda Release sob demanda Segunda abordagem (mais orientado a eventos) Review Retrospectiva quando necessário Planejamento sob demanda Release sob demanda Semana 1 Semana 2 Semana 3 Semana 4 Semana 5 Semana 6 Terceira abordagem (mais orientado a eventos) Review Retrospectiva semanais e não formais Planejamento sob demanda Release sob demanda Semana 1 Semana 2 Semana 3 Semana 4 Semana 5 Semana 6 Semelhanças x diferenças - Scrum e Kanban Kanban limita WIP por estado de fluxo de trabalho e Scrum por iteração. (Kniberg, H.; Skarin, M. 2009) Semelhanças x diferenças - Scrum e Kanban Características SCRUM KANBAN TIME Empíricos Baseados no desenvolvimento incremental Resistência a mudanças na iteração > < / < Tempo Resposta Prescreve equipes multifuncionais Prescreve estimativas e velocidade Prescreve reuniões diárias Métricas com Kanban em relação ao Scrum Lead Time Média de histórias Porcentagem de histórias Métricas com Kanban em relação ao Scrum Lead Time Média de histórias Porcentagem de histórias #1 - Lead Time no Kanban Total (Throughput \ WIP ) 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 mês: Janeiro 2 3 6 7 8 9 10 13 14 15 16 17 20 21 22 23 24 27 28 29 30 31 #2 - Lead Time no Kanban Total (Throughput \ WIP ) 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 mês: Maio 5 6 7 8 9 12 13 14 15 16 19 20 21 22 23 26 27 28 29 30 Métricas com Kanban em relação ao Scrum Lead Time Média de histórias Porcentagem de histórias Amostragem: 9 Meses Story x Meses 12 11 10 9 8 Story 8 9 9 8 8 7 7 6 6 5 4 5 4 4 4 4 4 3 4 5 6 7 3 2 0 0 1 2 Meses Scrum Kanban 8 9 10 Amostragem: 9 Meses Quantidade de 42 histórias Scrum Quantidade de histórias Kanban 73 Média de Histórias por mês Scrum 3,3 Kanban 8,1 Métricas com Kanban em relação ao Scrum Lead Time Média de histórias Porcentagem de histórias Amostragem: 9 Meses Quantidade de histórias Scrum 42 Porcentagem Scrum Quantidade de histórias Kanban 73 Porcentagem Kanban Agilidade: 27% 36,5% 63,5% Alguns benefícios com a evolução gradativa e adaptativa com Scrum • Experiência com o progresso do projeto • Histórias menores para melhorar o fluxo ágil do Kanban; • Primeira abordagem - histórias definidas para entregar no máximo em uma semana; • Segunda abordagem - histórias definidas para entregar cada 2 ou 3 dias; • Impedimento: processo Itil. Primeiro fluxo de tarefas com Kanban Segundo fluxo de tarefas com Kanban Terceiro fluxo de tarefas com Kanban Equipes ágeis dedicadas e remotas DNA ágil Por quê um case de sucesso? Novos clientes Equipes dedicadas no cliente Maior fluidez das user stories Nenhum rollback com Kanban Maior fluxo de stories (Kanban) com melhorias em produção Time adaptado à mudanças Por quê um case de sucesso? Apenas 1 rollback de incremento em produção Contato natural com o cliente Time concentrado em melhoria contínua TODAS Sprint DONE Thiago Analista de Sistemas Eduardo Scrum Master Nayra Analista de Testes Renan Analista de Sistemas Obrigado Reinaldo WebMaster /Analista de Sistemas Bruno Analista de Sistemas Colaboradores: Fábio Leme, Lucas Borges Correa e Rafael Pavanelli