O Scrum é um framework para utilizado na gestão de projetos e desenvolvimento ágil de software. Os projetos devem ter um principio, meio e fim, também deve estar focado em gerar valor através de entregas continuas de software funcionando. As entregas normalmente são realizadas em ciclos com time box definido, esses ciclos são chamados de Sprint.
O Scrum é uma estrutura que ajuda as equipes a trabalhar juntas. Como em uma equipe de rugby (de onde vem o nome) treinando para o grande jogo, o Scrum estimula as equipes a aprender com as experiências, se organizar para resolver um problema e refletir sobre suas conquistas e fracassos para melhorar sempre.
Embora o Scrum do qual estamos falando seja mais usado pelas equipes de desenvolvimento de software, os princípios e as lições dessa estrutura podem ser aplicados a todos os tipos de trabalhos em equipe. Esse é um dos motivos pelos quais o Scrum é tão popular. Muitas vezes considerado uma estrutura ágil para o gerenciamento de projetos, o Scrum descreve um conjunto de reuniões, ferramentas e funções que atuam juntos para ajudar as equipes a organizar e gerenciar seu trabalho.
No Scrum, os projetos são dividos em ciclos (tipicamente mensais) chamados de Sprints. O Sprint representa um Time Box dentro do qual um conjunto de atividades deve ser executado. Metodologias ágeis de desenvolvimento de software são iterativas, ou seja, o trabalho é dividido em iterações, que são chamadas de Sprints no caso do Scrum.
As funcionalidades a serem implementadas em um projeto são mantidas em uma lista que é conhecida como Product Backlog. No início de cada Sprint, faz-se um Sprint Planning Meeting, ou seja, uma reunião de planejamento na qual o Product Owner prioriza os itens do Product Backlog e a equipe seleciona as atividades que ela será capaz de implementar durante o Sprint que se inicia. As tarefas alocadas em um Sprint são transferidas do Product Backlog para o Sprint Backlog.
A cada dia de uma Sprint, a equipe faz uma breve reunião (normalmente de manhã), chamada Daily Scrum. O objetivo é disseminar conhecimento sobre o que foi feito no dia anterior, identificar impedimentos e priorizar o trabalho do dia que se inicia.
Ao final de um Sprint, a equipe apresenta as funcionalidades implementadas em uma Sprint Review Meeting. Finalmente, faz-se uma Sprint Retrospective e a equipe parte para o planejamento do próximo Sprint. Assim reinicia-se o ciclo. Veja a ilustração abaixo: