La arquitectura ágil se refiere a la forma en que los arquitectos empresariales , los arquitectos de sistemas y los arquitectos de software aplican la práctica arquitectónica en el desarrollo de software ágil . Varios comentaristas han identificado una tensión entre la arquitectura de software tradicional y los métodos ágiles a lo largo del eje de la adaptación (dejar las decisiones arquitectónicas hasta el último momento posible) versus la anticipación (planificar con anticipación) (Kruchten, 2010). [1]
Waterman, Nobel y Allan (2015) [2] exploraron las tensiones entre dedicar muy poco tiempo al diseño de una arquitectura inicial, lo que aumenta el riesgo, y dedicar demasiado tiempo, lo que afecta negativamente a la entrega de valor al cliente. Identificaron seis fuerzas que pueden afectar a la arquitectura ágil: inestabilidad de los requisitos, riesgo técnico, valor inicial, cultura del equipo, agilidad y experiencia del cliente. Estas fuerzas se pueden abordar mediante seis estrategias: responder al cambio, abordar el riesgo, arquitectura emergente, diseño a gran escala por adelantado y utilizar marcos y arquitecturas de plantilla.
Definición
Se han hecho varios intentos para especificar qué constituye un enfoque ágil de la arquitectura. Según el marco SAFe , los principios de la arquitectura ágil son: [3]
El diseño surge. La arquitectura es una colaboración. (arquitectura intencional)
Cuanto más grande sea el sistema, más larga será la pista (pista arquitectónica)
Construir la arquitectura más simple que pueda funcionar (principios de diseño establecidos)
En caso de duda, codifique o modele (picos, prototipos, modelos de dominio y casos de uso)
Lo construyen, lo prueban (diseño para capacidad de prueba)
No existe el monopolio de la innovación (equipos, hackatones): el botón Me gusta de Facebook fue concebido como parte de un hackatón
Implementar el flujo arquitectónico (epopeyas arquitectónicas y el kanban de cartera): el kanban de cartera pasa por el embudo , la revisión, el análisis, la cartera de cartera y la implementación.
Agilidad de la planificación estratégica, [7] [8] incluyendo aspectos como (a) la cantidad total de tiempo y esfuerzo dedicados a la planificación estratégica, (b) el alcance organizacional cubierto por la planificación estratégica, (c) el horizonte temporal de la planificación estratégica y (d) cómo se define exactamente el futuro deseado.
Agilidad en la entrega de iniciativas, [7] [8] incluidos aspectos como (a) el flujo lógico de la entrega de iniciativas y (b) el volumen de artefactos de EA desarrollados para iniciativas, es decir, descripciones generales de soluciones y diseños de soluciones [9] [10]
Agilidad en la asignación de recursos financieros, incluidos aspectos como (a) la composición de las carteras de inversión en TI corporativas y (b) la estructura de los procesos de presupuestación
Agilidad en la gobernanza de la arquitectura, incluidos aspectos como (a) la formalidad de los procesos de toma de decisiones y (b) la adherencia a los planes aprobados
Agilidad de la función de arquitectura, incluidos aspectos como (a) la proporción de arquitectos en la fuerza laboral total de TI y (b) el grado de participación de los arquitectos en los proyectos de TI
Agilidad de otros elementos, incluidos aspectos como (a) el nivel de estandarización técnica y (b) la sofisticación de las herramientas de software utilizadas
Prácticas
El Repositorio de Prácticas de Diseño (DPR) de código abierto recopila prácticas de arquitectura ágil como: [11]
^ Kruchten, P. (2010). Arquitectura de software y desarrollo ágil de software: ¿un choque entre dos culturas? Actas de la 32.ª Conferencia internacional sobre ingeniería de software de la ACM/IEEE
^ Waterman, Nobel y Allan. (2015). ¿Cuánto por adelantado? Una teoría fundamentada de la arquitectura ágil. En Actas de la 37.ª Conferencia internacional sobre ingeniería de software.
^ Leffingwell, Dean (10 de julio de 2008). "Arquitectura ágil: el informe técnico ya está disponible en línea". Escalando la agilidad del software . Consultado el 6 de febrero de 2017 .
^ Ambler, S. (2016). Arquitectura empresarial ágil: estrategias disciplinadas y pragmáticas. [video] Recuperado de: https://www.youtube.com/watch?v=AaIiG73QE3c
^ "¿Qué es la arquitectura empresarial ágil?", Kotusev, S., junio de 2020
^ "Configuración de su práctica de EA para la agilidad", Kotusev, S., diciembre de 2020
^ ab "La práctica de la arquitectura empresarial en una página", Kotusev, S., noviembre de 2019
^ ab "La visión de proceso de la práctica de la arquitectura empresarial", Kotusev, S., septiembre de 2019
^ "Arquitectura empresarial en una página", Kotusev, S., diciembre de 2018
^ "Ocho artefactos esenciales de la arquitectura empresarial", Kotusev, S., febrero de 2017
^ "Design Practice Repository (DPR) Versión 1.5 (Páginas Git)". design-practice-repository . Consultado el 22 de noviembre de 2024 .
^ "Referencia de práctica de diseño", Zimmermann, O., Stocker. M., abril de 2021