Uma metodologia ágil focada em gestão e planejamento de projetos de softwares: esse é o princípio do Scrum. Criado para organizar e gerenciar trabalhos complexos, essa metodologia auxilia o trabalho de gestores de TI no sentido de produzir, dentro do prazo e orçamento pré-estabelecidos, um produto de qualidade e que agrade o cliente. Ele não é processo padronizado, ou seja, não existe uma fórmula que possa ser aplicada de forma genérica para que os projetos de TI passem a funcionar com base em Scrum. O que existe na verdade é um conjunto de valores e práticas que oferecem o alicerce principal para que as empresas implementem suas práticas particulares de engenharia e gestão, se tornando assim algo completamente exclusivo e adepto a realidade de cada negócio.
Em que se fundamenta e como funciona o Scrum?
A base que fundamenta o Scrum é composta por três pilares – Papéis Fundamentais, Atividades Básicas e Documentos – em que cada um possui suas subdivisões. Conheça quais são esses elementos e como eles constituem o eixo indispensável para os negócios que desejam trabalhar a partir do Scrum.
Papéis Fundamentais
- Product Owner
O Product Owner (PO) é o representante do cliente dentro de um time de Scrum, ou seja, compete a esse profissional decidir quais serão os recursos e funcionalidades do produto digital que precisam ser construídos. Assim, ele é responsável por dar prioridade aos requisitos a serem desenvolvidos, aceitá-los ou não após a produção e fazer a ponte de comunicação entre o time de dev e o cliente.
- Scrum Master
O Scrum Master (SM) é considerado o mestre do time Scrum ao passo que coloca em prática a liderança de todo o processo de desenvolvimento e da equipe envolvida. Por isso, esse profissional é o principal responsável por auxiliar no entendimento e adesão às ações, princípios e valores da metodologia ágil por todos os membros do grupo.
- Time Scrum
Ao contrário do que acontece em times de desenvolvimento tradicionais – em que vários papéis, como arquiteto, programador e testador são pré-definidos – em equipes que trabalham com Scrum apenas o conceito de Time de Desenvolvimento é válido. Isso porque, o time é formado por profissionais multidisciplinares que são capazes de conceber, construir, testar e validar o produto, ou seja, todos possuem habilidades para participar e contribuir com todo o processo de desenvolvimento. Um Time Scrum tem como principal característica a capacidade de ser auto gerenciável, o que quer dizer que as tarefas a serem realizadas para atingir a meta estabelecida pelo PO são organizadas pelos próprios profissionais da equipe.
Atividades básicas
- Planejamento do Sprint
Primeiramente, o que é sprint? Em Scrum, os projetos são divididos em ciclos, normalmente com duração de 2 a 4 semanas, chamados sprints. Assim, um sprint é uma “caixa de tempo” (time box) na qual uma série de atividades precisam ser executadas. Partindo dessa ideia, a Reunião de Planejamento é o momento em que são discutidos e delimitados os itens que farão parte do sprint. Geralmente, essa reunião é dividida em duas partes, totalizando no máximo oito horas corridas de análise e debate.
- Reuniões diárias (Daily Scrum)
As Reuniões Diárias tem como principal objetivo acompanhar as atividades desenvolvidas ao longo do dia de trabalho. Com duração de no máximo 15 minutos, esses momentos acontecem com a presença de todos os profissionais do time de desenvolvimento. Entre as principais reflexões que precisam ser feitas pela equipe estão: O que foi feito desde a última reunião? O que será feito até próxima? Existem problemas ou impedimentos que estão travando a conclusão de alguma tarefa? Se sim, como eles podem ser solucionados?
- Revisão do Sprint
O principal objetivo de uma Revisão de Sprint é verificar e adaptar o produto digital que está sendo construído pelo time de desenvolvimento. Com duração de no máximo quatro horas e realizada ao final do sprint, essa atividade tem sua importância centrada na coleta de feedbacks em relação ao trabalho feito até o momento e também no levantamento das tarefas dos próximos sprints.
- Retrospectiva do Sprint
A Retrospectiva do Sprint é uma atividade diretamente ligada à Revisão e tem como meta promover a melhoria contínua do time de desenvolvimento. Nesse momento, alguns pontos que podem ser levantados pelo Scrum Master a fim de promover a reflexão da equipe: Como foi o sprint em relação às pessoas, processos e ferramentas? Quais foram os pontos positivos do processo? E quais pontos precisam ser melhorados? Esses questionamentos são importantes, pois são eles que guiarão as melhorias para os próximos sprints.
Documentos
- Product Backlog
No Scrum, sempre o trabalho mais importante é feito primeiro. Por isso, é essencial que uma lista de prioridades – chamada de Product Backlog – seja criada a fim de facilitar essa identificação de quais são as tarefas mais urgentes. Nessa atividade de criação, a atuação do PO é fundamental, uma vez que é ele quem faz a comunicação entre o time de dev e o cliente. O Product Backlog é um documento que nunca está fechado, ou seja, sempre é possível que itens sejam colocados, retirados e revistos pelo Product Owner, visto que mudanças relacionadas ao produto sempre acontecem ao longo do processo de desenvolvimento.
- Sprint Backlog
O Sprint Backlog é uma lista de todas as tarefas que serão desenvolvidas em um determinado sprint. Essa é uma ferramenta exclusiva do time de desenvolvimento, uma vez que os itens listados são destinados a execução propriamente dita do produto.
- Definição de pronto
Todas as tarefas do sprint que serão implementadas precisam ter um conceito de pronto que seja claro e compreensível para todos, pois é através dessa definição que o trabalho em desenvolvimento será considerado de fato finalizado. Portanto, apenas os itens com Definição de Pronto claros estão qualificados para terem suas estimativas de prazo definidas, e consequentemente, aptos para serem desenvolvidos.
Concluindo…
Desde 2001, com o início do Manifesto para o Desenvolvimento Ágil de Software, cada vez mais as ferramentas voltadas para a gestão ágil de projetos de tecnologia têm sido adotadas no mercado. O Scrum, como uma dessas ferramentas, é importante principalmente por oferecer feedback rápido ao cliente, ou seja, não é preciso esperar pelo término do projeto para ver o resultado feito ao longo do trabalho de desenvolvimento. Como vimos, essas pequenas entregas, delimitadas pelos sprints, prometem garantir a qualidade do produto e o contentamento do cliente, que com essa metodologia passa a ser considerado parte fundamental de todo o processo.
E você, já usa o Scrum nos seus negócios? Tem alguma experiência interessante usando essa metodologia ágil? Compartilhe conosco sua opinião!