Desde que adotamos Scrum aqui na empresa, os Product Owners têm participado efetivamente das reuniões de Daily Scrum.
Eu já havia percebido algumas desvantagens nisso como, por exemplo, o Product Owner querer transformar os encontros em reuniões de status, meio que intimidando o Time de Desenvolvimento de forma sutil, questionando se as histórias não seriam desenvolvidas, ou ainda, menos frequentemente, trazendo à tona alguns assuntos de pouca importância para o Sprint atual.
Mesmo com tudo isso, achava que estávamos fazendo a coisa certa. Até que há duas semanas atrás, no treinamento de CSM (Certified Scrum Master) ministrado pelo Rafael Sabbagh, fomos lembrados que essas reuniões são de fato para o Development Team e não para o Scrum Team.
Cheguei até a argumentar com o Rafael, disse que havia algumas vantagens em ter o Product Owner no Daily Scrum, mas na ocasião fui parcialmente convencido de que as desvantagens, no final, acabavam sendo maiores.
Decidi então estudar mais sobre o assunto por conta própria, fazer algumas pesquisas e descobri que o assunto é quase tão polêmico quanto a velha história “Scrum Master x Gerente de Projeto”.
Pra começar então, vamos nos apoiar no que a dupla Ken Schwaber and Jeff Sutherland nos dizem no Scrum Guide:
“O Daily Scrum é uma reunião de 15 minutos no qual o Time de Desenvolvimento sincroniza as atividades e cria um plano para as próximas 24 horas.” (Scrum Guide, página 10)
E eles ainda complementam dizendo:
“O Scrum Master é responsável por reforçar a regra de que apenas os membros do Time de Desenvolvimento participam dessas reuniões. O Daily Scrum não é uma reunião de status …” (Scrum Guide, página 11)
Mas aí você me pergunta: “Mas Thiago, e como fica a comunicação com o Product Owner? E se surgir alguma dúvida? Como faremos?”. Bem, a comunicação é um dos pilares do desenvolvimento ágil; portanto, o Time de Desenvolvimento deve ser capaz de se comunicar diariamente, a todo momento, com o Product Owner durante todo o Sprint e não apenas em uma reunião de 15 minutos, se esse fosse o caso.
Para dar base à minha afirmação acima, vamos de novo ao Scrum Guide:
“Todos os dias, o Time de Desenvolvimento deve ser capaz de explicar para o Product Owner e Scrum Master como pretende trabalhar, como um time auto-gerenciável, para conseguir alcançar o objetivo do Sprint …” (Scrum Guide, página 10)
Mas será que é tão errado o Product Owner participar dessas reuniões? E as equipes que já incluem o Product Owner? O que fazer?
Bem, essa é uma escolha da equipe. Se você tem um bom Product Owner que participa apenas como ouvinte, então talvez seja melhor deixá-lo participar. Agora se o seu P.O não contribui muito ou você acha que a presença dele tem sido cada vez menos necessária, eu sugiro que você converse com ele, mas deixe claro que é importante que ele esteja acessível sempre que possível.
No nosso caso, mesmo não tendo tantos problemas com o P.O, pretendo isentá-lo da obrigação de participar das reuniões do próximo Sprint que começa na próxima quarta-feira. Fiquem ligados pois pretendo dar um feedback pra vocês em breve.
Um outro ponto que vale a pena falar é que o Scrum, por ser um framework, já é por sí só pequeno e bastante simples, e, na minha opinião, o mínimo (Scrum Guide) deveria ser seguido à risca sempre que possível.
Mas cuidado! Lembre-se:
“Scrum não é um processo ou uma técnica. Scrum é um framework no qual você pode incorporar vários processos e técnicas.” (Scrum Guide, página 3)
Fico confuso?
Deixe seu comentário. Vamos discutir mais sobre o assunto!
Até a próxima!
Um vídeo bem legal do Luiz Falas Jr, da Bluesoft, mostrando como é o quadro kanban (Scrum Board ou Quadro de Scrum) que eles usam lá.
Esse quadro é uma criação deles e, nesse vídeo, o Júnior fala como o quadro foi feito e quais materiais foram usados.
Bastante interessante a organização!
Veja você mesmo:
O que acharam?
In: Agile| Daily Scrum| Scrum| Standup Meeting
1 Nov 2011Já fazem mais ou menos 2 meses que adotamos Scrum aqui na empresa e já participamos de muitos Daily Scrums. E é um pouco dessa experiência que eu gostaria de compartilhar com vocês.
O Daily Scrum é uma reunião breve e informal que acontece diariamente e com duração máxima de 15 minutos, onde os membros da equipe, todos em pé, um por vez, respondem a 3 perguntas:
1. O que fiz desde o último Daily Scrum?
2. O que farei até o próximo?
3. Quais problemas estão me atrapalhando?
O conceito do Daily Scrum é isso aí; muito simples aliás, mas por falta de experiência, muitos acabam cometendo alguns erros.
No nosso caso, os encontros demoravam bem mais que os 15 minutos. Isso porque os membros da equipe traziam seus impedimentos e a equipe passava boa parte do tempo tentando achar uma solução para eles.
Descobrimos naturalmente que a solução para os problemas não precisam surgir durante o Daily Scrum, mas isso também não quer dizer que alguém com a resposta na ponta da língua capaz de solucionar o problema do colega não possa falar, mas cabe ao Scrum Master identificar quando a discussão não está chegando a lugar algum e propor que ela seja continuada depois dos 15 minutos.
Lembre-se que o Daily Scrum não é o único momento em que a equipe deve se encontrar e se comunicar. Pelo menos essa não é a idéia. Se isso acontece na sua equipe, é hora de dar um jeito nisso!
Mais algumas dicas:
Primeiro contato
Meu primeiro contato com a metodologia eu não sei exatamente ao certo quando foi, mas lembro de um colega de trabalho falando sobre o assunto após ter participado de um workshop de “Modelagem Ágil e Domain Driven Design” em 2008, onde um dos temas abordados foi Scrum.
Lembro-me de ter pesquisado um pouco sobre o assunto na época, mas acho que ainda não estava insatisfeito com o método tradicional de gestão de projetos o bastante ao ponto de querer propor alguma mudança.
Enfim, tudo isso não importa. O que importa mesmo é que tudo mudou de uns meses pra cá.
Descontentamento x Motivação
Eu andava bastante descontente com a forma em que os projetos eram conduzidos na empresa. Estava desmotivado mesmo! Não era mais divertido desenvolver software daquele jeito …
Tudo era sempre na base da correria, escopos grandes, prazos curtos, muitas horas extras, problemas sérios de comunicação, problemas com as entregas etc.
Não posso nem dizer que seguíamos o modelo “Waterfall” porque não tínhamos fases tão bem definidas, mas esse modelo era o que mais se aproximava da forma tradicional que usávamos.
O estopim foi um mega projeto, extremamente complexo, com um escopo enorme. E pra variar, tudo indicava que teríamos, mais uma vez, pouco tempo para desenvolver e muitas horas extras pra fazer.
O projeto, do qual me refiro, era realmente bizarro, meus caros.
A área de Negócios ficou meses escrevendo um “Documento de Escopo” que no final ficou com umas 60 páginas ou mais. O documento era gigante e tinha tudo que você possa imaginar. Nele continha requisitos funcionais, não-funcionais, wireframes, cenários etc. E tudo isso num documento Word com sumário, títulos, subtítulos. Tudo muito bonito, confesso, mas pouco funcional.
Após meses, esse documento finalmente chegou nas mãos da equipe de desenvolvimento e nosso trabalho a partir daquele momento era ler tudo aquilo, fazer uma análise e, no final, entregar para o cliente um cronograma. Claro … o prazo …
Resumindo … CAOS!
Durante a fase de análise, o cliente mudou o escopo inúmeras vezes, e toda vez que algo era acrescentado ao documento, tínhamos que ler tudo novamente. Nossa! Como era cansativo ler aquilo. Era muita informação pra ser absorvida de uma vez só. Muito “Big Design Up Front” …
Havia também muitas funcionalidades pra implementar e uma boa parte delas eram “firulas”.
Segudo pesquisa realizada pela Standish Group, 45% das funcionalidades de um software nunca são usadas e 19% são raramente usadas, ou seja, 64% de desperdício.
Mas o maior de todos os problemas, na minha opinião, era que o cliente só teria visibilidade de tudo aquilo que fora solicitado no final do projeto. Eu ficava em pânico só de imaginar que poderíamos passar 4, 5 meses desenvolvendo algo que não era exatamente aquilo que o cliente esperava.
Enfim, tudo caminhando para o # EPIC FAIL TOTAL …
* Esse projeto, mesmo já estando na fase de implementação, teve uma nova chance com Scrum
O início da mudança
Todo aquele descontentamento deu lugar à motivação.
Comecei a me aprofundar mais nos estudos sobre Metodologias Ágeis, mas guardei pra mim. Não queria falar sobre algo que eu não conhecia de fato. Precisava ter conhecimento e me sentir seguro antes de levar isso adiante e tentar convencer meus superiores de que aquilo funcionava. Precisava de base, precisava, acima de tudo, ter bons argumentos …
Decidi então procurar um bom treinamento aqui no Rio e encontrei a Caelum …
Eureka!
Ao longo de toda a primeira semana do treinamento, pensei várias vezes comigo mesmo: “Cara, acho que taí a solução para os nossos problemas!”.
A “regra” do Scrum é muito simples e clara. O desenvolvimento do projeto é dividido em ciclos (sprints) que duram de 1 a 4 semanas. A cada ciclo, uma parte do projeto é desenvolvida e entregue ao cliente. O feedback do cliente nessa etapa é o mais importante porque é isso que garante que estamos no caminho certo, ou seja, não há mais aquele perigo de entregarmos ao cliente algo diferente do que ele espera, já que o acompanhamento é feito de perto.
A base do Scrum é isso aí: desenvolvimento iterativo e incremental. Iterativo porque o projeto é quebrado em pedaços, dividido em ciclos. E incremental porque novas funcionalidades são adicionadas ao projeto a medida que os ciclos vão chegando ao fim.
* Não é o objetivo deste post entrar em detalhes sobre os artefatos e cerimônias do Scrum. Falaremos sobre isso mais adiante em posts futuros.
Correndo atrás
O treinamento chegou ao fim e para solidificar a base de conhecimento adquirida, comecei a estudar, pesquisar, buscar relatos e experiências de pessoas que já usavam a metodologia.
Um material que me ajudou bastante foi o livro “Scrum e XP direto das Trincheiras” do Henrik kniberg. Nele o autor conta como adotou Scrum numa empresa com uma equipe de 40 pessoas.
Outra inspiração, obviamente, foi o Guilherme Chapiewsky, ex-Globo.com, que teve um ínicio de implementação do Scrum bem parecido com o nosso. Ou melhor, a nossa implementação foi parecida com a dele.
E claro, o Guia Oficial do Scrum (Scrum Guide) e o Manifesto Ágil. Leitura obrigatória!
Esse estudo é essencial. É muito importante que você corra atrás e não fique apenas na teoria aprendida no curso. Não adianta achar que 20h de treinamento é o suficiente para formar Scrum Masters.
A decisão certa, na hora certa
Bem, depois de uma semana, foi preciso bem mais que algumas horas sentado de frente para o meu chefe tentando convencê-lo; isso aliás nem aconteceu de fato. As coisas foram acontecendo naturalmente, um papo aqui, uma conversa ali, um e-mail acolá. Nada formal.
Aliás, o primeiro papo de grande impacto sobre Scrum foi um improviso.
Num determinado dia, enquanto enfrentávamos um problema com nosso servidor de desenvolvimento e a equipe estava, digamos, um tanto ociosa, o Gerente de Projetos, e meu amigo, Julio Bisneto, aproveitou esse momento e decidiu reunir toda a equipe para que cada um pudesse falar um pouco sobre o que estava fazendo.
Mas o que era pra ser uma reunião informal de alinhamento, acabou se tornando um bate-papo sobre Scrum.
Júlio já começou a reunião falando sobre o fato d’eu ter feito um curso sobre Scrum e que ele havia achado interessante e que provavelmente outras pessoas fariam o mesmo treinamento.
Pela primeira vez tive a oportunidade de falar sobre Scrum para praticamente a equipe toda … tudo no improviso.
Mas o que ajudou mesmo foi o fato de termos nos jogado … sim, mergulhamos de cabeça no desconhecido, começamos a praticar, mesmo desprovidos de qualquer experiência prévia.
Aproveitamos um projeto que estava prestes a começar e decidimos usá-lo como piloto.
Tudo começou como uma brincadeira. Tínhamos fichas e post-its na sala de reunião onde estávamos reunidos para a reunião de kickoff desse tal projeto. Em um determinado momento, decidi pegar o documento do produto e começei a escrever os requisitos nas fichas; enquanto isso os demais membros da equipe começavam a se juntar.
Começamos então a improvisar um Planning Poker pra estimar os requisitos descritos nas fichas.
Com os requisitos devidamente estimados, anotamos nos post-its as tarefas que precisariam ser executadas e colocamos no quadro.
Cada membro da equipe pegou a tarefa que gostaria de fazer. Ninguém delegou nada a ninguém.
E assim demos início à fase de implementação.
Ao longo do ciclo, tentamos ao máximo seguir as “regras” do Scrum. Fizemos as reuniões diárias de 15 minutos que, no início, duravam bem mais que o esperado, mas com o passar dos dias, as pessoas passaram a ser mais objetivas, falando apenas o necessário.
Conclusão
O projeto, claro, foi um sucesso. No final entregamos software funcionando para o cliente. Tudo isso num único Sprint de duas semanas.
E a empresa? Bem … a empresa aceitou pagar o mesmo treinamento que eu fiz para uma parte das equipes de Desenvolvimento e de Negócios. Hoje já estamos indo para a terceira turma!
Considerações finais
O segredo do sucesso é arriscar. Se não fosse por esse projeto piloto, talvez não teríamos conseguido adotar o Scrum aqui tão rápido.
Portanto, se você está na mesma situação em que eu estava há alguns meses atrás, não perca tempo! Vá em frente!
Mas um conselho … Causar uma má impressão no início pode arruinar completamente os seus planos; portanto, prepare-se, estude e esteja seguro o suficiente antes de propor uma mudança como essa.
Depois disso, não tenha medo de praticar o que aprendeu, mesmo que não saia como o esperado.
E sempre tenha em mente o seguinte:
“Scrum is easy to learn but really, really difficult to master”
…
Não deixe de ler: “Como escrever User Stories mais eficazes”
Brasileiro, carioca, desenvolvedor de software, Certified Scrum Master, viciado em música e tecnologia.
Atuo como Coordenador de Desenvolvimento na área de novos projetos numa empresa de TI / VAS (SVA - Serviço de Valor Adicionado) onde nosso maior cliente é uma das maiores operadoras de celular do país.
No momento, divido meu tempo sendo Scrum Master de um dos projetos da empresa e me preparando para me tornar um Certified Scrum Professional (CSP) pela Scrum Alliance.