SCRUM é uma metodologia ágil muito usada no desenvolvimento de software. Baseia-se em ciclos com período de tempo definido, chamados Sprints, onde trabalha-se para alcançar objetivos bem definidos.
Estes objetivos são representados no Product Backlog, uma lista de itens a fazer constantemente atualizada e repriorizada (ScrumAlliance 2010). A Figura 1 ilustra o ciclo de um release no SCRUM.
Figura 1: Ciclo de um release em SCRUM (Mountain Goat 2011)
Existem três papéis principais que o compõem: a Equipe, Product Owner e Scrum Master.
- Equipe: Responsável por entregar soluções. Geralmente é formada por um grupo pequeno (entre 5 a 9 pessoas) multifuncional e que trabalha de forma autogerenciada e auto-organizada.
- Product Owner: Responsável pela visão de negócios do projeto. Cabe a este papel definir e priorizar o Product Backlog. Geralmente é o papel desempenhado pelo cliente ou por um gerente de produtos da empresa que desenvolve o software.
- Scrum Master: é uma mistura de gerente, facilitador e mediador. Seu papel é remover obstáculos da equipe e assegurar que as práticas de Scrum estejam sendo executadas com eficiência.
Como o SCRUM funciona ?
Definição do Product Backlog: Todas as funcionalidades ou mudanças no produto são definidas pelo Product Owner no Product Backlog. Esta lista é priorizada para refletir a necessidade dos clientes ou demandas do mercado. Os itens do topo possuem prioridade maior do que itens no final da lista.
Planejamento do Sprint: Ocorre em duas partes, cada uma delas com time-box[1] de quatro horas. Na primeira parte do planejamento, o Scrum Master reúne-se com o Product Owner para verificar qual é oProduct Backlog. Na segunda parte, o Scrum Master reúne-se com a Equipe para estimar o esforço necessário para os itens do Product Backlog (usando estimativa ágil como Planning Poker) e para planejar o Sprint.
Andamento do Sprint: Durante o Sprint, os itens do Product Backlog que devem ser entregues são tratados em um artefato conhecido como Sprint Backlog, que contém os itens do Product Backlog subdivididos em tarefas menores. As tarefas são responsabilidade da Equipe, que tem autonomia para decidir como elas devem ser executadas.
Reuniões Diárias: O Scrum Master se reúne diariamente com a Equipe sempre em um mesmo horário. Nesta reunião, cada membro da equipe responde três perguntas básicas:
- O que foi feito ontem?
- O que se pretende fazer hoje?
- Quais são os impedimentos que estão atrapalhando a execução das tarefas?
Revisões: No final do Sprint a Equipe demonstra os resultados para o Product Owner e demais interessados em uma reunião chamada Sprint Review, de forma que os itens do Backlog sejam considerados prontos e então possa se iniciar um novo Sprint. A equipe também faz uma reunião de auto avaliação no final do Sprint chamada Sprint Restrospective. Nela discute-se o que aconteceu durante a iteração finalizada, identificando o que funcionou bem e o que pode ser melhorado.
Monitoramento do Projeto: Para reportar o andamento do projeto usa-se um Burndown Chart, que é um gráfico onde o eixo x é a linha de tempo do projeto e o eixo y é o número de pontos a serem vencidos, que representam os pesos das funcionalidades potencialmente implantáveis do Product Backlog.
[1] Período de tempo definido.
1 Comentários
Rafael, bom dia…
Não exibe a figura…
Figura 1: Ciclo de um release em SCRUM (Mountain Goat 2011
Obrigado,
Habib