Saltar para o conteúdo

Adaptive Software Development

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

Adaptive Software Development (ASD)[1], em português: Desenvolvimento de Software Adaptativo[2] ou Desenvolvimento adaptável de software[3] é uma técnica para o desenvolvimento de softwares complexos, proposta por Jim Highsmith.

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.[4]

Características

Características do ASD[5]:

  • 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)

Propriedades

ASD é caracterizado por seis propriedades:[3][5]

Orientado a missões (Mission Driven)

Para cada iteração do ciclo de desenvolvimento justifica-se através de uma missão, que pode mudar ao longo do projeto.

Baseado em componentes (Component-Based)

Desenvolvimento orientado a componentes, desenvolvendo o software em pequenas partes.

Iterativo (Iterative)

Desenvolvimento de pequenos ciclos (iterações), com o objetivo de resultar em uma implementação satisfatória para cada missão definida por iteração. O ASD possui foco em refazer do que fazer corretamente já na primeira vez.

Prazos pré-fixados (Time Boxed)

Fixação de prazos para evitar ambigüidade em projetos, com prazos tangíveis forçando com que a equipe defina severamete decisões do projeto logo cedo

Tolerância a mudanças (Change-Tolerant)

Característico do método:

  • 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)

Todos itens que são considerados características de alto risco tem seu desenvolvimento priorizado.

Cargos e Responsabilidades

Este método não descreve cargos em detalhes [5]:

  • 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. «Guia de Projeto de Sistemas com Práticas de Métodos Ágeis e Terceirização do Desenvolvimento para o SISP». Brasília: Secretaria de Logística e Tecnologia da Informação. 2 de fevereiro de 2015. p. 6. 89 páginas. Consultado em 26 de março de 2015. Arquivado do original em 2 de abril de 2015 
  3. a b César Sanz Gutierrez; Eduardo Yukio Miyake; Fábio Henrique Pereira Lima; Nick Lazur (2009). «Engenharia de Requisitos na Metodologia Ágil» (PDF). Orientadora: Dra. Judith Pavón. Universidade Anhembi Murumbi. 144 páginas. Consultado em 26 de março de 2015. Arquivado do original (pdf) em 2 de abril de 2015 
  4. Pressman, Roger S (2010). Engenharia de Software. Uma Abordagem Profissional 7 ed. [S.l.]: McGraw-Hill Science/Engineering/Math. ISBN 9788563308337 
  5. a b c dos Santos, Rogério Guaraci; Giulian Dalton Luz. «Métodos Ágeis» (PDF)