Scrum é um framework ágil para a conclusão de projetos complexos. Scrum foi inicialmente formalizado para projetos de desenvolvimento de software, mas tem sido aplicado para qualquer âmbito de projetos complexos, e trabalhos inovadores.
O Scrum é especialmente adequado para projetos com requisitos que mudam rapidamente ou são altamente emergentes. O desenvolvimento de software com Scrum progride através de uma série de iterações chamados de Sprints, que duram, tipicamente, de uma a quatro semanas.
As cerimônias do Scrum
O modelo Scrum sugere que cada Sprint comece com uma breve reunião de planejamento, e termine com uma reunião de revisão do trabalho realizado na Sprint. Estes são os princípios do gerenciamento de projetos Scrum: ciclos curtos e cadenciados com reuniões de alinhamento, acompanhamento da evolução do trabalho, e melhoria do time.
Além das reuniões de (1) planning e (4) review, Scrum sugere mais duas reuniões que acontecem a cada Sprint. Essa são: (2) retrospectiva, a reunião que promove o momento kaizen, onde o time busca a melhoria contínua em relação ao processo, entrega, e interação entre as pessoas; e (3) grooming (ou refinamento), a reunião onde o backlog do produto é revisitado buscando o entendimento dos próximos requisitos, candidatos ao próximo Sprint.
A Sprint
A Sprint promove uma cadencia, tipicamente de uma a quatro semanas, dependendo da preferência do time. Mas diariamente o time realiza uma reunião para verificar o andamento das tarefas de trabalho. Esta reunião é a Daily Sprint. Nesta, basicamente todos os membros do time ficam de pé (para que a reunião não demore demais) e respondem a tres perguntas, as quais auxiliam o time a se auto-organizar, buscando o alinhamento diário em relação ao trabalho da Sprint. As três perguntas são: o que fiz ontem, o que vou fazer hoje e o que está impedindo o progresso do meu trabalho.
No mundo ágil Scrum, evitamos descrições completas e detalhadas sobre como tudo deverá ser feito na Sprint. Muito é deixada para o time de desenvolvimento decidir. Isso porque o time vai saber a melhor forma de resolver o problema em questão.
É por isso que a reunião de planejamento do Sprint é descrita em termos de metas e resultado desejado. O resultado desejado é um compromisso com um conjunto de funcionalidades a serem desenvolvidas no próximo Sprint. Buscando assim o equilíbrio entre autonomia, flexibilidade e comprometimento do time. Tal compromisso é revisitado ao final da Sprint, na reunião de review.
A equipe Scrum
Scrum fomenta uma equipe multifuncional e auto-organizada. A eficiência do time depende da capacidade dos membros trabalharem em conjunto, e fazer o melhor uso das habilidades dos indivíduos: multifuncionais. O time Scrum é auto-organizado pois não deve existir um líder de equipe que decide quem vai fazer qual tarefa e como. Tarefas e problemas são levantados por todos, e essas são questões decididas pela equipe como um todo.
Os times Scrum são apoiados por dois papéis específicos. O primeiro é um Scrum Master, alguém experiente com o framework que pode ajudar o time a usar o processo de Scrum para alcançar seus objetivos de alto nível. Os melhores Scrum Masters são aquelas pessoas que sentem mais satisfação de facilitar o sucesso dos outros do que seus próprios. O Scrum Master deve se sentir confortável e seguro com o framework a ponto de dar todo controle em relação ao produto para o Product Owner(PO), e todo controle em relação ao desenvolvimento a sua equipe.
O segundo papel específico é o Product Owner (PO). O PO representa o negócio, os clientes ou usuários, e orienta a equipe para a construção do produto certo. O PO deve liderar o esforço de desenvolvimento, através de esclarecimentos e priorizações sobre o trabalho.
Tipicamente, o PO trabalha com o Product Backlog, a lista mestre dos requisitos do produto a ser criado. É sua função priorizar o backlog com base no valor do negócio, e no alinhamento entre as partes interessadas, tanto internas quanto externas a equipe Scrum. Como tal, o PO deve estar disponível para a equipe para responder a perguntas e direcionar o time a cada momento ou indagação.
Esta combinação de autoridade e disponibilidade para a equipe de desenvolvimento faz com que o PO seja peça chave do framework. Scrum valoriza a auto-organização e autonomia do time; portanto, o PO deve respeitar o direcionamento e a capacidade da equipe para criar o seu próprio plano de ação.
Trabalho em Equipe, Alinhamento Cadenciado e Clareza
A equipe Scrum– o Scrum Master, o PO e todos membros do time (com suas variadas formações)– participa ativamente de todas reuniões com um alto nível de autonomia, transparência e comprometimento. Na Sprint planning, a equipe decide o Sprint backlog, o qual é acompanhado diariamente e reavaliado na Sprint review. Através da busca de melhoria continua (salientado nas retrospectivas), tipicamente o time Scrum performa em níveis elevados de rendimento. Muito disso é alcançado pelo trabalho em equipe, do alinhamento cadenciado via Sprints, e da clareza de cada papel e reunião.