Guia Completo do Framework SCRUM
1. Introdução e Histórico
O SCRUM é um framework de desenvolvimento iterativo e incremental para gerenciamento de projetos e desenvolvimento ágil de software.
Origem
- Conceito (1986): O termo surgiu no artigo “The New Product Development Game”, de Hirotaka Takeuchi e Ikujiro Nonaka (Harvard Business Review). Eles descreveram uma abordagem onde o time trabalha como uma unidade integrada para alcançar um objetivo comum, em contraste com abordagens sequenciais.
- Nome: A palavra “Scrum” vem do Rugby, referindo-se a uma formação onde 8 jogadores trabalham juntos para reiniciar o jogo e disputar a posse de bola.
- Formalização (1995): Jeff Sutherland e Ken Schwaber formalizaram o framework com regras, papéis e eventos específicos.
2. Teoria do Scrum
O Scrum baseia-se no empirismo (controle de processo empírico), onde o conhecimento vem da experiência e a tomada de decisão baseia-se no que é conhecido.
Os 3 Pilares do Scrum
- Transparência: Aspectos significativos do processo devem estar visíveis aos responsáveis pelos resultados.
- Inspeção: Os usuários do Scrum devem inspecionar frequentemente os artefatos e o progresso em direção ao objetivo para detectar variações indesejadas.
- Adaptação: Se uma inspeção determinar que algo está fora dos limites aceitáveis, o processo ou o material sendo produzido deve ser ajustado o mais rápido possível.
Os 5 Valores do Scrum
- Coragem: Para fazer a coisa certa e trabalhar em problemas difíceis.
- Foco: Todos se concentram no trabalho da Sprint e nos objetivos do time.
- Comprometimento: Disposição para criar metas realistas e cumpri-las.
- Respeito: Membros se respeitam para cultivar um ambiente produtivo e humano.
- Abertura: Transparência sobre o trabalho e os desafios.
3. Papéis no Scrum (Roles)
O Time Scrum é auto-organizado e multifuncional.
1. Product Owner (Dono do Produto)
- Função: É a “voz do cliente”. Responsável por maximizar o valor do produto e do trabalho do time.
- Responsabilidades:
- Gerenciar o Backlog do Produto (criar, priorizar e manter claro).
- Definir a visão do projeto e os critérios de aceitação.
- Garantir que o time entenda os itens do Backlog.
- Aceitar ou rejeitar os entregáveis.
2. Scrum Master
- Função: É um líder servidor. Responsável por garantir que o Scrum seja entendido e aplicado.
- Responsabilidades:
- Remover impedimentos que atrapalham o time.
- Facilitar os eventos do Scrum.
- Proteger o time de interferências externas.
- Treinar o time em autogerenciamento e interdisciplinaridade.
3. Time de Desenvolvimento (Scrum Team)
- Função: Profissionais que realizam o trabalho de entregar uma versão potencialmente utilizável do produto ao final de cada Sprint.
- Características:
- Auto-organizados: Eles decidem como transformar o Backlog em incrementos funcionais.
- Multifuncionais: Possuem todas as habilidades necessárias para criar o incremento (design, codificação, testes, etc.).
- Tamanho ideal: Tipicamente entre 6 a 10 membros.
4. O Fluxo e Eventos do Scrum (Time-boxing)
O Scrum utiliza eventos com tempo fixo (Time-box) para criar regularidade e evitar desperdícios.
A Sprint
É o coração do Scrum. Um período de tempo (geralmente de 1 a 4 semanas, sendo 4 o máximo recomendado no guia clássico, embora muitas equipes usem 2) onde um incremento de produto é criado.
1. Reunião de Planejamento da Sprint (Sprint Planning)
- O que é: Define o que será entregue na Sprint e como o trabalho será realizado.
- Saída: Meta da Sprint e Sprint Backlog.
- Time-box: Máximo de 8 horas para uma Sprint de um mês.
2. Reunião Diária (Daily Scrum)
- O que é: Reunião de 15 minutos para o Time de Desenvolvimento sincronizar atividades e criar o plano para as próximas 24 horas.
- Perguntas-chave:
- O que eu fiz ontem que ajudou o time a atingir a meta?
- O que eu farei hoje para ajudar o time a atingir a meta?
- Eu vejo algum impedimento que impeça a mim ou ao time de atingir a meta?
3. Revisão da Sprint (Sprint Review)
- O que é: Realizada ao final da Sprint para inspecionar o incremento e adaptar o Backlog do Produto se necessário. O time demonstra o trabalho “pronto” aos stakeholders.
- Time-box: Máximo de 4 horas para uma Sprint de um mês.
4. Retrospectiva da Sprint (Sprint Retrospective)
- O que é: Ocorre após a Revisão e antes do próximo Planejamento. O foco é inspecionar como foi a última Sprint em relação a pessoas, relações, processos e ferramentas.
- Objetivo: Criar um plano de melhorias para a próxima Sprint.
- Time-box: Máximo de 4 horas.
5. Artefatos do Scrum
Backlog do Produto (Priorizado)
- Uma lista ordenada de tudo o que é conhecido ser necessário no produto. É a única origem dos requisitos.
- O Product Owner é o responsável por seu conteúdo, disponibilidade e ordenação (priorização baseada em valor).
Backlog da Sprint
- O conjunto de itens do Backlog do Produto selecionados para a Sprint, juntamente com o plano para entregar o incremento.
- Pertence exclusivamente ao Time de Desenvolvimento.
Incremento (Entregável)
- A soma de todos os itens do Backlog completados durante a Sprint e o valor dos incrementos de todas as Sprints anteriores.
- Deve estar na condição de “Pronto” (Done) e ser utilizável.
6. Colaboração vs. Cooperação
No contexto ágil, há uma distinção importante:
- Cooperação: O produto do trabalho consiste na soma do trabalho individual de várias pessoas.
- Colaboração: Ocorre quando o time trabalha em conjunto, contribuindo uns com os outros para produzir algo maior do que a soma das partes individuais.
Dimensões do trabalho colaborativo:
1. Consciência: Estar ciente do trabalho do outro e sua importância.
2. Articulação: Dividir o trabalho em unidades, distribuir e reintegrar após a conclusão.
3. Apropriação: Adaptar a tecnologia e processos à situação real do time.
7. Fases e Processos (Visão Geral)
O ciclo de vida pode ser resumido em 5 fases que agrupam 19 processos fundamentais:
- Iniciar:
- Criar a visão do projeto.
- Identificar Scrum Master e Stakeholders.
- Formar o time.
- Desenvolver Épicos e Backlog inicial.
- Planejar e Estimar:
- Criar e estimar histórias de usuário.
- Comprometer histórias (Sprint Backlog).
- Implementar:
- Criar entregáveis.
- Conduzir Reunião Diária.
- Refinar o Backlog (Grooming).
- Revisão e Retrospectiva:
- Demonstrar e validar a Sprint.
- Retrospectiva da Sprint.
- Release (Lançamento):
- Entregar os entregáveis finais.
- Retrospectiva do Projeto.
8. Resumo de Responsabilidades Chave
| Atividade | Responsável Principal | Descrição |
|---|---|---|
| Priorizar Backlog | Product Owner | Define o que agrega mais valor ao negócio. |
| Remover Impedimentos | Scrum Master | Garante que o time possa trabalhar sem bloqueios. |
| Criar Entregáveis | Time de Desenvolvimento | Executa as tarefas técnicas e de criação. |
| Definir “Como” fazer | Time de Desenvolvimento | Auto-organização para definir a execução técnica. |
| Monitorar Progresso | Todo o Time | Uso de ferramentas como Burndown Chart e Scrumboard. |