Adaptive Software Development
![]() | Foram assinalados vários problemas nesta página ou se(c)ção: |
Adaptive Software Development (ASD)[1] foi proposta por Jim Highsmith como uma técnica para construção de software complexos. O apoio filosófico do ASD concentra-se na colaboração humana e na auto-organização.
A auto-organização aparece quando agentes individuais independentes cooperam para criar resultados emergentes.
Um resultado emergente é uma propriedade além da capacidade de qualquer agente individual.
Características [2]
- Iterativo e incremental
- Sistemas grandes e complexos
- Arcabouço para evitar o caos
- Cliente sempre presente
- Desenvolvimento de aplicações em conjunto (Joint Application development – JAD)
Ciclo de vida
O criador do modelo Adaptativo define um ciclo de vida para o modelo baseando-se em três fases: especulação, colaboração e aprendizado [3].
- Especulação: iniciação do projeto e planejamento adaptativo.
- Colaboração: pessoal motivado trabalha junto de um modo que multiplica seus talentos e resultados criativos.
- Aprendizado que pode ocorrer de três modos: foco nos grupos, revisão técnicas formais e pós-conclusão.
Especulação
Na fase de especulação o projeto é iniciado e tem-se o planejamento de ciclos adaptáveis. Esse planejamento de ciclos adaptáveis usa as informações contidas no inicio do projeto como: a missão do cliente, restrições do projeto e os requisitos básicos. Os requisitos básicos serão utilizados para definir o conjunto de ciclos da versão, ou seja, os incrementos de software operacional. Vale salientar que esse plano de ciclos sofrerá mudanças. Após completar cada ciclo o plano é revisto e ajustado para que tenhamos o trabalho reajustado à realidade que a equipe ASD está trabalhando.
Colaboração
A colaboração é um tema bastante discutido e enfatizado nos métodos ágeis. A colaboração envolve confiança, críticas sem animosidade, auxílio, trabalho árduo, comunicação dos problemas ou preocupações de forma a conduzir ações efetivas, etc. Dessa forma, a colaboração ajuda bastante no levantamento de necessidades, especificações, etc.
Aprendizado
O ASD também enfatiza que o aprendizado é um elemento-chave para que possamos conseguir uma equipe auto-organizada. O criador do método Highsmith argumenta que os desenvolvedores superestimam o seu próprio entendimento quanto à tecnologia, processo ou mesmo quanto ao projeto. Dessa forma, Highsmith enfatiza que o aprendizado irá ajudar a todos os desenvolvedores a aumentar os níveis reais de entendimento. Com base nisso, as equipes ASD aprendem através de três maneiras: grupos focados, revisões técnicas e autópsias de projetos.
Propriedades [2]
Orientado a missões (Mission Driven)
Atividades são justificadas através de uma missão, que pode mudar ao longo do projeto.
Baseado em componentes (Component-Based)
Construir o sistema em pequenos pedaços.
Iterativo (Iterative)
Desenvolvimento em cascata (Waterfall) só funciona em ambientes bem definidos e compreendidos. O ASD possui foco em refazer do que fazer corretamente já na primeira vez.
Prazos pré-fixados (Time Boxed)
Força os participantes do projeto a definir severamente decisões do projeto logo cedo.
Tolerância a mudanças (Change-Tolerant)
- As mudanças são freqüentes
- É sempre melhor estar pronto a adaptá-las do que controlá-las.
- Constante avaliação de quais componentes podem mudar.
Orientado a riscos (Risk-Driven)
Itens de alto risco são desenvolvidos primeiro.
Cargos e Cargos e Responsabilidades Responsabilidades [2]
Este método não descreve cargos em detalhes
- Executivo responsável (Executive Sponsor)
Participantes de uma sessão (workshop) do desenvolvimento de aplicações em conjunto (JAD).
- Facilitador (Facilitator): Liderar e planejar as sessões.
- Escriba (Scribe): Efetuar anotações.
- Cliente (Customer): Sempre presente.
- Gerente de Projetos (Project Manager)
- Desenvolvedores (Developers)
Veja também:
Referências
- ↑ «"Site Oficial ASD"» (em inglês). Consultado em 26 de março de 2015
- ↑ a b c dos Santos, Rogério Guaraci; Giulian Dalton Luz. «Métodos Ágeis» (PDF)
- ↑ Medeiros, Higor. [/modelos-de-processos-ageis-conceitos-e-principios/30059 «devmedia.com.br»] Verifique valor
|url=
(ajuda)