Método scrum

Tem como objetivo entregar o projeto com velocidade e satisfazer as necessidades dos clientes entregando cada funcionalidade do software separadamente.

Categoria de Programação

Postado em 11 novembro 2022

Atualizado em 11 novembro 2022

Palavras-chave: metodo,metodologia,scrum,agil,desenvolvimento,cascata,waterfall,programacao

Visualizações: 1585



Com o rápido avanço da tecnologia em diversos setores da sociedade, soluções para problemas tem sido procurados com mais frequência.

Para atender as necessidades do cliente e não ser engolido por um mercado com rápida e constante evolução, desenvolvedores de sistemas softwares tem criado diversos métodos de planejamento e desenvolvimento de produtos.

Uma metodologia que tem se destacado bastante recentemente é a metodologia de desenvolvimento ágil, substituindo a metodologia tradicional e sofrendo diversas variações para atender necessidades. Uma dessas variações da metodologia ágil é o scrum.

O que é o método scrum?

Método de desenvolvimento de sistemas, focado na velocidade de entrega do produto. A metodologia scrum concentra-se na entrega de cada funcionalidade do sistema de modo separado. Cada segmento do sistema é chamado de sprint. Conforme os sprints vão sendo apresentados, solicitações de modificação e aprimoração podem ser encaminhados do cliente para satisfazer os seus requerimentos.

Apesar de não haver uma regra estabelecida, o método scrum tradicional possui alguns princípios:

  • Cada sprint dura de 2 semanas até 1 mês
  • Cada projeto necessita de 3 papéis para serem exercidos pelos membros, scrum master, dono do produto e desenvolvedor
  • Um projeto usa 2 métodos de gerenciamento, backlog do produto e sprint backlog
  • Existem 3 tipos de cerimônias no método scrum, reunião diária, reunião de planejamento de sprint e reunião de revisão de sprint

O que é e como funciona o sprint no método scrum?

Geralmente, um sprint representa uma funcionalidade de um sistema de software. O desenvolvimento de cada sprint dura de 2 até 4 semanas.

Após o desenvolvimento de um sprint chegar ao fim, ele é entregue para o cliente mesmo antes do projeto ser finalizado. Assim acontece com todos os outros sprints.

comparação de scrum com modelo tradicional de desenvolvimento de software

Comparação do modelo tradicional com o sprint do método scrum

O modelo cascata é o método tradicional de desenvolvimento de softwares. No método tradicional, todas as funcionalidades do software são concluídas na etapa de desenvolvimento. Assim, o software é entregue para o cliente quase finalizado.

Na fase de teste e manutenção o cliente não pode solicitar modificações, pois isso pode gerar custos adicionais ao projeto. As últimas duas etapas do método tradicional tem como objetivo corrigir falhas e anomalias no sistema e não atender solicitações de alteração de clientes insatisfeitos.

O método scrum segue a mesma linha de raciocínio do modelo tradicional, porém de modo segregado e reduzido. Isso é, cada funcionalidade do produto é dividido em sprints que possuem 4 etapas:

  1. Planejamento
  2. Desenvolvimento
  3. Teste
  4. Revisão

Conforme cada sprint é concluído, ele é entregue ao cliente que tem como avaliar e acompanhar o progresso do projeto.

Papéis necessários na metodologia scrum

A metodologia scrum necessita no mínimo 3 papéis para serem exercidos pelos membros do projeto:

  • Scrum master
  • Dono do produto
  • Desenvolvedor

Scrum master

Scrum master não é necessariamente o líder do projeto. Ele é responsável pelo gerenciamento do projeto no aspecto scrum. Organiza reuniões, gerencia o progresso de cada sprint e mantem a equipe motivada e focada.

Dono do produto

Intermediário entre o cliente e os membros da equipe. Responsável por ouvir os requerimentos do cliente e transmitir para a equipe.

Desenvolvedor

Em um projeto scrum, até 9 membros podem integrar na equipe. São os responsáveis pelo desenvolvimento, teste e manutenção do software.

Ferramentas utilizadas no gerenciamento scrum

Com o objetivo de gerenciar e compartilhar informações necessárias entre os membros, duas ferramentas são essenciais para o sucesso, backlog do produto e sprint backlog.

O que é o backlog do produto e para que serve?

Principal ferramenta do dono do produto. Aqui serão escritos todos os requisitos do cliente, servindo de fonte para toda a equipe de desenvolvimento. O backlog do produto pode ser uma lista ou uma matriz, não tendo um formato específico a ser adotado.

O que é o sprint backlog e para que serve?

Principal ferramenta dos desenvolvedores. Usando o backlog do produto como base, no sprint backlog será escrito de modo detalhado e concreto as funcionalidades, prioridades, progresso e histórico de cada sprint.

Cerimônias realizadas no método scrum

O método scrum possui apenas 3 tipos de cerimônias: reunião diária, reunião de planejamento de sprint e reunião de revisão de sprint.

Reunião diária

Como o próprio nome diz, a reunião diária acontece todo dia por cerca de 15 minutos. Tem como objetivo compartilhar o atual progresso de cada membro, suas metas e problemas que podem estar atrapalhando o seu progresso.

Reunião de planejamento de sprint

Etapa de planejamento onde o dono do produto irá se reunir com os desenvolvedores para explicar e discutir os requisitos solicitados pelo cliente. Nessa etapa a equipe cria uma estimativa do tamanho de cada sprint e quanto tempo eles podem demorar para serem concluídos.

Reunião de revisão de sprint

Realizada no final do ciclo de um sprint, a equipe de desenvolvimento irá apresentar o sprint concluído para o dono do produto. Em seguida, o dono do produto avalia e discuti o quê pode ser melhorado ou corrigido.

Conclusão

O método sprint pertence a uma metodologia ágil que tem como objetivo entregar o projeto com velocidade e satisfazer as necessidades dos clientes entregando cada funcionalidade do software separadamente, de modo que o cliente possa acompanhar o progresso do produto.

Projetos práticos

Desenvolvendo o campo de visão de um personagem em um plano 2D

Detectando objetos que entram dentro do campo de visão do personagem. Útil para servir de "gatilho" para eventos em um jogo.

Usando dados fornecidos pelo TSE para simular o gráfico das eleições presidenciais de 2022

Simulação dos gráficos do segundo turno das eleições presidenciais, utilizando python e ferramentas de análise de dados, pandas e jupyter.

Desenvolvendo um jogo de quebra blocos em javascript

Programando um jogo clássico de arcade usando javascript e p5.js. O usuário deve quebrar os blocos utilizando uma bola ao mesmo tempo que evita que a bola saia pela parte inferior da tela

Criando um sistema de mini garagem automatizada integrada com um sistema de monitoramento independente

Desenvolvimento de um sistema de monitoramento que exibi todos os eventos que acontecem na garagem automatizada, como abertura de portões ou ocupação de vagas.

Integrando Laravel com o protocolo MQTT para comunicação entre dispositivos

Projeto de comunicação entre dois dispositivos ESP8266 e Raspberrypi4. Laravel irá funcionar como servidor e receptor de dados de temperatura e umidade coletados com o DHT11.

Veja também

Os computadores usam a numeração binária para a manipulação de dados em circuitos elétricos

A ausência e a presença de energia são dois estados que podem ser usados como valores. Esses valores são respectivamente zero e um.

Estar antenado pode te salvar de cair em algum golpe

A engenharia social é a forma mais fácil de roubar os dados da vítima, principalmente aqueles que não estão antenados..

Busca binária

A busca binária usa o método de divisão de conquista que visa em dividir os problemas em pequenos problemas até que eles se resolvam sozinhos.

Busca linear

A busca linear é um algoritmo de força bruta não muito eficiente, mas com grande simplicidade, sendo utilizada regularmente por programadores.

Variáveis na programação

As variáveis são elementos responsáveis por armazenar informações temporariamente ou perpetuamente durante a execução de um programa ou algoritmo.

Terminal

Interface dedicada ao desenvolvedor ou especialista da computação para executar comandos ao computador sem a presença de um mouse.