Como ensinar Scrum na prática #2 – LuizTools
Algoritmo para arbitragem triangular com bot
Autenticação/Login em dapp Web3 com MetaMask - Parte 2
Autenticação/Login em dapp Web3 com MetaMask
Integração com MetaMask via JS - Parte 2
Inicial Guias de Estudo Meus Cursos Meus Livros Sobre Pesquisar
Como ensinar Scrum na prática #2
Escrito por Luiz Duarte em 23/12/2018
Junte-se a mais de 22 mil profissionais de TI
Entre para minha lista e receba conteúdos exclusivos e com prioridade
Em 2010 eu fiz um curso em SP de Scrum onde eu aprendi uma dinâmica para ensinar Scrum a outros times muito simples e divertida que consistia em, após estudar o básico da metodologia, em sintetizar o aprendizado em um folder, daí o nome da dinâmica que eu chamo de Agile Folder. Esta dinâmica pode ser conferida neste artigo aqui.
No artigo de hoje, vou falar de outra dinâmica que pode ser utilizada para ensinar Scrum na prática, oriunda de um treinamento de Agile Coach que fiz em 2018 com o Andy Barbosa, onde aprendemos alguns princípios em cima de uma Fábrica de Aviões. Obviamente estamos falando de aviões de papel. 🙂 Eu já fiz esse treinamento algumas vezes com times variados no Agibank, incluindo pessoas de áreas que não são de TI como Gestão de Pessoas, Backoffice, Marketing e tive excelentes resultados.
Veremos neste artigo:
Explicando a prática
Executando a prática
Quando acaba?
Reserve uma manhã ou tarde inteira, no mínimo, para realizar essa prática. Eu costumo fazê-la em uma manhã, em uma segunda-feira de preferência, que é para que eles tenham o restante da semana para aplicar o que foi aprendido.
Você precisará de um projetor digital ou televisor grande, uma sala que caiba toda sua equipe (ou faça turmas), um quadro branco ou mural para colar/fixar post-its/cartões (se não tiver, vai na parede mesmo), muitas folhas A4 (no mínimo 10 por pessoa) e tudo o que você encontrar para rabiscar: canetas, lápis, giz de cera, etc. É importante que as pessoas tenham mesas para trabalhar.
Instale algum software de cronômetro (como o CoolTimer) ou use algum Countdown Timer online ou em última caso tenha o seu celular carregado para usá-lo como cronômetro. E por fim, leve uma gravata com nó pronto e um boné e/ou apito. Se não tiver uma gravata, um blazer, jaleco ou paletó já resolve. Explicarei mais adiante.
Crie uma apresentação de slides ou alguma outra dinâmica qualquer que lhe permita dar um overview do Scrum e de alguns artefatos que você pretende utilizar na equipe para melhorar os processos de desenvolvimento. Caso não tenha ideia alguma para a apresentação, use esse meu exemplo do Slideshare. Note como estruturei apenas tópicos e poucas frases, isso faz com que o palestrante tenha de ter mais domínio sobre o assunto e passe mais confiança de que você sabe do que está falando. Aqui no blog tenho dois posts que podem te ajudar a se preparar para esse momento, este e este.
A sua apresentação de slides deve abrir o treinamento e não deve demorar mais de 1h. Peça que sua audiência leia o Scrum Guide antes de vir para o treinamento e que tragam dúvidas e questionamentos. Use cada uma dessas dúvidas para iniciar debates e facilitar a colaboração de todos, visando que fique claro que somente terão sucesso se todos tentarem. Após a teoria, diga que farão uma prática para que eles vejam como funcionam as reuniões e os papéis e até mesmo os problemas que o Scrum não vai resolver e que eles terão de buscar soluções por conta própria.
Se o seu time não é composto por profissionais de projeto, talvez apresentar o conteúdo do Scrum Guide diretamente não fará sentido. Neste caso, sugiro introduzir os conceitos aos poucos, se baseando mais fortemente na essência da agilidade, usando este meu outro artigo como apoio.
A prática envolve o desenvolvimento de um produto que, em teoria, não é complexo: aviões de papel.
Diga para que se organizem em times de 4-5 integrantes, deixe os materiais de papelaria à disposição, mas não distribua nada, os times tem de ser auto-organizáveis. Explique que iremos simular a construção de aviões para entender como funciona a metodologia Scrum na prática e que quando estiver de gravata (coloque a gravata para mostrar) você estará no papel de cliente, autoridade sobre as prioridades do projeto e sempre preocupado com o ROI (retorno do investimento).
Agora, quando estiver de boné (tire a gravata e coloque o boné), você estará no papel do Agile Coach, ensinando o time a utilizar o Scrum corretamente e provocando as discussões. Sempre que algum time quiser falar com o Agile Coach ou com o cliente, deverá chamá-lo adequadamente para que você coloque a gravata ou boné e aja de acordo com sua persona.
Cada time deverá ter um Product Owner, que é quem fará a interface com o cliente e dará o aceite nos aviões, pois ele representa os interesses do cliente no dia a dia do projeto.
Cada time deverá ter um Scrum Master também, que pode ter mais de um papel caso o time seja muito pequeno (4 ou menos pessoas). Ele só não pode ser o P.O. e S.M., mas pode ser S.M. e Desenvolvedor. O Scrum Master dará o ritmo pro time, removerá impedimentos, cuidará dos materiais e do fluxo de trabalho combinado.
Os demais membros do time (2 a 3 pessoas) serão os desenvolvedores, responsáveis pelas atividades de confecção dos aviões: dobras, pintura, testes, etc. Deixe que se organizem os papéis antes de prosseguir e opcionalmente peça que criem nomes para seus times.
O próximo passo é entrar em acordo com todos de quanto tempo irá demorar a prática. Se você reservou a manhã inteira como eu mesmo faço, você terá 3h totais para o treinamento, sendo 1h para a teoria e 2h para a prática (já fiz prática em menos de 2h, mas ficam meio corridas demais). Explique que usará um cronômetro para contabilizar as cerimônias e consequentemente a duração das sprints e que devem respeitá-lo quando disser que a sprint acabou e coisas do tipo. Se você tem 2h, será possível fazer um bate papo ao final da sprint para conversarem sobre o que acharam.
Iremos rodar mais de uma sprint de construção de aviões e, para que tudo caiba dentro do tempo disponível, sugiro usar a seguinte divisão:
10 minutos para a primeira Sprint Planning, sendo 5 para a explanação do cliente e 5 para o time entrar em acordo de como vão trabalhar e o quanto vão entregar;
5 minutos para a construção dos aviões (e propositalmente pequeno e não faremos daily nesta dinâmica, pois teremos mais de uma retrospectiva);
5 minutos para o Sprint Review de cada time
5 minutos para um Sprint Retrospective geral
A prática começa com os primeiros 10 minutos de Sprint Planning, que nesse caso serão com a presença do cliente (você de gravata). Será feito apenas uma Sprint Planning geral, com todos os times escutando e fazendo perguntas. Você deve explicar que deseja um lote de 10 aviões em um tempo de 5 minutos, mas que todos eles devem ser iguais, devem voar e devem respeitar o modelo que você vai apresentar em um slide (escolha um modelo minimamente complexo, como o abaixo, em que a traseira possui um ângulo não tão óbvio de fazer e cujas dobras ficam escondidas na parte inferior do avião, ao invés da superior).
Avise que está buscando estes lotes com estes times mas que o contrato final só vai ser realizado com um deles, o que se sair melhor na dinâmica como um todo. Isso deve dar uma esquentada nas expectativas, mesmo sendo uma brincadeira bem simples.
Dê tantos detalhes quanto julgar necessários, mas tente deixar com que os participantes lhe questionem os detalhes mais importantes, como o tamanho do avião, adicione uma logomarca se quiser complicar, cores diferentes na fuselagem, que todos devem ser testados, etc. Uma das lições desse treinamento é que sempre o time tem de se comunicar com o cliente para que a "magia" aconteça. Então se eles não perceberem a necessidade de fazer as perguntas certas, o fracasso logo adiante vai ensinar isso a eles. Pense no avião final e deixe um pronto como referência, mas não mostre a eles ainda, deixe que eles tenham de interagir com você para descobrir.
Não tome mais do que 5 minutos nessa explanação inicial e diga que eles devem deliberar sobre o projeto do avião, o lote a ser feito, planejar as atividades dos membros, a ordem que farão e com o que se comprometem a entregar. Dê a eles 5 minutos para conversarem entre si (somente os membros do mesmo time) e conforme forem terminando, diga para chamarem o cliente para mostrar o resultado do seu planejamento. Lhes responda as últimas perguntas e anote o que cada time se comprometeu a entregar, isso é muito importante, pois você cobrará essa entrega mais tarde. Geralmente o excesso de confiança faz com que digam que entregarão tudo, mesmo sem terem muita ideia de como dividirão as tarefas e executarão o trabalho.
Rode os 5 minutos da sprint 1 com o timer visível para todos, bem como o modelo do avião (geralmente eu imprimo este último). Não faremos a Daily neste treinamento pois as retrospectivas serão bem próximas para gerar aprendizado e o tempo da sprint é muito curto. O Scrum Master, enquanto facilitador do processo deve avisar a todos quando os minutos estiverem terminando, deve controlar o tamanho do lote e auxiliar coordenando as atividades conforme combinado. Deixe em aberto a possibilidade de chamarem o cliente (coloque a gravata quando isso acontecer) ou o Agile Coach (boné) quando quiserem tirar dúvidas do produto (cliente) ou do processo (Agile Coach).
É comum que nesta primeira sprint os times façam aviões diferentes, não testem todos aviões, não façam validações com o cliente nem mesmo novas perguntas. Caso algum time tente renegociar prazos com o cliente não aceite, mas com muita relutância permita alteração no escopo por exemplo, mas sem exageros, como reduzir em algumas unidades o lote ou mudar algum padrão estético (pintura somente). A tendência é de falha nessa primeira tentativa, mas não avise eles disso, esse é o principal insumo para a retrospectiva que é feita ao término da sprint.
Quando os 5 minutos terminarem (o CoolTimer adiciona um efeito dramático à isso pois você pode escolher um MP3 bem barulhento para quando isso acontecer), diga a todos para pararem o que estão fazendo e que será feito agora a Sprint Review, onde os times apresentarão seu trabalho para o cliente (coloque a gravata) avaliar.
Para cada um dos times, analise criteriosamente o lote. Verifique se todos aviões seguem o modelo combinado, se fizeram todo o lote combinado, se todos estão iguais, etc. Se você reparou problemas na fabricação, como a ausência de testes, pergunte se alguém voaria em um avião que não foi testado. Se você reparou mudanças estéticas não acordadas, questione porque não lhe perguntaram se isso era permitido. E principalmente, se o time não entregou todo o lote, reclame, pois eles disseram que iam entregar.
O ponto que não deve ser esquecido aqui é comparar a entrega da equipe com o que ela havia prometido. No Scrum, o time define o tempo que irá levar para desenvolver as tarefas, e portanto, deve ser cobrado se não entregar o que o próprio time havia prometido. Use 4 minutos para avaliação e 1 minuto para reflexões com o grupo (quase uma retrospectiva coletiva, onde vai haver trocas de aprendizados).
Ao término das reviews, e consequentes frustrações de quem não entregou o que o cliente esperava, é hora da retrospectiva. Eu não vou falar aqui em detalhes dessa dinâmica porque já fiz isso em outro post aqui do blog, que falo somente de como conduzir retrospectivas de sprint que realmente funcionam.
Em linhas gerais, aqui é onde o time (e somente o time, com a mediação do Scrum Master) vai expor o que considerou que fluiu legal no desenvolvimento deste lote (deixe que eles falem), o que não fluiu tão bem assim e as ações que o time se compromete a executar na próxima sprint para que os mesmos erros não voltem a acontecer. Esse é o momento de maior aprendizado de toda prática e ele. Como todo bom erro, é na falha em que mais aprendemos e geralmente os times falham nessa prática.
Reserve 5 minutos para que eles decidam entre si como vão se organizar para a próxima sprint e passeie como Agile Coach pelos times para ajudar a tirar dúvidas do processo, instigá-los a melhorar o que está com problema (uma vez que os Scrum Masters de cada time não terão experiência pra isso) e cobre ao menos uma melhoria no processo de cada time.
A segunda sprint vai começar e a dinâmica será muito parecida, com algumas poucas exceções.
Primeiro, o tempo de Sprint Planning será de 5 minutos ao invés de 10, uma vez que eles já se conhecem mais e tem pouca variação em relação à sprint anterior.
Segundo, introduza um novo modelo de avião ou uma variação no modelo anterior, como uma mudança de cor, uma dobra diferente, etc. Peça um lote de 10 aviões, mas sendo um número específico de cada modelo, pra complicar um pouco a vida dos times.
Desta vez espere muito mais perguntas e tentativas de negociação, pois eles estarão mais espertos e entenderão que o time tem mais poder do que estão acostumados. Seja teimoso, mas saiba ceder quando fizer sentido os argumentos e sempre explore a competição entre os times de uma maneira saudável, pois se um time entregar apenas um avião com qualidade top e outro time entregar cinco, você vai fechar contrato com o outro.
Após formalizar as entregas previstas com cada time, rode nova sprint de 5 minutos, faça nova review e finalize esta sprint com outra retrospectiva.
Você pode rodar tantas sprints quanto julgar necessário, mas no mínimo duas, para que tenham a oportunidade de aprender com seus erros e melhorar. É importante que a cada sprint sejam adicionadas novas complexidades, como por exemplo:
novos modelos de avião;
lotes variados;
que tal um avião extra solicitado no meio da sprint?
que tal uma mudança de requisito na confecção de um modelo no meio da sprint?
que tal a saída de um membro ou troca de membros entre os times?
A grande sacada não é ser simplesmente sádico, mas provocar diversas situações que acontecem no dia a dia dos times e que o treinamento já vai lhes preparar para reagir adequadamente.
Se tiver tempo, você pode introduzir no treinamento o conceito de Scrum Board também (um kanban bem simples), para gerenciar o fluxo de construção de múltiplos aviões, de múltiplos modelo oriundos de pedidos de múltiplos clientes (!!!). Uma sprint com esse grau de complexidade requer uma gestão mais eficiente e o kanban é uma ótima ferramenta para isso.
Tive a oportunidade de aplicar este mesmo treinamento em algumas dezenas de times do Agibank com um excelente grau de sucesso. Espero que você consiga usá-lo ou adapte-o às suas necessidades, mas que tenha sucesso também em melhorar os processos da sua empresa.
Outra ideia de treinamento de Scrum é transmitida pelo Jonas Salengue em seu livro Scrum em times de Infra, uma dinâmica baseada em construção de uma casa. Bem interessante também.
* OBS: curtiu o post? Então dá uma olhada no meu livro de Scrum e Métodos Ágeis e/ou no meu curso (abaixo) sobre o mesmo assunto!
Como criar campos dinâmicos com Script Fields no Jira Server
O que é Kanban e como aplicar em projetos?
O que é Burndown Chart e como usar?
Como calcular lead time em times de desenvolvimento
Como calcular a velocidade em times de desenvolvimento
Tendências em cultura e métodos de desenvolvimento para 2021 - Parte 2
Tendências em cultura e métodos de desenvolvimento para 2021
Como usar a REST API do Jira Server com Node.js
Como criar WebHooks no Jira Server com Node.js
O que é Transformação Ágil?
Dicas para eventos de Team Building
Android SDK (47)
Carreira (71)
Corona SDK (20)
Node.js (173)
Web (177)
Autenticação/Login em dapp Web3 com MetaMask – Parte 2
Integração com MetaMask via JS – Parte 2
Autenticação em Node.js com Passport e MongoDB
agile android aws business c# camunda carreira corona criptomoedas digital ocean firebase heroku ios java jira mobile mongodb mssql mysql nodejs oauth performance phonegap postgresql react redis regex resenha seguranca sqlite tdd typescript web