O modelo Agile SDLC é uma combinação de modelos de processos iterativos e incrementais com foco na adaptabilidade do processo e na satisfação do cliente pela entrega rápida de produto de software funcional. Os métodos ágeis dividem o produto em pequenas compilações incrementais. Essas compilações são fornecidas em iterações. Cada iteração normalmente dura cerca de uma a três semanas. Cada iteração envolve equipes multifuncionais trabalhando simultaneamente em várias áreas como –
- Planejamento
- Análise de requisitos
- Design
- Codificação
- Teste de unidade e
- Teste de aceitação.
No final da iteração, um produto funcional é exibido para o cliente e para as partes interessadas importantes.
O que é Agile?
O modelo Agile acredita que cada projeto precisa ser tratado de forma diferente e os métodos existentes precisam ser ajustados para melhor atender aos requisitos do projeto. No Agile, as tarefas são divididas em caixas de tempo (pequenos intervalos de tempo) para fornecer recursos específicos para um lançamento.
Uma abordagem iterativa é feita e a construção de software funcional é entregue após cada iteração. Cada construção é incremental em termos de recursos; a compilação final contém todos os recursos exigidos pelo cliente.
Aqui está uma ilustração gráfica do modelo Agile –
O Agile o processo de pensamento começou cedo no desenvolvimento de software e começou a se tornar popular com o tempo devido à sua flexibilidade e adaptabilidade.
Os métodos Agile mais populares incluem Rational Unified Process (1994), Scrum (1995), Crystal Clear, Extreme Programming (1996), Adaptive Software Development, Feature Driven Development e Dynamic Systems Development Method (DSDM) (1995). Estas são agora chamadas coletivamente de Metodologias Ágeis, depois que o Manifesto Ágil foi publicado em 2001.
Seguem os princípios do Manifesto Ágil –
-
Indivíduos e interações – No desenvolvimento ágil, a auto-organização e a motivação são importantes, assim como as interações como colocalização e programação em pares.
-
Software de trabalho – o software de demonstração de trabalho é considerado o melhor meio de comunicação com os clientes para entender seus requisitos, em vez de apenas depender da documentação.
-
Colaboração do cliente – Como os requisitos não podem ser reunidos completamente no início do projeto devido a vários fatores, a interação contínua com o cliente é muito importante para obter os requisitos adequados do produto.
-
Respondendo às mudanças – o desenvolvimento ágil se concentra em respostas rápidas às mudanças e ao desenvolvimento contínuo.
Modelos de SDLC Agile vs. tradicionais
O Agile é baseado no software adaptativo métodos de desenvolvimento, enquanto os modelos SDLC tradicionais, como o modelo em cascata, são baseados em uma abordagem preditiva. As equipes preditivas nos modelos SDLC tradicionais geralmente trabalham com planejamento detalhado e têm uma previsão completa das tarefas e recursos exatos a serem entregues nos próximos meses ou durante o ciclo de vida do produto.
Os métodos preditivos dependem inteiramente de a análise de requisitos e o planejamento feito no início do ciclo. Quaisquer mudanças a serem incorporadas passam por um gerenciamento de controle de mudanças e priorização estrito.
O Agile usa uma abordagem adaptativa onde não há planejamento detalhado e há clareza nas tarefas futuras apenas em relação aos recursos que precisam ser desenvolvidos . Há um desenvolvimento orientado por recursos e a equipe se adapta aos requisitos de produto em mudança dinamicamente. O produto é testado com muita frequência, por meio de iterações de lançamento, minimizando o risco de quaisquer falhas importantes no futuro.
A interação com o cliente é a espinha dorsal desta metodologia ágil e a comunicação aberta com documentação mínima são os recursos típicos Ambiente de desenvolvimento ágil. As equipes ágeis trabalham em estreita colaboração entre si e geralmente estão localizadas na mesma localização geográfica.
Modelo Ágil – Prós e Contras
Os métodos ágeis estão sendo amplamente aceitos no software mundo recentemente. No entanto, esse método nem sempre é adequado para todos os produtos. Aqui estão alguns prós e contras do modelo Agile.
As vantagens do modelo Agile são as seguintes –
-
É uma abordagem muito realista para o desenvolvimento de software.
-
Promove o trabalho em equipe e o treinamento cruzado.
-
A funcionalidade pode ser desenvolvida e demonstrada rapidamente.
-
Os requisitos de recursos são mínimos.
-
Adequado para requisitos fixos ou variáveis
-
Oferece soluções de trabalho parciais iniciais .
-
Bom modelo para ambientes que mudam constantemente.
-
Regras mínimas, documentação facilmente empregada.
-
Permite o desenvolvimento e entrega simultâneos dentro de um contexto geral planejado.
-
Pouco ou nenhum planejamento necessário.
-
Fácil de gerenciar.
-
Oferece flexibilidade aos desenvolvedores.
As desvantagens de o Modelo Ágil são os seguintes –
-
Não é adequado para lidar com dependências complexas.
-
Mais risco de sustentabilidade, facilidade de manutenção e extensibilidade.
-
Um plano geral, um líder ágil e uma prática de gerenciamento de projetos ágil são essenciais, sem os quais não funcionará.
-
Estrito o gerenciamento de entrega dita o escopo, a funcionalidade a ser entregue e os ajustes para cumprir os prazos.
-
Depende muito da interação com o cliente, portanto, se o cliente não estiver claro, a equipe pode ser orientada direção errada.
-
Há uma dependência individual muito alta, já que há um mínimo de documentação gerada.
-
Transferência de tecnologia para novos membros da equipe pode ser bastante difícil difícil devido à falta de documentação.