Desenvolvimento Adaptive S / W - Introdução
O que é Agile?
Em termos literários, a palavra “ágil” significa alguém que pode se mover com rapidez e facilidade ou alguém que pode pensar e agir com rapidez e clareza. Nos negócios, “ágil” é usado para descrever maneiras de planejar e fazer o trabalho, onde se entende que fazer mudanças conforme necessário é uma parte importante do trabalho. “Agilidade” nos negócios significa que uma empresa está sempre em condições de levar em conta as mudanças do mercado.
No desenvolvimento de software, o termo “ágil” é adaptado para significar “a capacidade de responder às mudanças - mudanças de Requisitos, Tecnologia e Pessoas”.
Manifesto Ágil
O Manifesto Ágil foi publicado por uma equipe de desenvolvedores de software em 2001, destacando a importância da equipe de desenvolvimento, acomodando as mudanças de requisitos e o envolvimento do cliente.
O Manifesto Ágil é -
Estamos descobrindo melhores maneiras de desenvolver software, fazendo isso e ajudando outros a fazê-lo. Por meio desse trabalho, chegamos a valorizar -
- Indivíduos e interações sobre processos e ferramentas.
- software que trabalha sobre uma documentação completa.
- Colaboração do cliente na negociação do contrato.
- Respondendo à mudança seguindo um plano.
Ou seja, embora haja valor nos itens à direita, valorizamos mais os itens à esquerda.
Características de Agilidade
A seguir estão as características da Agilidade -
Agilidade no Desenvolvimento Ágil de Software concentra-se na cultura de toda a equipe, com equipes multidisciplinares e multifuncionais, com autonomia e auto-organização.
Promove responsabilidade compartilhada e prestação de contas.
Facilita a comunicação eficaz e a colaboração contínua.
A abordagem de equipe inteira evita atrasos e tempos de espera.
Entregas frequentes e contínuas garantem um feedback rápido que, por sua vez, permite que a equipe se alinhe aos requisitos.
A colaboração facilita a combinação de diferentes perspectivas em tempo hábil na implementação, correções de defeitos e mudanças adequadas.
O progresso é constante, sustentável e previsível, enfatizando a transparência.
Metodologias ágeis
As primeiras implementações de métodos Agile incluem Rational Unified Process, Scrum, Crystal Clear, Extreme Programming, Adaptive Software Development, Feature Driven Development e Dynamic Systems Development Method (DSDM). Essas são agora chamadas coletivamente de metodologias Agile, depois que o manifesto Agile foi publicado em 2001.
Neste tutorial, aprenderemos a Metodologia Ágil - Adaptive Software Development.
O que é Adaptive Software Development?
O Desenvolvimento Adaptativo de Software é um movimento em direção às práticas adaptativas, deixando as práticas determinísticas no contexto de sistemas e ambientes complexos. O Adaptive Software Development se concentra na colaboração e no aprendizado como uma técnica para construir sistemas complexos. É uma evolução das melhores práticas de Desenvolvimento Rápido de Aplicativos (RAD) e Ciclos de Vida Evolucionários. O Desenvolvimento de Software Adaptativo foi então estendido para incluir abordagens adaptativas para o gerenciamento, com a especulação substituindo o Planejamento.
Jim Highsmith publicou um livro sobre Adaptive Software Development em 2000. Nas palavras de Highsmith -
“Adaptive Software Development é cíclico como o modelo evolucionário, com os nomes de fase especular, colaborar, aprender refletindo o reino imprevisível de sistemas cada vez mais complexos. O desenvolvimento adaptativo vai além de sua herança evolutiva de duas maneiras principais. Primeiro, ele substitui explicitamente o determinismo pela emergência. Em segundo lugar, vai além de uma mudança no Ciclo de Vida para uma mudança mais profunda no estilo de gestão. ”