O que é Scrum? Scrum é um framework (conjunto de conceitos usado para resolver um problema de um domínio específico) que implementa os princípios ágeis no gerenciamento de projetos. No Scrum, os projetos são dividos em ciclos (tipicamente mensais) chamados de Sprints. O Sprint representa um Time Box (período de tempo determinado) dentro do qual um conjunto de atividades deve ser executado. Metodologias ágeis de desenvolvimento de software são iterativas, ou seja, o trabalho é dividido em iterações, que são chamadas de Sprints no caso do Scrum.
Ademais, as funcionalidades a serem implementadas em um projeto são mantidas em uma lista que é conhecida como Product Backlog. No início de cada Sprint, faz-se um Sprint Planning Meeting, ou seja, uma reunião de planejamento na qual o Product Owner (é a pessoa que representa o cliente e seus interesses para a Equipe Scrum e o Scrum Master) prioriza os itens do Product Backlog e a equipe seleciona as atividades que ela será capaz de implementar durante o Sprint que se inicia. O Scrum Master caracteriza-se como sendo um especialista em Scrum que é visto como referência pela Equipe e tem a função de apoiar tecnicamente a aplicação do Scrum na empresa, ou seja, o Scrum Master é um facilitador. As tarefas alocadas em um Sprint são transferidas do Product Backlog para o Sprint Backlog.
A cada dia de uma Sprint, a equipe faz uma breve reunião (normalmente de manhã), chamada Daily Scrum. O objetivo é disseminar conhecimento sobre o que foi feito no dia anterior, identificar impedimentos e priorizar o trabalho do dia que se inicia. Ao final de um Sprint, a equipe apresenta as funcionalidades implementadas em uma Sprint Review Meeting (em que realmente se mostra o que o foi alcançado durante a Sprint). Finalmente, faz-se uma Sprint Retrospective (o que nada mais é do que uma breve retrospectiva sobre o que funcionou bem, o que pode ser melhorado e como vai ser melhorado) e a equipe parte para o planejamento do próximo Sprint. Assim reinicia-se o ciclo.
Com o intuito de tornar a implementação do Scrum como realidade na sua empresa segue abaixo um passo a passo de aplicação do Scrum durante a execução de um projeto:
- Elaborar o Documento de Proposta:
Nesta etapa deve-se definir a Equipe Scrum, composta pelo Gerente de Projetos, responsável pelo tal, e os Assessores/Projetistas que irão compor a Equipe. Após essa etapa, deve-se definir o Product Backlog: o Gerente de Projetos, em reunião com a Equipe, levará as Histórias captadas nas conversas com o cliente anotadas para que todos, juntos, refinem estas e montem um Backlog organizado e objetivo. O Product Backlog poderá sofrer alterações ao longo do projeto, porém, deve ser montado sempre com a seriedade que seria como se fosse definitivo, pois apesar do Scrum gerar a possibilidade de mudanças, o ideal continua sendo que isso não ocorra com muita frequência. Além disso, deve-se montar o cronograma: a Equipe deve pensar e definir os prazos para cada Release (se é que haverá a possibilidade de fazer entregas parciais no projeto; se não for possível ou viável, devemos ao menos mostrar resultados e progressos nessas datas, para que o cliente possa validar) e o que será entregue em cada um. Com isso, também encontra-se também um prazo total para o projeto.
- Preparar-se para o início da execução e execução da Sprint:
Na etapa de preparação é preciso planejar a primeira Sprint. O Gerente de Projetos, cumprindo o papel do Product Owner, irá analisar o Backlog (que já está refinado em Histórias de Usuário) e selecionar as histórias mais importantes. Após isso, será realizada a Primeira Sprint Planning Meeting, onde toda a Equipe Scrum irá avaliar as histórias selecionadas e estimar o esforço necessário para cumpri-las, ou seja, definir o tempo de duração da Sprint. Ainda na preparação, deve-se criar tarefas, tomando cuidado para distribuí-las de maneira igual para todos. Passando, agora, para a execução da Sprint, é importantíssima a realização Reuniões diárias (Daily Scrum), geralmente duram no máximo 15 minutos, onde cada membro responderá ao Gerente de Projetos 3 perguntas: O que eu fiz hoje (ou ontem, dependendo do horário da reunião)? O que eu vou fazer amanhã (ou hoje, dependendo do horário da reunião)? Existe algum impedimento para isso?
- Revisar a Sprint:
No final de cada Sprint, a Equipe se reunirá para realizar a revisão e a retrospectiva da Sprint. Na revisão, a Equipe fará uma análise de tudo o que foi feito durante a Sprint e os resultados finais do trabalho, para que possam validar o que foi feito e, se for uma fase de release, entregar ao cliente. Já na retrospectiva, a Equipe deve relembrar todas as dificuldades que teve. Cada membro que quiser, falará algo que dificultou o processo e foi superado. Enquanto isso, o Gerente irá montar uma lista de lições aprendidas do projeto, que ficará posteriormente disponível em algum tipo de documento, para que possa ajudar outros membros posteriormente.
- Final do Projeto:
No final do projeto, assim como no final de cada Sprint, a Equipe deve se reunir. Nesta reunião, serão passados os feedbacks da Equipe pelo Gerente e entre os membros. A Equipe pode fazer uma retrospectiva do projeto como um todo, analisando as lições aprendidas da lista e relatando outras, se houver.
Pode-se, pois, concluir que o Scrum como sendo uma metodologia ágil de projetos baseado em três principais pilares: transparência, inspeção e adaptação. Difere-se, e por isso sai na frente da metodologia tradicional, no que se refere ao relacionamento com o cliente, buscando sempre uma colaboração com o mesmo, devido ao fato de não se prender cegamente à um plano, mas sim estar suscetível a mudanças, visando sempre a qualidade do produto final e satisfação do cliente, e também ao fato de gerar um forte ambiente de união e trabalho em equipe.
Links relacionados ao assunto: