Scrum é um dos frameworks mais utilizados pelas grandes empresas no desenvolvimento de projetos, principalmente de softwares. Scrum fornece agilidade para o projeto e uma série de ferramentas que otimizam o processo de construção de softwares. Ele é dito como um framework, pois diferente das metodologias que fornecem o passo a passo dos procedimentos, o Scrum nos mostra o caminho que devemos nos direcionar para obtermos um melhor resultado do projeto, além de poder ser complementado com outras técnicas de gestão.
No Scrum há algumas definições para aqueles que compõem a equipe de desenvolvimento do projeto e os demais envolvidos. A equipe de desenvolvimento é constituída pelos desenvolvedores, Scrum Master e Product Owner. O Product Owner (P.O.) é a pessoa que representa o cliente dentro da equipe de desenvolvimento. É responsabilidade do P.O. a interação com o cliente, definir como será o produto final e quais as etapas de construção do software, assim como a suas respectivas ordens de prioridade. Já o Scrum master é a pessoa que vai tomar frente das reuniões, educar a equipe ao framework Scrum e certificar que o time está seguindo a trajetória correta para alcançar as metas e otimizar o desenvolvimento. Os desenvolvedores consistem em programadores, arquitetos, front-end, entre outros que irão construir o software. E por fim, o cliente, que é a pessoa ou empresa que encomendou determinado software para a equipe.
O Scrum trabalha com ciclos curtos de no máximo 30 dias, a fim de obter um maior número de feedbacks do cliente, facilitando o desenvolvimento e garantindo fidelidade do produto, ou seja, a boa correlação entre o pedido do cliente e o produto final. Esses ciclos são denominados dentro do Scrum de Sprints, que correspondem nas iterações em que são divididos o projeto. Cada Sprint é composto por uma série de Time-Box, que consiste em um tempo definido para cada etapa do Sprint, sendo que uma vez definido, esse tempo não poderá sofrer alterações. O Sprint é dividido em cinco etapas, sendo Planning Scrum, Desenvolvimento, Daily Scrum, Review Meeting e por fim, Retrospectiva, como mostra o desenho abaixo.
Figura 1: Ciclo do Sprint.
A primeira etapa é a Planning Scrum que deve representar aproximadamente 5% do tempo total do Sprint. Na etapa do Planning Scrum o P.O. deve apresentar à equipe uma lista de prioridades do projeto, denominada Product Backlog. Neste Product Backlog estão descritos todos os itens que o projeto deve conter, sendo listados em ordem de prioridade, definidas pelo P.O. através das necessidades apresentadas pelo cliente. Assim, em cada Planning Scrum é apresentado o item de prioridade do Product Backlog e este é subdividido em sub-itens e tarefas. Esses sub-itens, também em ordem de prioridade, são definidos pela equipe de desenvolvimento e dão origem a uma nova lista, a qual é denominada Sprint Backlog. O Sprint Backlog será então desenvolvido no Sprint e posteriormente, apresentado ao cliente e possíveis usuários a fim de receberem o feedback.
Figura 2: Product Backlog e Sprint Backlog
O próximo passo do ciclo no Sprint consiste no Desenvolvimento das tarefas listadas no Sprint Backlog, sendo a maior etapa do Sprint, porém, deve ser respeitado o Time-Box definido no Planning Scrum. É dentro desta etapa que está presente o Daily Scrum, que consiste em uma pequena reunião diária, onde a equipe comenta sobre o que fez desde o último Daily, o que fará até o próximo Daily e quais problemas ocorreram durante esse período.
Após terminar a etapa de Desenvolvimento, o Sprint segue para a Review Meeting, que consiste em uma reunião do time de desenvolvimento com o cliente e usuários do produto. A equipe de desenvolvimento deve apresentar os itens prontos, ou seja, todos os itens que compõem o Sprint Backlog, definidos no Planning Scrum devem estar prontos e se possível testados para uso dos clientes e usuários a fim de obterem um feedback sobre o que foi feito até o momento.
Feito a Review Meeting, o time de desenvolvimento faz a Retrospectiva, que deve ser de aproximadamente 5% do tempo total do Sprint. É na Retrospectiva que a equipe composta por P.O., Scrum Master e desenvolvedores irão levantar os pontos positivos e negativos do que foi feito e apresentado ao cliente, levando em consideração o feedback obtido. Esta etapa tem como principal objetivo a melhoria contínua do time de desenvolvimento como um todo.
Após terminar este ciclo, outro Sprint será iniciado e assim por diante, até que o projeto seja concluído, como mostra a figura abaixo.
Figura 3: Sprints do Scrum Framework.
Comments