Arquitetura Ágil

Arquitetura ágil significa como os arquitetos de empresa / sistema / software aplicam a prática de arquitetura no desenvolvimento ágil de software. Vários comentaristas identificaram uma tensão entre a arquitetura de software tradicional e os métodos ágeis ao longo do eixo de adaptação (deixando decisões arquitetônicas até o último momento possível) versus antecipação (planejamento antecipado). (Kruchten, 2010)

Waterman, Nobel e Allan (2015) exploraram as tensões entre gastar muito pouco tempo projetando uma arquitetura inicial, aumentando o risco e gastando muito tempo, impactando negativamente a entrega de valor ao cliente. Eles identificam seis forças que podem afetar a arquitetura ágil: instabilidade de requisitos, risco técnico, valor inicial, cultura da equipe, agilidade e experiência do cliente. Essas forças podem ser abordadas por seis estratégias; Responda a mudanças, enfrente riscos, arquiteturas emergentes, grandes projetos iniciais e use estruturas e arquiteturas de modelos.

Várias tentativas foram feitas para especificar o que compõe uma abordagem ágil à arquitetura. De acordo com o framework SAFe, os princípios da arquitetura ágil são:

Design surge. Arquitetura é uma colaboração. (arquitetura intencional)
Quanto maior o sistema, maior a pista (pista arquitetônica)
Construa a arquitetura mais simples que possa funcionar (princípios de design estabelecidos)
Em caso de dúvida, codifique ou modele-o (picos, protótipo, domínio e modelos de casos de uso)
Eles constroem, testam (design para testabilidade)
Não há monopólio da inovação (equipes, hackathons) – o botão Like do Facebook foi concebido como parte de uma hackathon
Implementar o fluxo arquitetônico (epopeias arquitetônicas e o portfólio kanban) – o portfólio Kanban passa por funil, revisão, análise, carteira de pendências e implementação
No nível de arquitetura corporativa, Scott Ambler (2016) propõe os seguintes princípios

Colaboração evolutiva sobre blueprinting
Comunicação sobre perfeição
Participação ativa das partes interessadas
Arquitetos corporativos são participantes ativos em equipes de desenvolvimento
Ativação sobre inspeção (exemplares)
Modelos de alto nível (quanto mais complexo, mais abstrato)
Capture detalhes com código de trabalho
Orientação e regras enxutas, não procedimentos burocráticos
Ter uma equipe dedicada de arquitetos corporativos experientes