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
- A satisfação do cliente é da mais alta prioridade, alcançada através da entrega contínua e antecipada de software valioso.
- 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.
- Deveríamos ser capazes de acomodar os requisitos variáveis, mesmo que se atrase durante o ciclo de vida do SDLC.
- Os membros da equipe devem permanecer motivados sempre e, para isso, deve ser fornecido suporte suficiente e um bom ambiente.
- Os desenvolvedores e os empresários devem trabalhar juntos diariamente durante todo o projeto.
- A maneira mais eficiente de conversar é considerada a interação cara a cara.
- Desenvolvimento sustentável. Todos os membros da equipe devem ser capazes de manter um ritmo constante.
- Um produto / software de trabalho é considerado a principal medida de progresso.
- No final do dia, o foco principal deve ser a excelência técnica e o design robusto.
- A simplicidade deve ser seguida durante todo o processo SDLC
- As equipes devem mostrar efetivamente a eficácia contínua e adotar quaisquer alterações para aumentar a eficácia.
- O design e a arquitetura robustos vêm de equipes auto-organizadas.
Abordagens para implementação ágil:
Link: https://goo.gl/images/fkZqGe
- 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.
- 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.
- Extreme Programming (XP) - Essa abordagem visa melhorar a qualidade e a capacidade de resposta do software, incorporando simplicidade, feedbacks e adotando mudanças.
- 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.
- 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.
- 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.
- 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
- 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.
- 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.
- 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
- 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.
- 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.
- 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
- 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.
- 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.
- 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 -
- O que é inteligência artificial
- Perguntas da entrevista do Agile Scrum
- O que é SDLC
- Agile vs Scrum vs Waterfall