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



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

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.

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

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.

Tutorial de programação do jogo da serpente em javascript

Programando o clássico jogo da serpente usando o framework p5.js. Tutorial indicado para iniciantes da programação que querem aprender os conceitos básico da área criando jogos.

Veja também

Um algoritmo não pode ser composto por instruções ambíguas, isso pode trazer resultados inesperados

Os algoritmos na ciência da computação são o principal meio para o desenvolvedor poder escrever instruções para o computador, operando a sua maneira

A manutenção de softwares é o maior pesadelo de um programador quando o código parece um campo minado

Existe muitos programadores que escrevem algoritmos mal planejados. Essa falta de planejamento dificulta a manutenção do aplicativo e aumenta a probabilidade de novos bugs.

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.

Busca linear

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

Algoritmo

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

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.