Scrum é um framework simples baseado em times para resolver problemas complexos e gerar valor. Sendo propositalmente incompleto, Scrum foi projetado para aproveitar a inteligência coletiva de quem o aplica.
Baseado no empirismo e no pensamento Lean, Scrum permite que times trabalhem artesanalmente, se adaptando às mudanças de requisitos, gerando valor para o usuário o quanto antes e com frequência. Para isto funcionar, aqueles que implementam Scrum precisam trabalhar com foco e abraçar certos valores, incluindo mas não limitado a: comprometimento, transparência, respeito e coragem.
O trabalho é realizado em ciclos curtos chamados "Sprints", geralmente de uma a quatro semanas. A Sprint é o coração do Scrum, criando ritmo e permitindo feedbacks frequentes e rápidos. Implementar Scrum de forma efetiva requer que os seguintes elementos sejam bem estabelecidos e mantidos.
O Time Scrum
A unidade fundamental de Scrum é um time pequeno, autogerenciado e multifuncional, com três responsabilidades conhecidas também como os papeis Scrum.
- Desenvolvedores — (3 a 8) Indivíduos com diferentes habilidades, que colaborativamente criam um incremento com valor em cada Sprint.
- Product Owner — (1) A voz do negócio; o PO maximiza o valor do produto conversando com os clientes, criando Objetivos de Produto claros, e gerenciando o Product Backlog.
- Scrum Master — (1) Um agente de mudança organizacional; garante que Scrum está sendo aplicado de forma efetiva e promove um ambiente para aprendizado e o crescimento pessoal contínuo.
Uma nota sobre escalar: Se o time crescer demais, os membros deveriam se reorganizar em múltiplos times menores, todos focados no mesmo produto. Portanto, eles deveriam compartilhar o mesmo Objetivo do Produto, Product Backlog, e Product Owner.
Compromissos
Um propósito claro direciona o trabalho e deixa o objetivo visível para todos.
- Objetivo do Produto — descreve o estado futuro do produto: um compromisso com uma direção clara.
- Objetivo da Sprint — um passo concreto rumo ao Objetivo do Produto: um compromisso com valor incremental.
- Definição de Pronto — um compromisso com a qualidade para todos os itens do trabalho.
Artefatos
Estes elementos proporcionam transparência. Cada um é revisado regularmente em um ou mais eventos Scrum.
- Product Backlog — Uma lista ordenada de itens em evolução rumo ao Objetivo do Produto; esse backlog é constantemente refinado e atualizado.
- Sprint Backlog — Itens selecionados do Product Backlog junto com um plano de ação para alcançar o Objetivo da Sprint.
- Incremento — Itens finalizados que implementam o Objetivo da Sprint e que respeitam uma Definição de Pronto acordada.
Eventos
Existem três eventos básicos da Sprint, além de um evento diário e um "meta evento" contendo todos os outros quatro. Eventos permitem que inspeção e adaptação aconteça regularmente, em diferentes níveis de granularidade.
- Sprint — Um container com tempo fixo para o trabalho e os quatro eventos de alinhamento; o coração do Scrum onde ideias se tornam valor.
- Sprint Planning — Acontece no começo de cada Sprint; O Product Owner, junto com os desenvolvedores, definem o Objetivo da Sprint e selecionam itens do Product Backlog; desenvolvedores podem criar uma lista de tarefas.
- Daily Scrum — Acontece em todos os dias de trabalho, idealmente, sempre no mesmo local e horário; é um rápido bate-papo entre os desenvolvedores para inspeccionar e adaptar o Sprint Backlog em prol do Objetivo da Sprint.
- Sprint Review — Acontece no final de cada Sprint; os stakeholders inspecionam o incremento enquanto fornecem feedback; como resultado o Time Scrum pode atualizar o Product Backlog
- Sprint Retrospective — Seguindo a Sprint Review, o Time Scrum faz uma retrospectiva sobre a Sprint e identifica mudanças para melhorar a sua efetividade.
Conclusão
Scrum é um conteiner para agilidade, convidando outras técnicas, metodologias e práticas. O framework Scrum, adotado holisticamente, permite que os times inspecionem, adaptem e entreguem produtos de valor em contextos complexos.