IBIATEC - Soluções Digitais
26/03/2021

SCRUM - O que é?

SCRUM - O que é?

Você já deve ter lido ou ouvido sobre o termo SCRUM relacionado ao desenvolvimento de softwares, o SCRUM é uma metodologia para gestão e planejamento para projetos de desenvolvimento de softwares.

Essa metodologia ágil de gestão auxilia a gestão e o planejamento dos projetos para que suas tarefas sejam feitas de maneira ágil. Ou seja, uma equipe que trabalha com o SCRUM está sempre em sua total capacidade de produção. O SCRUM facilita a produção de tarefas que têm escopo definido e claro para todos os integrantes da equipe. Tarefas sem escopo ou que contenham mais dúvidas do que definições não são produzidas naquele momento, evitando uma possível quebra de produção.

A metodologia contém rituais e personagens, cada um com seu objetivo e sua responsabilidade. Os principais rituais do SCRUM são: a planning, a sprint, a daily meeting, a review e a retrospective. E os personagens principais são: o product owner, o scrum master, o team leader e team member. 

A grande vantagem do SCRUM é que as tarefas são pensadas para ter um início e fim programados, tendo uma previsibilidade da entrega. Outra vantagem é que os membros da equipe devem ter autonomia para executar as tarefas da melhor maneira e devem ser organizados entre eles para concluí-las em equipe.

Personagens

Vamos agora explicar um pouco mais dos personagens e suas responsabilidades.

O Product Owner é o responsável por ter o escopo do projeto. Ele quem tem o contato com o cliente e conhece todas as funcionalidades que o projeto precisa ter. O PO (em inglês pi-ou) é responsável por escrever as stories do projeto e fazer a equipe entender os escopos de cada tarefa para serem feitas na sprint.

O Scrum Master é o responsável por auxiliar a equipe e resolver os impedimentos, tanto em nível técnico quanto em outros diversos. Ele é responsável por acompanhar as equipes nas dailys e garantir que as tarefas sejam concluídas.

O Team Leader é um integrante da equipe, mas fica como responsável técnico. Ele também auxilia o Scrum Master nas dailys e reviews a garantir que as tarefas sejam concluídas.

E Team Member é o integrante da equipe e responsável por produzir as tarefas.

Backlog - Stories - DoD

Cada tarefa a ser executada é chamada de story. Cada story é uma funcionalidade do projeto. Vamos exemplificar com uma funcionalidade simples: um formulário de login. O PO deve escrever a story para essa funcionalidade com uma Definition of Done (Dod). Essa definição de pronto auxilia a equipe a mensurar seu esforço para produzir a tarefa, garantindo assim sua execução dentro da Sprint. Se uma story conter muitas funcionalidades, ela passa a ser uma epic story e tendo então que ser dividida em stories menores para que a equipe possa seguir em frente;

Após o PO escrever todas as stories do projeto, elas vão para o Backlog, local onde todas as stories ficam disponíveis para serem eleitas na Planning e assim produzidas na Sprint.

MOSCOW

As stories precisam de uma prioridade para que as mais importantes sejam feitas dentro da sprint e as menos importantes podem ser feitas posteriormente ou caso não haja tempo, possam ser descartadas.

O PO utiliza da estratégia do acrônimo MOSCOW: Must have, Should have, Could have e Would like. A prioridade Must have (Deve ter) determina as tarefas mais importantes da sprint. Geralmente usada para priorizar as funcionalidades que são obrigatórias e preferências. A prioridade Could have (Deveria ter) é a segunda a ser executada. Geralmente são funcionalidades desejáveis, mas não obrigatórias. Já a prioridade Could have (Poderia ter) é para uma funcionalidade que pode ser desejável. Pode ficar para a próxima sprint ou ser feita na sprint atual se houver tempo. E a última prioridade, a Would Like (Gostaria que) indica as funcionalidades que são totalmente opcionais e caso sobre aquele tempo, podem ser feitas.

Sprint e daily meeting

As Sprints são os períodos de produção das tarefas. Cada Sprint pode ter de 1 a 4 semanas, dependendo do projeto ou tarefas. Vamos considerar uma Sprint de 2 semanas. Cada membro da equipe possui 20 pontos de esforço para gastar em cada Sprint. Para uma equipe com 4 integrantes, a Sprint terá 80 pontos. Cada dia da Sprint possui uma reunião diária, chamada daily meeting. Essa reunião tem um timebox de 10 a 15 minutos. Dependendo da quantidade de integrantes da equipe esse tempo pode ser maior ou menor. Quando presencial a equipe se reúne em um local "tranquilo" e todos ficam em pé, para "garantir" que os assuntos não se estendam. O Scrum Master pergunta a cada um o que fizeram no dia anterior e o que farão a seguir, a fim de acompanhar o progresso das tarefas. Caso algum membro possua impedimentos, esse é o momento ideal de levá-lo ao Scrum Master para que este seja resolvido.

Planning

Na reunião de Planning, participam todos os personagens. O PO indica as prioridades dos stories e a equipe vota o esforço para produzi-las. O esforço da equipe significa o quanto o membro da equipe vai dispor para executar aquela tarefa. Parte dos números da sequência de Fibonacci 0, ½, 1, 2, 3, 5, 8, 13, 20, 40 e 100 servem para que a equipe indique o peso da tarefa.

Após o PO informar o DoD da story, com a estratégia Planning Poker, os membros da equipe mostram suas estimativas de esforço para discussão. Caso a média dos pontos sejam próximas, por exemplo, variam entre 2 e 3, o DoD estaria claro e a tarefa pode ir para a Sprint. Caso haja alguma diferença grande, como por exemplo 1 e 8, significa que o DoD deve ser re-elaborado e discutido para que haja nova votação e então ter um consenso. Após todas as stories estiverem com suas estimativas, o PO define as prioridades delas na Sprint, utilizando o MOSCOW.

Com todas as tarefas no Backlog da Sprint somando o total de pontos da equipe, por exemplo 80 pontos, a Sprint está pronta para iniciar. A Planning não possui timebox definido, pois é uma reunião de discussão de escopo e tendem a ser muito longas.

To Do, Doing, Blocked e Done

Ao iniciar a Sprint, a equipe se organiza para identificar quem fará qual tarefa e começa a produção. Com isso, as stories passam a receber marcações de status. 

To Do é a tarefa que está pronta para ser executada, mas ainda não iniciou. 

Doing é a tarefa que está sendo feita no momento. 

Blocked é a tarefa que está bloqueada por algum impedimento e deve ser ou já foi reportada ao Scrum Master para que ajude a resolver o problema. 

E Done é uma tarefa pronta.

Gráficos BurnDown e BurnUp

Como o SCRUM é uma metodologia de gestão de projetos, precisamos acompanhar a produtividade da equipe, certo? 

Durante o passar dos dias, o Scrum Master registra os pontos de esforço das stories que ainda não saíram do backlog e das stories que estão prontas.

No gráfico BurnDown, os pontos registrados são os das stories que estão marcadas como To Do no backlog. Já no gráfico BurnUp são os pontos das stories que estão marcadas como Done. Ambos possuem a linha média, que indica a progressão dos pontos em sua divisão por igual em relação aos dias da sprint.

No BurnDown é possível ver as linhas em queda do total para zero. Caso a curva não fique acentuada, poderia significar que algumas tarefas estão levando mais tempo do que deveriam ou que os pontos informados eram maiores do que a realidade. Assim o Scrum Master pode dar os feedbacks necessários para a equipe na Retrospective.

No BurnUp é possível ver as linhas em subida do zero para o total, de forma invertida ao BurnDown.

Review

A Review Meeting é o momento que o PO deve questionar quais as tarefas estão prontas e conferir uma a uma, caso necessário. Caso alguma não esteja pronta ou esteja bloqueada, é verificado se é possível terminá-la com um rápido esforço (geralmente até o dia seguinte) ou se é necessário voltar para o backlog e ser mensurado novo esforço para concluí-la e é marcada uma nova review para elas. A Review não tem timebox definido, pois é uma reunião de entrega e conferência e possível discussão de escopo.

Retrospective

A Retrospective meeting é quando a equipe discute os pontos a favor e os pontos a melhorar da sprint. Não é obrigatório a presença dos PO e Scrum Master, a não ser que a equipe exija a presença para discutir algum assunto. Os pontos que deram certo podem virar práticas para as próximas sprints e os pontos a melhorar são encaminhados para o Scrum Master para buscar soluções para as próximas sprints. A Retrospective não tem timebox definido, pois é uma reunião de discussão de assuntos de interesse da equipe.