Funciones fitness para evaluar arquitecturas de software

Clase 27 de 29Curso de Arquitectura de Software Aplicada

Resumen

La alineación de la arquitectura tecnológica con los requisitos no funcionales es crucial en organizaciones como el Banco Interamericano de Desarrollo. Evaluar este alineamiento ayuda a asegurar que el desarrollo responde tanto a expectativas técnicas como de negocio. Una herramienta clave en este seguimiento es la función fitness, que permite medir el progreso hacia los objetivos planteados.

¿Qué es una función fitness y cómo ayuda a medir el progreso?

La función fitness es un indicador que muestra si un sistema o arquitectura está avanzando por el camino correcto respecto a sus requisitos. - Permite medir aspectos como seguridad, flexibilidad y adaptabilidad del sistema durante el desarrollo. - Puede incluir medidas tanto cualitativas como cuantitativas. - Ayuda a identificar si la evolución está alineada con la estrategia general del producto.

¿Cuáles son las diferencias entre medidas cualitativas y cuantitativas en el seguimiento arquitectónico?

Las medidas cualitativas requieren una interpretación por parte de expertos y a menudo reflejan percepciones o experiencias del equipo. Un ejemplo: - Promedio de puntos de dificultad por historia de usuario en un periodo. - Reflejan cómo el equipo percibe la complejidad de las tareas.

Por otra parte, las medidas cuantitativas se basan en datos duros: - Número de intercambios positivos entre facturas de exportación e importación en la aduana. - Tiempo promedio en el intercambio de datos. - Número de intercambios entre entidades descentralizadas.

Mezclando ambos tipos de medidas se pueden obtener indicadores más completos y representativos.

¿Cómo se construye una función compuesta para evaluar la alineación estratégica?

Se pueden combinar diferentes medidas en una sola función: - Se asignan pesos (W) individuales a cada medida según su relevancia. - La suma lineal ponderada permite observar la tendencia de alineamiento o desviación con la estrategia. - Es posible dar mayor peso a factores como la seguridad o a la facilidad del desarrollo dependiendo del momento. - Ajustando estos pesos se adapta la función a las prioridades del negocio o el equipo.

¿Por qué la deuda técnica es una medida relevante en sistemas en desarrollo?

La deuda técnica representa concesiones o trade offs realizados durante el desarrollo que eventualmente requieren ser atendidos. Se compara con una tarjeta de crédito; si no se paga, puede limitar considerablemente la capacidad de evolucionar el sistema.

La medición y gestión de la deuda técnica ayuda a evitar problemas a largo plazo y mejora la calidad del producto final.

¿Cómo se aplican las funciones fitness en otros contextos de desempeño?

No solo sistemas tecnológicos pueden beneficiarse de este concepto. Por ejemplo, en el entrenamiento de un nadador, una función fitness puede integrar: - Masa muscular ganada. - Capacidad aeróbica. - Temperatura inicial en competencia.

Esto orienta al entrenador sobre la efectividad del entrenamiento y las posibilidades de mejora, mostrando la observabilidad del sistema, es decir, la capacidad de conocer su estado en operación.

Comparte tu experiencia usando funciones fitness o tus dudas sobre medición en arquitecturas TI. ¡Siempre se puede aprender más sobre cómo mejorar la observabilidad y el progreso en proyectos complejos!