# [BETA] Utilização do Scrum no Desenvolvimento/Qualidade

# 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:

[![Scrum.png](https://wiki.supersoft.com.br/uploads/images/gallery/2020-12/scaled-1680-/scrum.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2020-12/scrum.png)

# 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:   
“<span style="text-decoration: underline;">*O que fiz ontem?*</span>”, “<span style="text-decoration: underline;">*O que irei fazer hoje?*</span>” e “<span style="text-decoration: underline;">*Vejo algum obstáculo para alcançar a meta?*</span>”

##### **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.