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



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 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 artes de texto usando imagens

Convertendo imagens para ascii art usando o valor da intensidade das cores cinzentas.

Criando um sistema de integração contínua (CI/CD)

Fazendo a integração contínua de Jenkins, Sonatype Nexus, Sonatype, JUnit e Gradle para automatizar processos repetitivos. Prática bastante usada em tecnologias de DevOps.

Criando um jogo de guerra nas estrelas em javascript usando a biblioteca p5.js

Jogo simples de guerra espacial desenvolvido em javascript. Esse jogo usa cálculos de física para simular efeitos de atrito e inércia.

Implementando um algoritmo de pathfinding

Implementando um programa que encontra a menor distância entre dois pontos dentro de um labirinto usando o algoritmo A* (a-estrela).

Veja também

Antigamente, as linguagens de programação não tinham um modo tão flexível de escrever como hoje

A linguagem de programação orientada a objetos revolucionou o mundo da programação, sendo o tipo de linguagem mais utilizada na atualidade

A comunicação entre dispositivos existe graças aos protocolos

Alguns desses protocolos é o HTTP que usamos em nossos navegadores. Sem esses protocolos teríamos alguns problemas na comunicação de dispositivos através da internet.

Design thinking

Design thinking é um método bastante flexível que procura atender os desejos humanos com o intuito de inovar ou solucionar problemas.

Pilha (stack) e fila (queue)

Pilha e fila são tipos de estrutura de dados que contribuem para um gerenciamento de dados mais inteligente e eficaz na programação

Notação do big-O

A notação do O grande é um método de fácil implementação, usado para avaliar a eficiência de um algoritmo em relação ao tempo de processamento.

Vetores geométricos

Caracterizam uma grandeza física que possui módulo, direção e sentido. Pode simular eventos como queda, atração e deslocamento de objetos em um meio.