Adaptabilidad vs capacidad de instalación vs reemplazo

Clase 10 de 43Curso Profesional de Arquitectura de Software

Resumen

Evaluar software con rigor empieza por tres atributos clave: adaptabilidad, capacidad de instalación y capacidad de reemplazo. Entender su impacto —dependencias del sistema operativo, pasos de despliegue y compatibilidad entre versiones— orienta decisiones de arquitectura que facilitan cambios y reducen fricción.

¿Cómo medir la adaptabilidad sin depender del sistema operativo?

La adaptabilidad se mide por cuán fuertemente el sistema depende de un entorno específico. Si solo funciona en Linux y no en Mac, o si usa tecnologías que corren únicamente en Windows, la adaptabilidad disminuye. Esto no impide adaptar más adelante, pero incrementa la dificultad del cambio.

  • Evaluar dependencias del sistema operativo: Linux, Mac, Windows.
  • Identificar tecnologías exclusivas de un entorno.
  • Estimar esfuerzo adicional si luego se requiere adaptar.

¿Qué define la capacidad de instalación y cómo simplificar el despliegue con app stores?

La capacidad de instalación se mide por los requisitos del entorno de despliegue: cuántos pasos hay que realizar para poner la aplicación a disposición de las personas usuarias, cuán complejos son y si el proceso se puede reproducir en otro contexto. Los app stores han garantizado la simplicidad de despliegue en móviles y también en escritorio para distintos entornos, mejorando notablemente este atributo.

  • Contar pasos necesarios para dejar disponible la aplicación.
  • Valorar la complejidad de cada paso del despliegue.
  • Probar la reproducibilidad en otro entorno.
  • Usar app stores para simplificar y estandarizar la instalación.

¿Cómo asegurar la capacidad de reemplazo con sistemas distribuidos y retrocompatibilidad?

La capacidad de reemplazo se mide entendiendo qué requisitos cumplen los sistemas actuales y cómo el nuevo sistema puede aprovechar ese entorno para reemplazarlo de forma efectiva. En bases de datos, es clave conectar con los datos existentes o transformarlos al esquema de datos propio. También ayudan los estándares de datos y de estructura para permitir sustituir un producto por otro con menos fricción.

  • Analizar requisitos que cumple el sistema actual y cómo aprovecharlos.
  • Migrar datos: conectar o transformar al esquema propio.
  • Aplicar estándares de datos para facilitar el reemplazo.
  • Evitar monolitos grandes que dificultan cambiar partes del sistema.
  • Adoptar sistemas distribuidos para reemplazos pequeños y compatibles.
  • Gestionar versiones con cuidado de la retrocompatibilidad para evolucionar sin romper.

¿Dónde has encontrado más obstáculos: dependencias del sistema operativo, pasos de despliegue o compatibilidad entre versiones? Comparte tu experiencia y la estrategia que mejor te funcionó.