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.
Principios
A nivel de arquitectura empresarial , Scott Ambler (2016) [4] propone los siguientes principios:
- La comunicación antes que la perfección
- Participación activa de las partes interesadas
- Habilitación por encima de inspección (ejemplares)
- Colaboración evolutiva en lugar de diseño de planos
- Los arquitectos empresariales son participantes activos en los equipos de desarrollo.
- Modelos de alto nivel (cuanto más complejos, más abstractos)
- Captura detalles con código funcional
- Orientación y normas lean, no procedimientos burocráticos
- Cuente con un equipo dedicado de arquitectos empresariales experimentados.
Dimensiones
Svyatoslav Kotusev identifica las siguientes dimensiones de la arquitectura empresarial "ágil" : [5] [6]
- 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]
- Obtención de NFR SMART
- Toma de decisiones arquitectónicas
- Diseño de servicios por pasos [12]
Referencias
- ^ 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
Enlaces externos
- Formación ágil