Saltar para o conteúdo

Adaptive Software Development

Origem: Wikipédia, a enciclopédia livre.

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

  1. «"Site Oficial ASD"» (em inglês). Consultado em 26 de março de 2015 
  2. a b c dos Santos, Rogério Guaraci; Giulian Dalton Luz. «Métodos Ágeis» (PDF) 
  3. Medeiros, Higor. [/modelos-de-processos-ageis-conceitos-e-principios/30059 «devmedia.com.br»] Verifique valor |url= (ajuda)