Scrum é uma metodologia ágil para planejamento e gestão de projetos de software. Sua principal função é o gerenciamento de projetos, sendo que um scrum bem aplicado permite aumentar a velocidade de entrega dos projetos, ao mesmo tempo que possibilita a criação de produtos com um valor de qualidade maior.
A metodologia scrum se destaca por ser simples de implementar e por abordar os desafios de gestão que preocupam as equipes de desenvolvimento. Para conhecer mais sobre ela, invista alguns minutos neste artigo.
Como a metodologia Scrum funciona na prática?
A metodologia scrum é utilizada no mundo todo por várias empresas. Ela não apenas facilita a definição de projetos e objetivos, como também ajuda a cumprir prazos estabelecidos.
No Scrum os projetos são divididos em ciclos, conhecidos por sprints. Em uma equipe scrum existem três papéis muito importantes:
- Development Team: composta por toda a equipe de desenvolvimento. Não é preciso e não existe necessariamente uma divisão entre papéis tradicionais, como por exemplo programador, designer, analista de testes ou arquitetos, todos trabalharão juntos para completar as sprints.
- Product owner: trata-se do dono do produto ou projeto que vai ser trabalhado. É a pessoa responsável em definir os itens do product backlog e priorizar nas sprints. Enquanto a equipe se compromete a executar as atividades definidas na sprint, o product owner se compromete a não trazer novos requisitos para a equipe no período da execução da Sprint. É ele também quem define quais requisitos farão parte do product backlog e quais devem ser abordados e feitos pela equipe.
- Scrum master: é o papel mais importante do scrum. O scrum master deve conhecer e dominar muito bem as práticas do scrum. Seu papel não é o de um gerente ou um chefe. Ele interage como um líder de projeto ou como facilitador dentro do time, devendo sempre estar à disposição para o time de desenvolvimento e para o product owner, apoiando todo o andamento do projeto.
Outras funções do scrum master incluem realizar ligação entre o product owner e a equipe, ser responsável em realizar e organizar reuniões, fazer o acompanhamento do projeto e suas sprints, certificar-se que cada integrante da equipe está se desenvolvendo corretamente durante a sprint e verificar se cada integrante possui todas as ferramentas necessárias para cumprir seu desenvolvimento do melhor modo e com qualidade.
Backlog
No scrum é utilizado o product backlog, um registro que contém todos as funcionalidades do produto e o que deve ser desenvolvido. No product backlog é criado a release backlog, a qual refere-se a todos os requisitos do product backlog que devem ser trabalhados, dependendo da prioridade de cada item.
O release backlog é um ponto para a criação da sprint backlog, que irá representar o tempo que cada tarefa levará para ser desenvolvida/concluída.
O scrum sugere que todos os projetos avancem por sprints que não devem ter mais de um mês (o ideal é que cada sprint leve de uma ou duas semanas).
O processo scrum costuma ser controlado em um quadro onde é possível ver todas as tarefas sendo desenvolvidas, as que foram trabalhadas, as que precisam ser verificadas ou testadas e as que estão concluídas.
Outros pontos sobre Scrum
Detalhando um pouco mais sobre o Scrum, conforme a imagem abaixo teremos um processo que irá iniciar com o product backlog e após irá para sprint planning.
Product backlog: são todas as funcionalidades a serem desenvolvidas, ou seja, é uma lista com todas as funcionalidades a serem implementadas em um produto. O conteúdo desta lista é definido pelo product owner. Todos os itens do product backlog devem ser priorizados por valor de negócio.
Sprint Planning: é realizada uma reunião com todo o time de desenvolvimento antes de iniciar uma sprint. Nessa reunião, o product owner apresentará para todo o time os itens prioritários do product Backlog e os times de desenvolvimento selecionam os itens que farão parte da sprint.
Sprint backlog: é uma lista de tarefas tiradas do product backlog pelo time, definidas pelo product owner. O time definirá o tempo que será necessário para finalizar as várias funcionalidades
Sprint: é realizada em um período dentro do qual um conjunto de atividades de um projeto deverá ser executado. Esse período pode variar de uma até 4 semanas dependendo do projeto que será executado, mas o recomendado é que as sprints não passem de duas semanas.
- Durante uma sprint nenhuma alteração que colocaria o risco da sprint é feita.
- Metas de qualidade não diminuem.
- O escopo é esclarecido com o dono do produto.
O uso de sprints melhora a classificação de prioridades do projeto. Isso é algo muito útil em atividades mais complexas ou que envolvam um time com um número maior de pessoas, como por exemplo a classificação de prioridades terá a participação de toda a equipe.
No início de cada sprint faz-se um sprint planning meeting, ou seja, uma reunião de planejamento com o product owner na qual a equipe seleciona as atividades que ela será capaz de implementar no período de cada sprint.
Scrum team: é toda a equipe de desenvolvimento. Essa equipe é responsável por executar todas as ações definidas para o sprint backlog. O scrum team deve apenas possuir um product owner, ou seja, deve ter apenas uma voz de decisão sobre o produto.
Daily scrum: é a reunião diária que tem como objetivo integrar conhecimento sobre o que foi feito no dia anterior visando identificar impedimentos e priorizar o trabalho. Todos os membros da equipe devem participar da reunião diária.
Daily scrum não deve ser utilizado como reunião para resolução de problema. Esse tipo de questão deve ser levantada e ser levada para fora dela.
Sprint review: no final da sprint é realizada uma revisão para inspecionar, incrementar e adaptar o backlog do produto se for necessário. Durante a revisão da sprint a equipe scrum analisa sobre tudo o que foi feito.
Após a análise são verificadas as próximas ações que podem ser tomadas. Esta reunião é utilizada apenas para análise e incremento do produto, bem como para obter feedback e promover a colaboração do time.
A revisão da sprint inclui os seguintes elementos.
- Toda equipe scrum e convidados do product owner;
- Dono do produto explica todos os itens do backlog do produto que foram concluídos e o que não foi concluído.
- Equipe de desenvolvimento discute o que foi feito na sprint e o que ocorreu bem. É informado quais problemas teve e como os mesmos foram resolvidos.
- O dono do produto discute o backlog e como está. São discutidas as novas datas de entrega com base no progresso que teve em cada item da sprint.
- Todo o time colabora na revisão para que forneça informações importantes para o novo planejamento da nova sprint.
Sprint retrospective: tem como objetivo verificar as necessidades de adaptações no processo do produto. A sprint retrospective ocorre depois da revisão da sprint e antes da reunião de planejamento da próxima sprint.
Pontos negativos sobre o scrum
Existem alguns pontos negativos na metodologia scrum. São eles:
- O foco na qualidade de cada uma das etapas pode, infelizmente, levar a atrasos;
- Podem existir falhas de documentação, por exemplo por conta do projeto ser dividido em partes pela gestão;
- Algumas vezes pode ocorrer que alguma etapa não esteja documentada corretamente;
- A segmentação do scrum e a tentativa de ser ágil às vezes pode perder a perspectiva do projeto, nisso podendo levar a falhas na hora de encaixar as sprints concluídas.
Conclusão
Os desafios enfrentados no dia a dia para um time de desenvolvimento infelizmente acabam dificultando a entrega e a qualidade de um produto. A metodologia scrum, se for bem aplicada e respeitar cada papel, irá agregar na qualidade e na entrega do produto.
O scrum ajuda a diminuir o risco de fracasso do projeto, uma vez que, desde o início, a cada entrega de sprint é possível testar, rever os pontos não desejáveis e corrigi-los. Desse modo, a equipe acaba aprendendo com falhas e evoluindo para que na próxima sprint os mesmos erros não sejam cometidos.
Como você conseguiu observar, o scrum é uma metodologia que exige quebras de paradigmas no que diz respeito ao gerenciamento de projeto. No entanto, tenha em mente que a metodologia acaba trazendo benefícios para a empresa e para a equipe, que resumidamente são:
- Criação de uma cultura de comunicação;
- Organização da gestão de cada projeto;
- Motivação (a sensação de realização e de conclusão do trabalho é antecipada por etapa, isso ajuda a manter a animação o foco sobre o projeto); e
- Redução nos bugs e falhas nos softwares (a metodologia scrum tem foco na qualidade).
Confira 6 dicas para organizar suas tarefas e de sua equipe clicando aqui.