Conceito básico sobre Scrum

O Scrum é uma ferramenta poderosa para utilização nas empresas, sendo muitas vezes aplicada para o desenvolvimento ágil de softwares mas, também afim de organizar, facilitar a entrega de projetos e pela agilidade que propõe tem se tornado cada vez mais praticado nas companhias.
Conceitualmente estamos falando de um Framework focado em #agilidade que permite controlar de forma eficaz e eficiente o trabalho, potencializando as equipes que trabalham em prol de um objetivo em comum. De forma geral, o #Scrum não está limitado somente a definição de objetivos, como também ajuda a cumprir os prazos estabelecidos.

O objetivo deste artigo é explorar a utilização básica, em outra oportunidade irei abordar o modelo Spotify Squads.

Quando tudo começou e seus princípios básicos…

#Projetos: Todo projeto deve ter um início, meio e fim, com foco na geração de valor, através de entregas continuas. Independente do objetivo do projeto, o #Srum trabalha com entregas continuas, onde o ideal é acontecer reuniões dividas em ciclos, estes ciclos são denominados como #Sprint.
O tempo de cada sprint pode e deve ser ajustado de acordo com a empresa e aos seus projetos. O sprint pode levar de uma a quatro semanas.

Todos itens do Scrum costumam ser controlados em um quadro, onde é possível ver as tarefas que estão em andamento, as que foram trabalhadas, mas que ainda precisam ser verificadas ou testadas, e as que são consideradas concluídas. Esse método é conhecido como #Kanban, considerado outro sistema que pode ser aplicado de várias formas, não vou me aprofundar neste tema que merece um artigo exclusivo.

Outra ferramenta essencial para o #Scrum é o Backlog que possibilita a criação de registros com as atividades a serem desenvolvidas e as identifica de acordo com sua prioridade. Com o Backlog é possível ter a visualização de conclusão de cada atividade dentro de uma #Story. A Story pode ser considerada como um agrupamento de atividades ou tarefas afim de efetuar entregas dentro do projeto.

Agora, é importante ter a visibilidade da definição de papeis e responsabilidades dentro do #Scrum:

#ProductOwner (PO): é o dono do produto ou projeto a ser realizado, é o responsável pelo direcionamento, tem a visão, definindo quais requisitos fazem parte do backlog e quais devem ser abordados pela equipe. Representa os usuários ou clientes do produto em questão. O #PO deve levar em consideração os riscos e os benefícios, o que é possível, o que pode ser feito, o que desperta paixão na equipe e qual a necessidade do cliente. Sem um Product Owner, não há Scrum.

#ScrumMaster: é a pessoa que vai reger todo o projeto como um maestro, efetuando a ligação entre o Product Owner e a equipe. Tem a responsabilidade de organizar reuniões, fazer o acompanhamento do trabalho e se certificar que cada integrante da equipe tem as ferramentas necessárias para cumprir a sua função da melhor maneira possível. Se necessário, auxiliar na resolução de qualquer obstáculo que impeça o progresso das atividades.

#Team (equipe): São as pessoas que atuam no desenvolvimento do projeto ou produto. Pessoas, sempre são a chave para o sucesso de qualquer projeto. É necessário que tenham as habilidades necessárias para executar a #Visão do #PO e transformá-la em realidade.
Importante que estejam sempre motivados, porque parte da responsabilidade de construir o produto é deles. E é altamente recomendado que possuam todas as habilidades necessárias para entregar aquilo que foi estabelecido como meta do projeto.

O time Scrum é uma equipe de alta performance que normalmente é composta por 3 à 9 pessoas e que atua com a característica de auto-gerenciamento.

Outro conceito muito importante é o #daily scrum, onde os responsáveis pelo projeto ou atividade se reúnem como #ScrumMaster.

O objetivo é que esta reunião tenha uma curta duração (máximo 15 minutos). O principal objetivo é avaliar o andamento e comprovar que cada elemento está cumprindo o seu papel. Seguindo um conceito bem similar, também existe a necessidade de outra reinião, esta periódica para  planejamento da próxima sprint, onde é definido quanto tempo vai durar cada tarefa. O padrão para calculo do tempo de cada tarefa pode ser atribuição de pontos, onde define-se níveis de dificuldade de 1 a 5 e para cada elemento aplica-se a pontuação, onde a  tarefa que demora mais tem mais pontos. Assim, é possível somar os pontos no fim da sprint e averiguar a velocidade de trabalho da equipe.

O acompanhamento do progresso de cada sprint pode ser feito através da #burndown chart. Esta é uma das principais características que torna o scrum tão popular.

O  #burndown chart é uma tabela que permite controlar se um projeto está se desenvolvendo da forma programada. Ela apresenta uma medição diária da quantidade de trabalho que ainda não foi feito em cada sprint ou release. Esta tabela também permite fazer uma estimativa do tempo em que a sprint vai ser concluída. Assim, é possível saber se o projeto está com a evolução de acordo com o tempo estimado ou se vai sofrer algum atraso. Essa informação pode ser usada pela equipe para fazer alguns ajustes no seu trabalho, impedindo que o atraso se verifique realmente.

Conceitualmente este é o conteúdo que gostaria de compartilhar, estou certo que é o básico e irá auxiliar pessoas que estão começando a engatinhar em metodologias ágeis mas, ao mesmo tempo, pode parecer muita coisa para implementar e será necessário que busque conhecimentos mais abrangentes sobre o tema.

Mas, tudo começa pelo simples e conceito é essencial, espero que utilize as dicas em seus projetos e aplique no seu dia-a-dia.

Transformação DigitalScrum – Modelo Spotify