[BETA] Utilização do Scrum no Desenvolvimento/Qualidade
Ferramenta de metodologia ágil para gestão de projetos.
Metodologia Ágil
A metodologia Ágil é um conjunto de métodos e práticas que aceleram a entrega de valor do projeto, dividindo o projeto em entregas menores e parciais. Esta metodologia preza pela inteligência coletiva e atua com times auto organizados, e é utilizada com grande frequência em projetos de desenvolvimento de software, porém ela pode ser utilizada em
quase todas as áreas.
A metodologia Ágil surgiu a partir do Manifesto Ágil, criado por dezessete programadores, que prezavam pela rapidez de todo o processo, criando quatro valores a serem seguidos.
Valores do desenvolvimento Ágil:
● Os indivíduos e suas interações acima de procedimentos e ferramentas;
● O funcionamento do software acima de documentação abrangente;
● A colaboração com o cliente acima da negociação e contrato;
● A capacidade de resposta a mudanças acima de um plano pré-estabelecido.
Existem vários tipos de Frameworks da metodologia Ágil, sendo os mais utilizados:
● Scrum;
● Kanban;
● Lean;
● XP (Extreme Programming ou Programação Extrema);
● FDD (Feature Driven Development ou Desenvolvimento Guiado por Funcionalidades).
Sobre o Scrum
Principais informações relacionadas ao Scrum.
O que é Scrum?
O Scrum é um framework da metodologia Ágil para gerenciamento e planejamento, utilizada principalmente em projetos de desenvolvimento de software. Desenvolvido por Ken Schwaber e Jeff Sutherland, o Scrum conta com um guia de regras, denominado O Guia do Scrum.
Os projetos no Scrum são divididos em ciclos de desenvolvimento (geralmente de 2 a 4 semanas de duração) chamados de Sprints, onde são realizadas as entregas contínuas do software funcionando.
O Scrum é formado por 3 pilares:
Valores do Scrum
Comprometimento
Todos devem se comprometer a atingir os objetivos do time.
Coragem
A coragem do Time Scrum faz com que ele tome decisões corretas e trabalhe em problemas difíceis.
Foco
Todos devem estar focados nos objetivos do Time Scrum e no trabalho do Sprint.
Abertura
O Time Scrum e seus Stakeholders (pessoas ou empresas que têm interesse na gestão do projeto) concordam em estarem abertos a todo o trabalho e aos desafios com a execução do mesmo.
Respeito
Os mesmos do Time Scrum respeitam uns aos outros para serem pessoas capazes e independentes.
Time Scrum
O Time Scrum, ou a Equipe do Scrum, são auto-organizáveis e multifuncionais, selecionando a melhor forma para a realização do trabalho, e deve possuir todas as competências necessárias, não dependendo de outros times ou pessoas.
Integrantes do time:
Product Owner (PO)
É o dono do produto, responsável por maximizar o valor do produto. É também o único responsável pelo Backlog do produto.
Ele é o representante dos desejos da organização, que deve sempre respeitar suas decisões.
O Product Owner é o único que tem permissão de interagir com o Time de Desenvolvimento sobre alterações de prioridade e o Time não tem permissão para agir de acordo com a palavra ou vontade de outras pessoas.
Scrum Master
É o responsável pelo entendimento e aplicação do Scrum, garantindo que o time siga às práticas, regras e teorias do Scrum.
Ele filtra as interações de pessoas de fora da equipe com pessoas da equipe, permitindo apenas o que será útil para o trabalho do time. Auxilia a todos da equipe para maximizar o valor do produto.
Time Desenvolvimento
É o responsável pela realização do trabalho e das entregas parciais de cada Sprint.
Estruturados e autorizados para se organizar e gerenciar seu próprio trabalho, é geralmente formado de 5 a 9 pessoas.
Sprint
O Scrum é formado por ciclos de mesma duração (geralmente de 2 a 4 semanas), onde são realizadas as entregas parciais do produto em funcionamento, e são incrementadas as versões do produto. Ao fim de uma Sprint é iniciada imediatamente uma nova Sprint.
Uma Sprint é composta por:
Sprint Planning (Reunião de planejamento da Sprint)
É onde é planejado o trabalho a ser realizado em toda a Sprint, verificando o que pode ser entregue e como será realizado o trabalho.
Acontece um “Planning Poker”, que é “jogado” pelos integrantes do time durante a reunião, onde cada integrante dá um valor à tarefa, utilizando como métricas o esforço, complexidade de cada tarefa.
Todo o Time Scrum participa desta reunião. O Scrum Master garante a realização do evento.
A meta da Sprint define a direção que o Time de desenvolvimento deve seguir.
Daily Scrum (Reunião diária)
Essa reunião deve acontecer sempre no começo de cada dia de trabalho, tendo como tempo de duração de 15 minutos. Nela as atividades são sincronizadas e definido o trabalho do próximo dia da Sprint (até a próxima Daily Scrum).
Para que essa reunião cumpra seu propósito (ser rápida e simples) é realizada com todos os participantes em pé.
A reunião é basicamente composta de 3 perguntas a serem respondidas por cada um do time:
“O que fiz ontem?”, “O que irei fazer hoje?” e “Vejo algum obstáculo para alcançar a meta?”
Sprint Review (Reunião de revisão da Sprint)
É realizada ao final da Sprint para inspecionar o incremento e alterar o Backlog, caso seja necessário. A reunião é informal tem como objetivo motivar o time e obter comentários.
Durante a reunião todos colaboram sobre o que foi realizado na Sprint.
Sprint Retro (Retrospectiva da Sprint)
Nessa reunião é a hora que o Time Scrum deve se olhar e verificar o que deve ser melhorado para as próximas Sprints.
Backlog do produto
O Backlog é uma lista ordenada por prioridade de tudo que deve ser necessário no produto.
O responsável por seu conteúdo e ordenação é o Product Owner. O Backlog do Produto nunca está completo, e ele evolui junto com o produto e o ambiente.
O Backlog do Produto é dinâmico, sendo alterado para identificar o que o produto necessitar para ser mais útil e competitivo.
Etapas para implementação do Scrum
Primeira etapa
Antes de adotar tais processos, regras e cultura, é muito importante que todos os integrantes do time entendam o que é o Scrum e como ele deve funcionar em seu ambiente de trabalho.
Toda mudança radical causa impactos, por esta razão é interessante que as mudanças na forma de trabalho da equipe seja gradual, todo pequeno passo da direção correta será útil para concluir a caminhada.
A definição do tempo de cada Sprint, seleção dos integrantes da equipe de acordo com suas capacidades, definições de padrão de projetos a serem utilizados, nomeação do Product Owner e do Scrum Master, e definição das ferramentas de gerenciamento e comunicação a serem utilizadas, são essenciais para o início da implantação do Scrum.
Após as definições iniciais, deve ser realizada a reunião de planejamento (Sprint Planning) para que seja definido o trabalho a ser realizado na primeira Sprint. Iniciada a Sprint, as reuniões diárias (Daily Scrum) deverão ser realizadas sempre no mesmo horário. Ao final de cada Sprint serão realizadas reuniões de revisão do trabalho realizado na Sprint, para verificar se a entrega a ser realizada está de acordo com o que foi pedido, e de retrospectiva, para que sejam analisados os erros e acertos da Sprint, para que o trabalho da equipe possa sempre evoluir.
Segunda etapa
Esta etapa envolve as atividades externas integradas com o processo ou time. Deverá ser realizada a definição de regras e padrões de projeto para que possa ser lido e entendido por qualquer membro da equipe antes da reunião de planejamento. A entrega correta do escopo do projeto garante maior agilidade no entendimento e entrega, somando-se a um maior nível de acerto e satisfação na entrega do mesmo. A partir também da alteração do escopo, o entendimento do projeto ficará mais fácil para os integrantes do time, podendo assim participar da reunião de planejamento, realizando o planning poker com as métricas definidas
anteriormente.
Terceira etapa
Esta etapa é a garantia que as etapas anteriores estão em pleno funcionamento e que as práticas e regras framework são seguidas corretamente, mantendo o trabalho da equipe ágil, com entregas parciais e em funcionamento do software.