Sabemos que o Scrum é uma das metodologias ágeis mais conhecidas. Mas afinal, o que são metodologias ágeis?
O termo ágil refere-se a algo que se move com facilidade e de forma veloz, porém, no contexto do desenvolvimento de software é sobre otimizar recursos e tempo. Em outras palavras, utilizando metodologias ágeis neste contexto, pretendemos ter o mínimo de problemas durante a entrega de um produto ao cliente. Segundo o Guia do Scrum, trata-se de um framework leve que auxilia pessoas, times e organizações a gerar valor por meio de soluções adaptativas para problemas complexos.
O que é um framework?
Um framework é uma estrutura desenvolvida para resolver problemas específicos, sendo previamente construído para funcionar como uma fórmula. É possível ilustrar com frameworks de desenvolvimento front-end, na qual temos o modelo das funções viáveis ao projeto em andamento, diminuindo o tempo e facilitando o processo.
Os três pilares fundamentais do Scrum
O Scrum possui três pilares fundamentais que regem essa metodologia de forma lógica:
-> Transparência: Todo o ciclo do Scrum deve ser transparente, incluindo os processos, os requisitos e o status do projeto. É essencial garantir o status real de cada etapa. A transparência viabiliza a inspeção, sendo que a sua ausência resulta em engano e desperdício.
-> Inspeção: Todo o processo deve ser verificado para que variações do que foi estipulado como meta do produto sejam detectadas. A inspeção promove a capacidade de adaptação, sendo que a falta de adaptação a torna inútil. Os eventos Scrum são concebidos para estimular mudanças.
-> Adaptação: A metodologia Scrum, por ser empírica e cíclica, requer adaptabilidade diante das variações identificadas na inspeção. O time autogerenciado possui a responsabilidade de promover essa adaptação, assim que novos aprendizados forem obtidos por meio da inspeção.
Papéis e responsabilidades
Um time Scrum é constituído por três papéis, sem hierarquias, e geralmente é composto por um máximo de 10 pessoas. Os três papéis presentes em um time Scrum são:
-> Scrum Master: O Scrum Master é o facilitador dos projetos, cuja principal função é guiar, ensinar e garantir que os métodos Scrum sejam seguidos, tanto pelo time, quanto pela organização. Assim como, é responsável por resolver os impedimentos encontrados pela equipe, proporcionando um ambiente favorável ao progresso do projeto.
-> Dono do Produto (Product Owner): O Product Owner é encarregado de definir a meta e potencializar o valor do produto desenvolvido pelo grupo. Desta forma, é atribuído ao dono do produto a criação e gerenciamento eficaz do Product Backlog. Em outros termos, a prioridade e concisão dos requisitos contidos na criação é de responsabilidade do Product Owner.
-> Desenvolvedores (Developers): Os desenvolvedores são designados a concepção do documento de Sprint Backlog, a geração dos incrementos durante a sprint e a organização das reuniões diárias.
Os cinco eventos do Scrum
O Scrum possui cinco eventos que ocorrem durante uma sprint. Conforme os três pilares do método, os eventos são criados para promover a transparência essencial a todos os membros do time, além de fornecer uma oportunidade para inspecionar e adaptar os seus artefatos. Os cinco eventos do Scrum são:
-> Sprints: são eventos fixos de um mês, ou menos, garantindo assim uma maior consistência, que permitem previsibilidade para a inspeção e adaptação do progresso em direção à meta do produto.
-> Planejamento da Sprint: É o evento que inicia a sprint, assim definindo o trabalho a ser feito na próxima etapa realizada por todo o time.
O planejamento da sprint discute três tópicos importantes:
● Por que essa sprint é valiosa?
● O que pode ser feito nessa sprint?
● Como o trabalho escolhido será realizado?
-> Reunião diária: É um evento de 15 minutos com o propósito de inspecionar o progresso atual e adaptar o Sprint Backlog conforme necessidade. Os desenvolvedores são responsáveis por gerir essas reuniões e podem utilizar de quaisquer técnicas ou estrutura.
-> Revisão da Sprint: Esse é o evento no qual os desenvolvedores apresentam os resultados do seu trabalho para os principais stakeholders. Com base no que for discutido, o Product Backlog pode ser ajustado para atender novas oportunidades.
-> Retrospectiva da Sprint: O objetivo desse evento é planejar maneiras de aumentar a qualidade e a eficácia, inspecionando como foi a última sprint em vários quesitos, como interações e processos, por exemplo. As melhorias mais importantes são endereçadas o mais rápido possível.
Os Artefatos do Scrum
Como mencionado anteriormente, os artefatos são projetados para maximizar a transparência das principais informações, representando trabalho ou valor.
Product Backlog
O Product Backlog é um registro que engloba a Meta do Produto e os atributos essenciais que o sistema deve atender. Esses requisitos são organizados em ordem de prioridade e somente o Product Owner tem permissão para fazer alterações. Esse documento é dinâmico e não requer definição desde o início do projeto.
Sprint Backlog
O Sprint Backlog contém sua meta e o planejamento das sprints com os requisitos trazidos do Product Backlog na ordem definida pelo seu responsável. Esse documento é de propriedade dos desenvolvedores, que podem receber auxílio do Product Owner e Scrum Master, e é possível sofrer alterações conforme as necessidades.
Incremento ou Entrega
Um incremento é uma entrega utilizável de um ou mais requisitos aos stakeholders para validação. Por sua vez, para um requisito ser considerado um incremento, é necessário possuir um status de “Definição de Pronto”, avaliado na revisão da sprint.
Burndown chart
O Burndown chart originalmente não compõe o Scrum Guide, porém é uma ferramenta frequentemente utilizada pelos times para auxiliar no desenvolvimento do projeto. Esse gráfico possui informações relacionadas a quantidade de tarefas e carga horária restante, representadas no eixo Y e X, respectivamente.
Considerações Finais
As metodologias ágeis surgiram para suprir a necessidade no desenvolvimento de software que outros formatos tradicionais de planejamento, como o método cascata, não resolviam. Com base no empirismo, um conhecimento sendo fruto da experiência, e na otimização de recursos, o Scrum ganhou seu espaço e é a metodologia ágil mais conhecida e utilizada mundialmente. Consequentemente, este método pode ser aplicado em diversos projetos, não se limitando somente ao ambiente de desenvolvimento de software.
Referências Bibliográficas
Schwaber, K. and Sutherland, J., 2020. Scrum Guide | Scrum Guides. [online] scrumguides.org.