Como criar Retrospectivas de Sprint que funcionam?

O Scrum é um framework ágil de gerenciamento de projetos que envolvem produtos complexos, geralmente usado em equipes de software, embora existam diversas adaptações para outros tipos de times. Costuma-se dizer que o Scrum é simples de entender, mas difícil de aplicar e embora esse paradoxo soe confuso, é exatamente isso. Em partes isso se deve à total necessidade de se aplicar seus três pilares: transparência, inspeção e adaptação, e em partes devido à sua simplicidade de definir poucas reuniões e poucos artefatos, muitas vezes lhe deixando sem ideias de como facilitar (enquanto Scrum Master) reuniões como a Retrospectiva da Sprint (Sprint Retrospective).

Neste post quero dar uma boa ideia nesse sentido, de como conduzir uma Retrospectiva de Sprint que realmente funcione segundo os pilares do Scrum.

Depois de ler e se quiser saber mais sobre o meu trabalho com Scrum, dê uma olhada no livro que escrevi.

Sprint Retrospective

O que é?

A Retrospectiva da Sprint, segundo o próprio Scrum Guide, é:

A Retrospectiva da Sprint é uma oportunidade para o Time Scrum inspecionar a si próprio e criar um plano para melhorias a serem aplicadas na próxima Sprint.

Ou seja, de todas time-boxes do Scrum, certamente a Sprint Retrospective é a mais alinhada com os pilares da Inspeção e Adaptação, pois esse é o seu cerne. Já vi muitas equipes não realizarem as retrospectivas e portanto não evoluírem seus processos de gerenciamento e desenvolvimento de software. As pessoas tendem a ignorar que o maior motivo de termos tantos softwares inúteis ou mal acabados é por falta de comunicação, seja com o cliente, com o chefe ou entre os desenvolvedores. E a retrospectiva é justamente uma oportunidade formal da equipe se comunicar e se aprimorar enquanto time ágil.

Principalmente os programadores, profissionais das ciências exatas, não gostam da ideia de “perder tempo” falando sobre os problemas do time ou pensando em processos, quando poderiam estar programando, que é o que gostam de fazer. Esse pensamento imaturo persistiu na minha mente durante alguns anos no início da minha carreira até que eu percebi que o software pelo software não adianta de nada. Que o que fazia (programar) era apenas um meio, e não o fim. Se meu software não solucionasse o problema do cliente, ele era apenas um monte de lixo, por mais tempo e esforço que eu tivesse colocado em seu desenvolvimento.

Parar e refletir sobre os objetivos e sobre os processos necessários para chegar lá é vital para a eficiência (e muitas vezes para eficácia também) do time.

Livro para Agile Coaches
Livro para Agile Coaches

 

Como facilitar esta reunião?

Como todas reuniões, o Scrum Master deve ser o facilitador desta reunião de até 3h para Sprints de um mês. Ele deve convocar o time, explicar o motivo da reunião e apenas auxiliar o andamento da mesma e o respeito ao tempo limite. Somente o time de desenvolvimento (segundo a ótica do Scrum, todos que não são PO ou Scrum Master são desenvolvedores) que realmente “participa” da reunião. A dinâmica abaixo é um exemplo de como ela pode ser conduzida, uma vez que o Scrum Guide apenas dá linhas gerais, sem um exemplo prático.

Escolha uma sala da empresa com quadro branco com canetas marcadoras (também chamados de “caneta para quadro branco” ou “pincéis atômicos”) ou na ausência desse recurso, um mural que possa ser riscado já serve. Vamos precisar também de post-its (se tiver 3 cores diferentes, melhor) e canetas esferográficas comuns. Na ausência de post-its, recorte pequenos cartões do tamanho de um cartão de visita que já resolve. Um bom número é 3 cartões/post-its por pessoa do time de desenvolvimento.

Divida o quadro/mural em três colunas: BOM, MELHORAR e AÇÕES.

Na coluna BOM devemos colocar cartões com aquilo que foi executado e que deu certo, que a equipe deveria manter na próxima sprint como uma boa prática.

Na coluna MELHORAR devemos colocar cartões com aquilo que foi executado de maneira ruim e que pode melhorar na próxima sprint.

Para cada coisa que precisa melhorar, deve existir um registro na coluna AÇÕES com uma ação concreta e factível para o mesmo. Tem que ser algo que possa de fato ser colocado em prática, preferencialmente que alguém da equipe se comprometa pessoalmente de que não irá acontecer na próxima sprint.

As regras de preenchimento são: apenas um fala por vez, e somente aquele que estiver portando um token, que geralmente é um marcador de quadro branco ou caneta, previamente escolhida. Quando a pessoa fala (o que não deve demorar mais de 1 minuto por pessoa) o que deseja, ela escreve em um cartão/post-it de forma resumida e gruda no quadro/mural na na coluna que tem a ver com sua contribuição. A próxima pede o token para poder começar a falar até que todos tenham falado ao menos uma vez.

Ao término da retrospectiva o Scrum Master coleta os dados e garante a cobrança dos indivíduos sobre as considerações para que não retornem a aparecer na próxima Sprint (principalmente as coisas que podem melhorar). É comum guardar os cartões para cobrança posterior ou ao menos uma foto do quadro completo, que permita zoom depois para ler os cartões.

retro

Ações Concretas

Talvez o ponto mais crítico da retrospectiva seja as ações definidas para melhorar o processo. Como Scrum Master, é seu dever garantir que os itens que “devem melhorar” não retornem na próxima retrospectiva, caso contrário o pilar da “adaptação” do Scrum não estará sendo aplicado e o processo, que deveria ser vivo, ficará estagnado. Via de regra, para cada item que está na coluna “MELHORAR” deve ter um item na coluna “AÇÕES” para resolver o problema. E aqui que mora o problema: as ações devem ser concretas.

O que diferencia uma ação concreta de uma abstrata?

Imagine que algo que deve melhorar é a comunicação com o PO, que representa o cliente da equipe. Que algumas features tiveram de ter retrabalho porque não atenderam às necessidades do cliente, sendo que trazer essas necessidades pro time é responsabilidade do PO que não esteve presente. Isso certamente deve melhorar para que a qualidade das entregas igualmente melhore. Assim, para esse item que deve melhorar devemos ter uma ação concreta para que não ocorra novamente. Certamente alguém irá sugerir “conversar mais com o PO”, mas note como isso é vago, em contraponto, uma ação concreta seria “marcar uma reunião semanal com o PO para alinhar a execução das features” e mais do que isso “definir que todas segundas-feiras às 11h teremos uma reunião de 30 minutos com o PO para mostrar como estão sendo desenvolvidas as features que estão em DOING no Kanban“. Percebe a diferença?

É difícil chegar nesse nível de ação concreta, mas é o que devemos buscar. Cabe ao Scrum Master tensionar a reunião para que as ações tenham esse nível de qualidade para que de fato elas sejam postas em práticas e o processo seja melhorado. Perguntas como: “Como? Quando? Quem?” devem ser instigadas até que a ação seja refinada neste nível de detalhe.

No entanto, um alerta: jamais defina ações, que por mais precisas que sejam e por mais boa intenção que tenham, sejam inexequíveis, isto é, não tenham como ser executadas. Quando uma ação é definida, o time inteiro está se comprometendo com ela e caso a ação seja impossível de ser realizada, haverá frustração quando os mesmos problemas voltarem a acontecer. Então defina ações que resolvam o problema e que sejam concretas, precisas, mas jamais inexequíveis.

Usando o mesmo exemplo anterior, do PO ausente, de nada adianta definir que as reuniões ocorrerão todas as segundas às 11h se o PO não pode nesse horário. Nesse caso, uma ação concreta mais facilmente executável seria “conversar hoje, logo após esta reunião, com o PO para definir um dia e horário semanal que ele possa estar presente na equipe para discutirmos o andamento das tarefas”. Mas note que ainda é uma ação precisa: hoje falaremos com ele, hoje marcaremos um dia e hora semanal na agenda dele para conversar com a gente.

E aí, mais confiante de aplicar Scrum na sua empresa?

* OBS: curtiu o post? Então dá uma olhada no meu livro de Scrum e Métodos Ágeis e/ou no meu curso sobre o mesmo assunto!

Curso de Scrum e Métodos Ágeis
Curso de Scrum e Métodos Ágeis

Consultoria Scrum e Treinamento Android

Este post é apenas pra compartilhar algumas novidades com relação aos mais diversos trabalhos que desenvolvi no RS. Depois de pouco mais de 2 meses inteiramente dedicados ao meu projeto de startup, Busca Acelerada, eis que volto a aparecer na “casa dos outros” para disseminar um pouco de duas coisas que gosto bastante: Scrum e Android.

Consultoria Scrum na Opideia

Consultoria Scrum na Opideia

Sabe como é, networking nunca fez mal a ninguém, e não é por acaso que graças a uma amizade de mais de 5 anos com Daniel Castro, diretor da agência digital Opideia, tive a oportunidade de realizar um trabalho junto com a equipe de desenvolvedores da agência. O intuito da consultoria era identificar problemas e aperfeiçoar os processos de desenvolvimento de produtos complexos na empresa, dando maior visibilidade e precisão aos projetos, reduzindo o desperdício e aumentando a agilidade da equipe como um todo.

O trabalho da consultoria se deu em duas etapas, sendo a primeira mais teórica, abrangendo o framework ágil Scrum, do qual tenho duas certificações desde 2010, além de um pouco de Lean Startup, que venho estudando tem algum tempo. Nesta primeira etapa, passei um pouco dos meus dois anos de experiência com métodos ágeis e mais de 6 anos como desenvolvedor/analista freelancer, em um treinamento que incluiu muitas práticas como técnicas de análise de requisitos, estimativas de tempo e produtividade, artefatos de gerenciamento ágil de projetos e muitas, mas muitas dicas que não se ensina em livros.

Livro para Agile Coaches
Livro para Agile Coaches

Na segunda etapa, que ainda está acontecendo, participo como membro honorário da equipe durante um projeto real, conduzindo as reuniões e acompanhando o projeto para que o investimento da empresa seja maximizado e alcance o resultado esperado. A ideia é que nas próximas etapas deste mesmo projeto, o time já consiga se coordenar sozinho, de uma maneira mais ágil e com alta rastreabilidade, dando mais segurança aos desenvolvedores e aos clientes. Com isto a Opideia, que se encontra em um crescimento vertiginoso neste ano de 2012, espera aumentar ainda mais a qualidade dos projetos entregues consolidando sua marca no mercado nacional. Sucesso pra galera que posa pra foto!

Neste livro, ensino tudo o que você precisa saber sobre Scrum.

Curso de Android no CAFW/UFSM

Curso de Android no 3º EATI do CAFW/UFSM

E para começar novembro com o pé-direito, eu e meu colega de viagens, Cristiano Diedrich, tivemos a honra de sermos convidados a participar do 3º Encontro Anual de TI, no Colégio Agrícola de Frederico Westphalen (CAFW), que para quem não sabe, é um dos campi da Universidade Federal de Santa Maria (UFSM). A faculdade, que de colégio tem só o nome, promove um já tradicional evento de TI na cidade, organizado pelos professores do curso Tecnólogo de Sistemas para a Internet, que atrai estudantes e profissionais do país inteiro, totalizando mais de 300 inscritos no evento. No evento tinham convidados de peso como os profissionais da Globo.com e do Terra, além de nós dois representando a RedeHost.

O Cristiano ministrou uma palestra sobre Segurança de Servidores Web, e como bom pinguim que é, puxou brasa pro assado do Linux. Pelo que fiquei sabendo (estava dando um curso em paralelo) os profissionais de infraestrutura da cidade marcaram presença na palestra, que abrevia de maneira excelente os anos de experiência do Cristiano como Analista de Infraestrutura Open-Source. De minha parte, contribuí um curso básico de Android, totalmente reformulado desde suas primeiras edições nos campi da Ulbra e mais focado em integração com a web. Os alunos tiveram a oportunidade de criar aplicações de teste que utilizavam diversos recursos da plataforma, como widgets, listas, banco de dados, APIs HTTP e JSON, entre outros. Segue abaixo os slides do curso de Android e os fontes da app criada no final do mesmo, que é uma app que consome minha API beta do Busca Acelerada para consulta de veículos. Espero que tenha sido útil para quem queria quebrar o gelo com a plataforma Android ou ao menos encontrar um carango novo ;P

Agradecimentos especiais para a profa. Letícia e o prof. Rômulo, pelo convite e excelente acolhida na cidade, que fica no extremo norte do estado. Também agradeço aos mais de 40 alunos que prestigiaram o curso e contem conosco para o ano que vem!

Link da app “pronta”:BuscaAcelerada.zip (109,14 kb)

Link dos slides do curso:slides-curso-cafw.zip (1,32 mb)

Fotos do evento podem ser vistas no Flickr.

Curso Básico de Android no CAFW/UFSM

Quer aprender tudo sobre desenvolvimento de apps com Android e se diferenciar no mercado de trabalho? Conheça o meu livro sobre o assunto: Criando apps para empresas com Android!