O que é Scrum?
Scrum é uma maneira ágil de gerenciar um projeto, muito usado no desenvolvimento de softwares. O desenvolvimento de software com Scrum é muitas vezes percebido como uma metodologia; mas ao invés de ver o Scrum como metodologia, pense nele como uma estrutura para gerenciar um projeto. No mundo ágil do Scrum, em vez de fornecer descrições completas e detalhadas de como tudo deve ser feito em um projeto, grande parte é deixada para a equipe de desenvolvimento de software Scrum. Isso ocorre porque a equipe saberá melhor como resolver o problema ao qual eles são apresentados. É por isso que, no desenvolvimento do Scrum, por exemplo, uma reunião de planejamento de Sprint é descrita em termos do resultado desejado em vez de um conjunto de critérios de entrada, definições de tarefas, critérios de saída (ETVX) e assim por diante, como seria fornecido na maioria das metodologias. O Scrum conta com uma equipe auto-organizada e multifuncional, pois não existe um líder geral da equipe que decide qual pessoa irá fazer qual tarefa ou como um problema será resolvido e todos são necessários para levar uma ideia do papel para a implementação. Dentro do desenvolvimento ágil, os times Scrum são suportados por dois papéis específicos. O primeiro é um Scrum Master ou mestre Scrum, que pode ser considerado o treinador da equipe, ajudando os membros da equipe a usar o processo Scrum para performar ao mais alto nível. O proprietário do produto (PO) é o outro papel, e no desenvolvimento de software Scrum representa o negócio, clientes ou usuários, e orienta o time para a construção do produto certo.
O que está envolvido?
O modelo Scrum sugere que os projetos progridam através de uma série de sprints, que são eventos de trabalho focado para cumprir pendências do projeto. A metodologia defende uma reunião de planejamento no início do Sprint, onde os membros da equipe descobrem com quantos itens eles podem se comprometer e, em seguida, criam um backlog de Sprint - uma lista de pendências ou requisitos do projeto que devem ser trabalhados pela equipe. Em cada dia do Sprint, todos os membros da equipe devem participar de uma reunião Scrum diária, incluindo o Scrum Master e o proprietário do produto. Esta reunião não tem mais de 15 minutos. Durante esse período, os membros da equipe compartilham o que trabalharam no dia anterior, irão trabalhar naquele dia e identificam quaisquer impedimentos para o progresso. O modelo vê scrums diários como forma de sincronizar o trabalho dos membros da equipe enquanto discutem o trabalho do Sprint. No final de um Sprint, a equipe realiza uma avaliação de Sprint durante a qual a equipe demonstra a nova funcionalidade para o PO ou qualquer outro stakeholder que deseje fornecer feedback que possa influenciar o próximo Sprint. Este ciclo de feedback no desenvolvimento do software Scrum pode provocar resultados na revisão ou adição de itens ao backlog do produto. Outra atividade no gerenciamento de projetos é a retrospectiva Sprint no final de cada Sprint. Toda a equipe participa dessa reunião, incluindo o Scrum Master e o PO. A reunião é uma oportunidade para refletir sobre o Sprint que acabou e identificar oportunidades para melhorar.
Processo Scrum: os principais artefatos
O principal artefato no desenvolvimento do Scrum é, naturalmente, o próprio produto. O modelo espera que a equipe traga o produto ou sistema para um estado potencialmente expedível no final de cada Sprint. O backlog do produto é outro artefato. Esta é a lista completa da funcionalidade que continua a ser adicionada ao produto. A maneira mais popular e bem-sucedida de criar um backlog de produtos usando a metodologia Scrum é preenchê-lo com histórias de usuários, que são descrições curtas de funcionalidades descritas na perspectiva de um usuário ou cliente. No gerenciamento de projetos, no primeiro dia de um Sprint e durante a reunião de planejamento, os membros da equipe criam o backlog Sprint. O backlog de Sprint pode ser considerado como a lista de tarefas da equipe para o Sprint, enquanto um backlog do produto é uma lista de recursos a serem construídos (escritos sob a forma de histórias de usuários).
O projeto Agile Scrum
Um Scrum Master difere de um gerente de projeto tradicional de várias maneiras, incluindo que essa função não fornece orientação diária para a equipe e não atribui tarefas a indivíduos. Protege o time das distrações externas, permitindo que os membros da equipe se concentrem durante o Sprint no objetivo final. Enquanto se concentra em ajudar a equipe a ser o melhor que pode ser, o proprietário do produto trabalha para direcionar a equipe para o objetivo certo. O dono do produto faz isso criando uma visão convincente do produto e, em seguida, transmitido essa visão para a equipe através do backlog do produto. O proprietário do produto é responsável por priorizar o backlog durante o desenvolvimento, para garantir que ele seja compatível, pois é mais aprendido sobre o sistema a ser construído, seus usuários, a equipe e assim por diante. O terceiro e último papel no gerenciamento de projetos é o próprio time. Embora os indivíduos possam se juntar à equipe com vários títulos de trabalho, no Scrum, esses títulos são insignificantes. A metodologia Scrum afirma que cada pessoa contribui de qualquer maneira para completar o trabalho de cada Sprint. Uma maneira de pensar sobre a natureza interligada desses três papéis nesta metodologia ágil é como um carro de corrida: a equipe do Scrum é o próprio carro, pronto para acelerar em qualquer direção em que apontar. O proprietário do produto é o motorista, certificando-se de que o carro está sempre na direção certa. Já o Scrum Master é o mecânico principal, mantendo o carro bem ajustado e executando sua melhor performance.