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



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

Criando o esqueleto de um jogo de tiro 2D visto de cima usando P5.js

Usando lógicas matemáticas como trigonometria para criar e calcular o esqueleto de um jogo de tiro 2D em javascript

Criando um jogo de pacman usando javascript e pixi.js (parte 1)

Desenvolvimento dos conceitos mais básicos do clássico pacman, como: mapa, animação, deslocamento e detector de colisões.

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.

Caixa eletrônico usando arquitetura limpa

Usando JavaFX e arquitetura limpa para criar um aplicativo de caixa eletrônico extremamente simples.

Integrando o PHP com Elasticsearch no desenvolvimento de um sistema de busca

Projeto de criação de um sistema de busca usando o framework Symfony e Elasticsearch. A integração com Kibana também é feito de modo remoto com um raspberrypi.

Veja também

O DNS torna a interface do navegador mais amigável aos usuários

Antes de podermos visualizar o site, o endereço que digitamos na barra de endereço do nosso navegador passa por várias etapas, para só então podermos visualizar o site pela primeira vez...

Os robôs estão aprendendo por conta própria?

Já não é mais novidade saber que os robôs não precisam mais da orientação de um humano para aprender. Além disso, os robôs já superam os humanos em muitas áreas...

Terminal

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

Programação orientada a objetos

A programação orientada a objetos possui um contexto bastante semelhante com a vida real, facilitando a sua implementação e interpretação.

Algoritmo

O algoritmo é um conjunto de instruções escritas por um programador com intuito de solucionar um problema ou obter um resultado previsto.

TDD Desenvolvimento orientado por testes

Método de desenvolvimento em que os testes são a base da implementação. Eficiente para mitigar bugs de forma automática.