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



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

Caixa eletrônico usando arquitetura limpa

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

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

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.

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.

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

A maioria dos sistemas atuais usam a nuvem para o armazenamento e o acesso de dados

A nuvem pode ser uma boa alternativa de substituição da memória atual. Além de fazer a cópia de segurança dos dados, pode ser acessível de qualquer lugar.

A biometria digital é uma grande promessa ao futuro da tecnologia

Muitos serviços já utilizam a autenticação biométrica integrada com a inteligência artificial para melhorar a experiência do usuário, além de melhorar a segurança.

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.

Navegador

Aplicativo que adquiri e converte o conteúdo de outros servidores para a exibição de páginas na internet através de protocolos de comunicação, como o HTTP.

Matriz de Ansoff

Matriz de Ansoff em português é uma estratégia de crescimento da empresa no mercado. Ansoff é o sobrenome de um russo-americano, Igor Ansoff.

Terminal

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