Desenvolvimento - C#
Gerenciamento de Equipes com Scrum
Scrum visa uma interatividade extrema entre os colaboradores do projeto criando assim uma ajuda mutua entre a Equipe, formando uma enorme base de conhecimento e...
por João Guilherme P. da SilvaInicialmente, o Scrum foi concebido como um estilo de gerenciamento de projetos em empresas automotivas e de produtos industrializados, em 1986 Takeuchi e Nonaka juntando todo o conhecimento de Lean (Sistema Toyota de Produção ou Produção Enxuta) perceberam que todo o processo de gestão com o Scrum poderia ser utilizado para gerir com melhor eficiência equipes pequenas de 3 a 20 colaboradores, utilizado atualmente no processo de gerenciamento e planejamento de projetos em fabricas de software, onde geralmente as equipes não ultrapassam esse tamanho. O conceito de Scrum esta também sendo levado para fora das empresas de desenvolvimento de software sendo adotado em empresas onde os colaboradores necessitam trabalhar em conjunto para alcançar um determinado objetivo ou resultado.
O Scrum é baseado em ciclos de no máximo 30 dias chamados Sprints, onde durante esse período a equipe trabalha para alcançar o objetivo proposto. Este objetivo é discutido no Product Backlog, que na realidade é a lista de tarefas que devem ser cumpridas ou a funcionalidade que se deseja no final, esse Product Backlog é lembrado e focado constantemente pelo Gerente de Projeto para sua Equipe.
Simplificando as pessoas envolvidas no Scrum são três:
· Colaboradores (Equipe): responsável pelo desenvolvimento das soluções propostas, trabalhando pró-ativamente para a conclusão de determinada etapa. Composta de 3 a 9 colaboradores.
· Product Owner (Cliente): responsável pela visão de negócios do projeto, é ele quem define e prioriza o Product Backlog (objetivo). Geralmente esse papel é atribuído ao Cliente e todos os colaboradores dele envolvidos no projeto, como seus gerente, diretores e facilitadores, todos esse juntos forma o Product Owner.
· Scrum Master (Gerente do Projeto): é uma mistura de gerente, facilitador e mediador. Seu papel é remover obstáculos da equipe e assegurar que as práticas de Scrum estão sendo executadas com eficiência.
Antes de cada sprint se iniciar, o Product Owner (Cliente), o Scrum Master (Gerente do Projeto) e a Equipe decidem no que a equipe irá trabalhar durante o próximo sprint. O Cliente mantém uma lista priorizada de itens de backlog (funcionalidades) que deseja primeiro, o que pode ser re-priorizado somente antes o planejamento do sprint. Após o sprint definido evita-se ao máximo alterações.
A Equipe seleciona itens do topo do backlog proposto. Eles selecionam somente o quanto de trabalho eles podem executar para terminar por completo a funcionalidade a ser desenvolvida, evitando assim sobrecarga dos colaboradores, reduzindo então todo o stress gerado por cobranças, erros e retrabalho.
A Equipe então planeja a melhor forma da solução ser feita, do seu inicio até sua implantação. Os itens do backlog do produto são então destrinchados em tarefas entre os colaboradores que se tornam o backlog do sprint.
O Product backlog e o sprint backlog são, então, duas coisas diferentes, o primeiro contendo requisitos e o segundo contendo informações sobre como a equipe irá implementar os requisitos do produto.
Uma das grandes vantagens do Scrum, é não seguir um padrão, ou uma formula mágica, como proposto em várias práticas de gerenciamento de projetos (PMI, PMP e etc), que tem como o principal objetivo atingir qualidade máxima através da aplicação de uma série de processos já estabelecidos, tornado tudo muito burocrático e demorado e se mal gerida ineficiente.
O que garante o sucesso do gerenciamento de projeots com o Scrum e é de EXTREMA importância são as reuniões diárias ou daily scrum metting, feitas entre o Scrum Master e sua equipe nas primeiras horas do dia de trabalho.
Os temas abordados nessas pequenas reuniões (20 minutos no máximo) são essenciais para a conclusão do sprint backlog e do sprint principal, podendo ser levantadas questões na Equipe como:
· O que vocês fizeram ontem? Está pronto, testado e validado?
· O que se pretende fazer hoje?
· Existe algum impedimento que est atrapalhando a execução das tarefas?
Focando no que cada pessoa concluiu ontem e irá realizar hoje, a Equipe tem uma visão melhor do trabalho que foi concluído e o que ainda falta fazer.
As reuniões diárias adotadas no Scrum não são reuniões para se coletar Products Backlogs, mas uma reunião onde os colaboradores se comprometem entre si a favor da equipe e do objetivo final.
Se na daily scrum metting um programador comunica "Hoje irei terminar o módulo de emissão de NF-e" todos vão saber qual é o Sprint Backlog dele pra hoje, assim todos podem planejar os seus e se organizar para o dia seguinte .
Isso tem um efeito fantástico de auxiliar a equipe a compreender a importância destes compromissos e que seus compromissos são de uns com os outros, não com um cliente ou seu chefe, e sim com os próprios membros da equipe, pois todos estarão se ajudando e compartilhando informações.
A função do Gerente de Projetos em modelos Scrum, acaba fugindo do padrão de levantar necessidades, garantir o escopo, garantir os prazos e etc. Como a equipe é auto-gerenciada sua principal função se torna a de remover empecilhos que podem impedir sua equipe de concluir o Sprint, se ele não conseguir remover os impedimentos diretamente, ele deve assegurar que alguém do time solucione rapidamente essa questão.
Ao final de cada Sprint a Equipe demonstra os resultados para o Scrum Master e ele por sua vez apresenta ao Product Owner (Cliente), de forma que os itens do Backlog sejam considerados prontos e então possa se iniciar um novo Sprint. Nunca se inica um novo sprint sem todos os Backlogs estejam concluídos, testados e validados pelo Scrum Master e o Product Owner.
O Scrum visa uma interatividade extrema entre os colaboradores do projeto criando assim uma ajuda mutua entre a Equipe, formando uma enorme base de conhecimento e enfatizando a união de todos os membros, refletindo diretamente na qualidade do produto final e na satisfação do Cliente, trabalhando todos de forma ágil e eficiente.