Metodologia Ágil - Scrum
O que é Scrum?
Scrum é um framework ágil usado para gerenciar projetos complexos, permitindo que equipes se auto-organizem e entreguem valor continuamente.
- O trabalho é dividido em Sprints, que podem ter duração de 1 a 4 semanas, e cada sprint resulta em um incremento funcional do produto.
- A metodologia scrum permite inspeção e ajustes constantes, garantindo entregas ágeis e de qualidade.
- Em resumo, ao invés da equipe desenvolver todo um sistema de uma vez, ela entrega pequenas funcionalidades a cada Sprint, e isso possibilita que as equipes assumam o próprio gerenciamento, aprendam com as experiências passadas e ajustem seu trabalho diante de mudanças.
Artefatos do Scrum
As equipes Scrum utilizam os chamados artefatos Scrum para organizar projetos e solucionar problemas. Esses artefatos oferecem informações importantes sobre planejamento e tarefas para a equipe e para as partes interessadas. Existem três artefatos principais:
Product Backlog
- Lista dinâmica de funcionalidades, melhorias e correções do projeto.
- Mantida pelo PO, que atualiza prioridades e adiciona ou remove itens conforme as necessidades do cliente e do mercado.
Sprint Backlog
- Lista dos itens do Product Backlog que a equipe trabalhará na Sprint atual.
- Flexível e pode ser ajustada durante a Sprint.
Incremento
- Produto final utilizável ao final da Sprint.
- Representa o progresso em direção à meta, que deve ser mantida durante toda a Sprint.
Boas práticas:
- Manter o Product Backlog atualizado constantemente.
- Garantir que o Incremento esteja testado e utilizável antes da Review.
Papéis no Scrum
👤 Product Owner (PO)
- Tem o papel de garantir que a equipe entregue o maior valor possível para o negócio.
- Entende as necessidades dos clientes e usuários e decide o que é prioridade.
- Fornece à equipe uma orientação clara sobre os recursos que devem ser desenvolvidos primeiro.
- Faz a ponte entre as expectativas da empresa e o entendimento da equipe.
- Decide quando e com que frequência os resultados devem ser apresentados.
🧑🏫 Scrum Master
- Atua como facilitador, garantindo que a equipe siga os princípios e práticas do Scrum.
- Ajuda a remover obstáculos que atrapalham o andamento do trabalho.
- Planeja os recursos necessários para cada Sprint e organiza reuniões e eventos do Scrum.
- Promove treinamentos e orienta a equipe na adoção de novas tecnologias.
- Comunica-se com outros grupos ou áreas da empresa para resolver problemas que afetam a equipe.
👥 Time de Desenvolvimento
- Composta por desenvolvedores, testadores, designers, especialistas em UX e engenheiros de operações.
- Cada membro possui habilidades diferentes, e todos treinam uns aos outros para que ninguém se torne um gargalo.
- Trabalham de forma colaborativa e auto-organizada, garantindo que as tarefas da Sprint sejam concluídas.
- Participam do planejamento e estimativa do trabalho que podem realizar em cada Sprint.
- Seguem práticas de desenvolvimento sustentável.
- Jeff Bezos, fundador da Amazon, recomenda a regra de duas pizzas para decidir o tamanho da equipe: a equipe deve ser pequena o bastante para dividir duas pizzas.
Eventos do Scrum
🏁 Sprint
- Duração: 1 a 4 semanas.
- Objetivo: Entregar um incremento funcional do produto.
- Características:
- Começa com a Sprint Planning e termina com a Retrospective.
- A Meta da Sprint não deve ser alterada durante o ciclo.
📅 Sprint Planning
- Objetivo: Definir o que será feito na Sprint e como será feito.
- Atividades:
- PO apresenta itens do Product Backlog.
- Time seleciona os itens que podem ser concluídos.
- Define-se a Meta da Sprint.
☀️ Daily Scrum
- Duração: Máximo 15 minutos.
- Formato: Cada membro responde:
- O que fez ontem?
- O que fará hoje?
- Existe algum impedimento?
- Objetivo: Sincronizar o time, identificar problemas e ajustar o trabalho rapidamente.
🎬 Sprint Review
- Objetivo: Inspecionar o incremento e coletar feedback dos stakeholders.
- Atividades:
- Time apresenta funcionalidades concluídas.
- PO e stakeholders dão feedback.
- Ajustes são feitos no Product Backlog conforme necessário.
🔍 Sprint Retrospective
- Objetivo: Melhorar continuamente o processo e a colaboração do time.
- Perguntas fundamentais:
- O que funcionou bem?
- O que não funcionou?
- O que podemos melhorar na próxima Sprint?
Por que o Scrum é importante no desenvolvimento de software?
Manutenção da qualidade:
- As verificações de qualidade são integradas ao Scrum. O feedback constante do Product Owner e as revisões da Sprint garantem que os requisitos permaneçam relevantes e o produto seja continuamente aprimorado.
Aumento do retorno sobre o investimento:
- O Scrum prioriza os requisitos de maior valor para o cliente, foca em entregar rapidamente um produto funcional e reduz custos com defeitos e retrabalho.
Equipes mais felizes e produtivas:
- Estruturas autogerenciadas permitem criatividade, aprendizado mútuo e maior motivação, criando um ambiente de confiança e colaboração.
Métricas para melhorar estimativas:
- A equipe define suas métricas e estimativas de prazos, orçamento e qualidade, recebendo feedback constante das partes interessadas para manter o projeto no caminho certo.