Quando o Manifesto Ágil foi criado, havia alguns processos de desenvolvimento “leves”; Outros métodos desse tipo surgiram desde então. Eles agora são chamados coletivamente de métodos “ágeis”.
- Agilidade é uma forma de pensar e agir.
- Agile é um estado de espírito, um conjunto de valores e princípios.
- Agile é sobre ciclos curtos, entrega iterativa e incremental, falha rápida, obter feedback, entregar valor de negócios aos clientes antecipadamente e sobre pessoas, colaboração e interação.
Agile é uma forma de pensar sobre transparência, inspeção e adaptação. No entanto, ágil não contém funções, eventos ou artefatos. Este é um estado de espírito.
Por exemplo
O Scrum é um dos frameworks amplamente utilizados sob o guarda-chuva dos métodos ágeis.
Ele pode te ajudar a se tornar mais ágil, mas existem mais frameworks no movimento ágil, como Kanban, XP, Crystal, etc., conforme mostra a figura abaixo:
1. Scrum
Este é um método muito popular que toma emprestado o nome scrum de futebol e o usa como metáfora para:
- Reuniões diárias em pé,
- Scrum tem iterações curtas. Cada iteração se concentra na entrega de software funcional desenvolvido pela equipe Scrum,
- Sprint e produtos têm um “backlog” de prioridade estrita e
- Uma função de “ proprietário do produto ” é atribuída para definir a prioridade.
- Um “ Scrum Master ” para manter as melhores práticas ágeis
2. Programação Extrema (XP)
XP é um conjunto de práticas de engenharia. Os desenvolvedores devem ir além de suas capacidades para implementar essas práticas. A equipe planeja uma pequena quantidade de trabalho e constrói em um curto período de tempo chamado de iteração de 1 a 4 semanas.
A principal diferença entre o XP e outros frameworks iterativos é que o XP se concentra em práticas de engenharia de software que precisam atingir níveis extremos. Por exemplo, o XP considera a revisão de código como extrema e incentiva a revisão por pares 100% do tempo por meio de programação em pares.
3. Desenvolvimento Rápido de Aplicativos (RAD)
Rap não é apenas o nome geral de uma série de métodos ágeis e iterativos, mas também um método descrito por James Martin (1991). Rad é responsável pelas fases de análise, projeto, construção e teste, e desenvolve iterativamente protótipos e versões de funções crescentes.
4. Método de Desenvolvimento de Sistemas Dinâmicos (DSDM)
DSDM é um método ágil de desenvolvimento de software. É um método iterativo e incremental, baseado principalmente no método de desenvolvimento rápido de aplicativos (RAD).
No entanto, a abordagem RAD geralmente não é estruturada e não há um processo comum entre as equipes rad. Como resultado, cada organização estabeleceu seus próprios métodos e estrutura e padrões divididos, dificultando o recrutamento de profissionais experientes. Para resolver este problema, surgiu o DSDM.
O método fornece uma estrutura de quatro estágios, incluindo:
- Estudo de viabilidade e negócios
- Modelo funcional / iteração de protótipo
- Projete e crie iterações
- implementação
5. Processo Unificado (UP)
Up é um framework iterativo e incremental com várias implementações, incluindo RUP, Open-UP e Agile-UP. Uma estrutura altamente adaptável com abordagem rad centrada na arquitetura e centrada no risco. Cada estágio do PU é chamado de estágio inicial, estágio de elaboração, estágio de construção e estágio de transição, e cada estágio possui diferentes ênfases.
6. Abordagem Lean
Lean originou-se na indústria manufatureira na década de 1970. Mary e Tom Poppendieck (2003) aplicaram os princípios Lean ao desenvolvimento de software em seu livro Lean software development. O Lean se concentra na entrega de valor aos clientes e na eliminação de desperdícios nos processos.
7. Quadro Kanban
Kanban : uma abordagem que se originou na manufatura Lean e foi desenvolvida por David Anderson (2010). Kanban é baseado na visualização do fluxo de trabalho, normalmente em um quadro físico, abordando questões que causam problemas, limitando o trabalho em andamento da equipe e equilibrando as demandas da equipe.
Resumo
Desenvolvimento ágil é uma das palavras quentes na indústria de desenvolvimento de software. É uma maneira diferente de gerenciar projetos de desenvolvimento de software. Não é um método específico de desenvolvimento de software, mas um termo geral para um conjunto de métodos e práticas baseados nos valores e princípios expressos no Manifesto Ágil. As soluções são desenvolvidas por meio da colaboração entre equipes auto-organizadas e multifuncionais, usando práticas apropriadas e adequadas ao seu ambiente.
Existem muitos outros métodos ágeis em uso hoje. Isso inclui métodos híbridos como scrumban , crystal , BDD, TDD , FDD e etc., além de muitas customizações internas desenvolvidas por diversas empresas.