Introdução ao Agile e Scrum

Agile é uma metodologia de desenvolvimento de software que possui largura de banda para se adaptar rapidamente às mudanças nos requisitos do projeto e ao desenvolvimento de um novo produto enquanto o projeto estiver em andamento ou após a conclusão do projeto, diferentemente do gerenciamento tradicional de projetos.

Vamos entender a vantagem distinta que o ágil está tendo sobre a metodologia tradicional de gerenciamento de projetos:

Abordagem tradicional:

  • Planejamento detalhado antes do início
  • Permite adotar mudanças mínimas
  • Definição fixa do projeto

Abordagem ágil:

  • É necessário um planejamento mínimo antes do início
  • Aceitará e se adaptará às mudanças
  • Tempo e custo fixos

Scrum é a abordagem mais usada e popular para implementar uma metodologia ágil.

Iremos em breve para a seção scrum, mas primeiro, vamos ver mais sobre a estrutura ágil.

Princípios por trás do manifesto ágil

  1. A satisfação do cliente é da mais alta prioridade, alcançada através da entrega contínua e antecipada de software valioso.
  2. Entregue um software em funcionamento em um curto espaço de tempo com o desenvolvimento contínuo de novos softwares / produtos na linha, seguindo a mesma abordagem.
  3. Deveríamos ser capazes de acomodar os requisitos variáveis, mesmo que se atrase durante o ciclo de vida do SDLC.
  4. Os membros da equipe devem permanecer motivados sempre e, para isso, deve ser fornecido suporte suficiente e um bom ambiente.
  5. Os desenvolvedores e os empresários devem trabalhar juntos diariamente durante todo o projeto.
  6. A maneira mais eficiente de conversar é considerada a interação cara a cara.
  7. Desenvolvimento sustentável. Todos os membros da equipe devem ser capazes de manter um ritmo constante.
  8. Um produto / software de trabalho é considerado a principal medida de progresso.
  9. No final do dia, o foco principal deve ser a excelência técnica e o design robusto.
  10. A simplicidade deve ser seguida durante todo o processo SDLC
  11. As equipes devem mostrar efetivamente a eficácia contínua e adotar quaisquer alterações para aumentar a eficácia.
  12. O design e a arquitetura robustos vêm de equipes auto-organizadas.

Abordagens para implementação ágil:

Link: https://goo.gl/images/fkZqGe

  1. SCRUM - Essa é uma abordagem iterativa na qual existe algo chamado de sprints que dura até uma ou duas semanas. Essa abordagem permite que as equipes entreguem o produto de trabalho ou o software regularmente.
  2. Kanban - Para implementar o ágil, essa abordagem usa uma estrutura visual. Aqui não há sprints de comprimento fixo e a equipe obtém a tarefa de uma lista de pendências priorizada.
  3. Extreme Programming (XP) - Essa abordagem visa melhorar a qualidade e a capacidade de resposta do software, incorporando simplicidade, feedbacks e adotando mudanças.
  4. Desenvolvimento Orientado a Recursos (FDD) - Essa abordagem inclui 5 atividades básicas que são: - Desenvolver um modelo geral, criar uma lista de recursos, planejar por recurso, projetar por recurso e construir por recurso.
  5. Desenvolvimento de sistema adaptativo (ASD) - Essa abordagem pode ser usada para criar sistemas e softwares complexos e se concentra principalmente na colaboração e auto-organização da equipe. Inclui 3 atividades iterativas que são - especular, colaborar e aprender.
  6. O Dynamic System Development Method - DSDM é uma abordagem ágil que segue uma abordagem iterativa e incremental, amplamente baseada na Metodologia de Desenvolvimento Rápido de Aplicativos. Ele aborda as falhas comuns de projetos, como questões de orçamento do projeto, prazos faltantes etc.
  7. Desenvolvimento de software enxuto - O desenvolvimento de software enxuto é uma abordagem ágil, com 7 princípios básicos: Eliminar desperdícios, capacitar a equipe, entregar rápido, otimizar o todo, otimizar o conjunto, criar qualidade, adiar decisões e ampliar aprendizados.

O que é Scrum?

Nas seções anteriores, já vimos as abordagens usadas para implementar o processo Agile e o Scrum foi uma delas, o Scrum é uma das metodologias ágeis mais importantes e mais usadas. Um scrum é uma abordagem iterativa na qual há algo chamado sprints que duram até uma ou duas semanas. Essa abordagem permite que as equipes entreguem o produto de trabalho ou o software regularmente. Aqui, as responsabilidades, funções e reuniões são decididas no Scrum e os sprints são agendamentos onde há planejamento, demonstração do sprint, stand up diário e retrospectiva do sprint.

Funções do Scrum / Times Scrum:

Link: https://goo.gl/images/XpNHBe

  1. Scrum Master - O Scrum Master é um papel responsável pela equipe de scrum de seguir a metodologia Scrum. O Scrum Master organiza reuniões, incentiva a equipe, facilita o planejamento e o rastreamento, lida com desafios e lida com gargalos. O Scrum Master também se comunica com o Dono do produto para garantir que o backlog do produto esteja pronto para o próximo sprint.
  2. Dono do produto - O Dono do produto é responsável pela análise e comunicação da versão do software à equipe Scrum. O Dono do produto também coordena com o Scrum Master para decidir sobre os pedidos em atraso dos produtos para os sprints.
  3. Equipe de Desenvolvimento - A Equipe de Desenvolvimento é composta pelos profissionais responsáveis ​​pelo desenvolvimento contínuo, testes e entrega do software. Eles determinam como entregar pedaços de obras em incrementos frequentes.

Etapas no fluxo Scrum:

Link: https://goo.gl/images/6YTUPf

  1. Backlog do Produto - O Backlog do Produto mantém a lista de recursos do produto. É de responsabilidade do Dono do Produto e do Scrum Master priorizar os itens da lista de pendências com base nas histórias e requisitos do usuário.
  2. Planejamento de Sprint - É uma reunião facilitada pelo Scrum Master, onde o Dono do produto apresenta os detalhes do backlog do produto, define os critérios de aceitação de entrega e a equipe de desenvolvimento que define o trabalho e o esforço que eles progrediam diariamente.
  3. Refinamento de backlog - Para manter o backlog do produto atualizado, usamos o refinamento de backlog. Aqui, as histórias de usuário são divididas em partes menores e quaisquer histórias de usuário irrelevantes são removidas
  4. Daily Scrum - São 15 minutos diários de uma reunião em que basicamente estão sendo discutidas três perguntas: O que foi realizado ontem, qual é o plano para hoje e quais são os obstáculos.
  5. Reunião de Revisão do Sprint - Essa reunião é realizada no final de cada sprint, onde uma demonstração ao vivo está sendo apresentada para mostrar o que foi realizado ao longo do sprint.
  6. Reunião Retrospectiva da Sprint - Também podemos convocar esta reunião como a reunião de sucesso em que a equipe discute o processo que funcionou ou que não funcionou durante o sprint com suas soluções alternativas.

Conclusão

Neste artigo, vimos que o Agile é uma metodologia de desenvolvimento de software que possui largura de banda para se adaptar rapidamente às mudanças nos requisitos do projeto e ao desenvolvimento de novo produto enquanto o projeto está em andamento ou após a conclusão do projeto, diferentemente do gerenciamento tradicional de projetos enquanto o Scrum é a abordagem mais usada e popular para implementar a metodologia ágil.

Artigos recomendados

Este foi um guia para o que é Agile e Scrum. Aqui discutimos as diferentes abordagens do Agile e do Scrum. Você também pode consultar nossos outros artigos sugeridos para saber mais -

  1. O que é inteligência artificial
  2. Perguntas da entrevista do Agile Scrum
  3. O que é SDLC
  4. Agile vs Scrum vs Waterfall