Scrum – Como começar a aplicar suas ideias?
Hoje, irei compartilhar um passo-a-passo para quem tem interesse em utilizar esse Framework para auxiliar na entrega de valor ao negócio com maior rapidez.
Antes de tudo, gostaria de deixar claro que o Scrum não irá servir para todos os cenários, embora os criadores costumem dizer o contrário. Portanto, não considero que valha a pena seguir o Scrum “by the book”. Devemos utilizar o que realmente faz sentido para a nossa realidade.
Agora sim, estamos prontos para começar.
1 – Criar uma lista de tarefas
O primeiro passo é possuir um “Backlog do Produto”, que consiste, basicamente, em uma lista de tarefas.
Essa lista pode ser controlada com um aplicativo no estilo Kanban, como o Trello, Kanban Flow, Jira ou qualquer outro existente no mercado. Ou então, podemos utilizar um programa que trabalhe com listas como o Excel, Evernote, Todoist ou Project. O importante é ter essa lista de tarefas armazenada em um lugar com baixo risco de perda das informações. Todo gerente de projeto possui uma ferramenta que melhor se adapta.
Imagino que a maioria das pessoas já use ferramentas desse tipo para controlar suas atividades diárias. Se você ainda não faz um controle, nem que seja em uma folha de papel, trate de começar. Verá que passará a ser mais produtivo.
Em projetos, procure ferramentas que podem ser acessadas por muitas pessoas simultaneamente. Ela pode ser também uma ferramenta para comunicar o avanço do projeto.
2 – Ordenar a lista de tarefas
O próximo passo é ordenar essa lista. Procure categorizar essas atividades de acordo com o nível de urgência. Deixe no topo da lista as atividades que agregarão maior valor ao cliente. Essas devem ser feitas primeiro.
Separe também as atividades por fase: a fazer / em andamento / concluído.
3 – Passe a estimar o esforço
Agora que as tarefas estão ordenadas, devemos estimar o esforço para realizar as atividades. No Scrum, a estimativa é realizada pelo time todo, afinal, todos são responsáveis pela entrega.
Os agilistas costumam utilizar uma técnica chamada “Scrum Poker” para definir a complexidade de cada item do Backlog do Produto.
Essa técnica consiste em utilizar uma espécie de baralho contendo cartas numeradas. Cada integrante do time irá escolher uma carta com um número indicando qual o nível de complexidade que ele considera que a tarefa exija. A média desses números mostrará como todo o time irá encarar a tarefa, ou seja, a estimativa passa a ser tarefa de todo o time.
Com base nesses números (complexidade), podemos definir o tempo para a execução da tarefa. Em um post futuro falarei com mais detalhes dessa técnica.
4 – Dividir o trabalho do projeto/produto em ciclos
Esses ciclos são chamados de Sprints. É a melhor forma de entregar resultados para o cliente: de forma constante e incremental.
É necessário definir uma meta a ser alcançada ao final de cada Sprint.
As Sprints devem durar de uma a quatro semanas. É necessário definir o tamanho padrão das Sprints para que as entregas possam ser planejadas adequadamente. O time deve estar focado na entrega das atividades a serem desenvolvidas durante o ciclo.
Cuidado para não colocar mais atividades do que consiga cumprir. Também não deixe que o objetivo da Sprint seja muito modesto. O foco é sempre entregar valor ao cliente.
5 – Demonstrar o resultado da Sprint
Ao final de cada Sprint, é muito importante mostrar o resultado para os clientes (entenda como clientes: os supervisores, os diretores, os usuários, os fornecedores ou os clientes do negócio).
Isso permite que a entrega seja avaliada sob diversos aspectos para verificar se realmente faz sentido e se está de acordo com as expectativas dos clientes.
Projetos longos exigem muito planejamento, porém, muitas coisas mudam durante o projeto. Dessa forma, a melhor estratégia é entregar valor ao cliente com regularidade. Ou seja, ao final de cada ciclo, validar com ele para que verifique se estamos realmente seguindo o caminho correto.
Essa estratégia evita uma série de riscos e ajuda a deixar o escopo sempre em dia. O cliente poderá obter resultados de forma muito mais rápida do que em projetos tradicionais.
6 – Acompanhar o andamento diariamente
Todos os dias, rever as prioridades e refletir sobre o que foi feito até agora neste ciclo e o que precisa ser feito para concluir o objetivo da Sprint.
No Scrum, chamamos essa reflexão diária de Daily Scrum. Através dela conseguimos avaliar se há algum problema com as atividades e fazer com que o time esteja alinhado. Isso permite uma visão ampliada e possibilita que o time se ajude mutuamente, sem perder o foco do objetivo da Sprint.
7 – Ao final de cada ciclo, refletir sobre o que foi feito levantando os pontos positivos e negativos
Essa etapa é extremamente importante para qualquer projeto ou etapa de um produto. É o que costumamos chamar de lições aprendidas.
Precisamos aprender com nossos erros para garantir que estamos em um ciclo de melhoria contínua.
No Scrum, essa cerimônia de retrospectiva deve ocorrer no final de cada Sprint. Faz parte do ciclo de Inspeção e Adaptação.
Todos os integrantes do time devem contribuir com suas opiniões nessa fase. Para que isso ocorra de forma mais natural, procure promover alguma dinâmica. Abaixo temos o link de dicas para dinâmicas voltadas para a cerimônia de retrospectiva.
Clique aqui e veja Ideias de agile retrospectives: jogos para a sua próxima retrospectiva.
Muitas dessas técnicas vieram do RH. Ou seja, o departamento de Recursos Humanos pode trazer ideias interessantes para identificar o que o time precisa melhorar.
8 – Time generalista
Monte um time com pessoas generalistas que sejam capazes de realizar atividades diversas e que tenham sentimento de equipe.
Um analista de testes também pode ajudar no levantamento de requisitos. Ou seja, ele não se limita ao seu cargo. Assim como um desenvolvedor pode ajudar nos testes integrados ou em atividades de banco de dados.
9 – Por fim, definir os papéis em um time
Uma coisa que todos devem ter em mente é que no Scrum não existem cargos e sim, papéis.
Os papéis do Scrum são:
• Scrum Master
• Product Owner
• Time de Desenvolvimento
Eles formam o time do Scrum. Não há hierarquia. Ninguém é chefe. Cada integrante do time tem sua responsabilidade pelo todo.
As boas práticas citadas anteriormente podem ser aplicadas em qualquer projeto, mesmo que os papéis do Scrum não tenham sido definidos. Ou seja, no princípio, não é preciso se apegar a esses títulos.
Obviamente, para assumir determinado papel em um produto/projeto, o integrante do time deve ter as competências equivalentes. Traduzindo: para assumir o papel de Scrum Master, ele terá que conhecer as cerimônias e boas práticas do Scrum, além de ter facilidade com liderança.
Já o Product Owner precisa ter certa facilidade com o negócio e tato para lidar com o cliente.
Resumo
O objetivo desse post é permitir que consigamos utilizar as técnicas do Scrum em qualquer projeto. Sabemos que não é tarefa fácil utilizar o Scrum na íntegra, mas é possível simplificar sua utilização, usando suas principais características, que são:
• Separar as tarefas
• Ordenar essas tarefas de acordo com a necessidade do cliente
• Estimar
• Utilizar ciclos para entregas constantes
• Demonstrar o resultado de cada ciclo para o cliente
• Acompanhar diariamente as atividades
• Refletir os pontos positivos e negativos de cada Sprint
• Possuir um time generalista
• Definir os papéis
Espero que o artigo seja útil para você colocar em prática o uso de métodos ágeis nos seus projetos.
Por: Fernando Silva – Especialista GRA Actionsys