Artigo da Série Engenharia de Software.
O tema de hoje: SCRUM.
Scrum é uma metodologia ágil para Gerenciamento de Projetos. Ela é baseada em ciclos de 2 a 4 semanas chamados Sprints.
Nos Sprints, se trabalha para alcançar objetivos bem definidos. Estes objetivos (requisitos do sistema) estão no Product Backlog, e são constantemente atualizados e re-priorizados.
No Scrum, as pessoas tem seus papéis:
- Product Owner
É o ponto focal do projeto, pois tem a visão do negócio. É quem prioriza o Product Backlog.
- Scrum Master
É um lider/facilitador. Ajuda a equipe a resolver problemas e assegura a prática do Scrum. Não tem autoridade sobre a equipe.
- Time Scrum
É a equipe de Desenvolvimento. No Scrum, a equipe se auto-organiza e tem poder para definir, inclusive com possibilidade de remove membros da equipe.
Como funciona?
Pega-se os itens do topo da lista no Product Backlog, e define-se um Sprint. Na Execução do Sprint, estes itens são chamados de Sprint Backlog, e são distribuídos no time Scrum.
O Scrum Master faz reuniões diárias de 15 minutos (Daily Scrum) para saber o andamento. Nesta reuniões cada membro deve responder as seguintes questões:
- O que foi feito?
- O que tem pra hoje?
- Tá com algum problema?
No final do Sprint, temos como entrega o produto de Sprint e o Document-of-Done (DoD). Deve ser feita uma revisão pela equipe do produto entregue (Sprint Review) e do processo (Sprint Retrospective), afim de melhorar ambos.