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.
Jonathan Americo
abril 26, 2023Gostei bastante de ter sido Scrum Master em minha antiga empresa, quando fiz parte de uma Squad. Foi uma experiência muito enriquecedora, apesar de ter exigido bastante trabalho e estudos sobre o assunto. Confesso que tive certa dificuldade na interação com meus pares, mas isso foi um aprendizado e uma oportunidade de desenvolver minhas habilidades de comunicação e liderança.
E também não era minha única função na empresa e, por vezes, precisei priorizar outras atividades, como a função de Chatbot. Com o tempo, acabei me tornando especialista em Chatbot e me dediquei exclusivamente a essa área.
Mesmo assim, a experiência como Scrum Master foi muito valiosa e me ajudou a entender melhor como trabalhar em equipe e como lidar com desafios em projetos. Pretendo aplicar esses conhecimentos em minha carreira profissional futura.
Neomind
julho 3, 2024Que bom que a função de Scrum trouxe várias experiências significativas na sua carreira, Jonathan! Realmente é uma área muito importante e deve ser valorizada.