Adaptive Software Development
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
- ↑ «"Site Oficial ASD"» (em inglês). Consultado em 26 de março de 2015
- ↑ «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
- ↑ 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
- ↑ Pressman, Roger S (2010). Engenharia de Software. Uma Abordagem Profissional 7 ed. [S.l.]: McGraw-Hill Science/Engineering/Math. ISBN 9788563308337
- ↑ a b c dos Santos, Rogério Guaraci; Giulian Dalton Luz. «Métodos Ágeis» (PDF)