Alineación de arquitectura de software con estrategia empresarial

Clase 9 de 24Curso de Fundamentos de Arquitectura de Software

Resumen

La arquitectura de software juega un papel central en el éxito de una compañía, y para ello, debe estar alineada estrictamente con la estrategia empresarial. La clave está en identificar claramente cuáles cargas de trabajo son esenciales y cuáles pueden sacrificarse. Esto se logra comprendiendo a profundidad las dimensiones de ingresos y desarrollando un lenguaje común que cierre la brecha entre profesionales técnicos y de negocio.

¿Por qué es crucial entender la estrategia del negocio?

Comprender la estrategia del negocio permite tomar decisiones informadas y estratégicas sobre la priorización y selección de funcionalidades. Este conocimiento facilita al arquitecto de software identificar claramente qué aspectos del proyecto aportan valor y cuáles pueden postergarse. Las estrategias del negocio generalmente se clasifican en tres tipos principales:

  • Exploración: Orientada a descubrir nuevos mercados y aceptar mayores riesgos en diseños innovadores.
  • Expansión: Enfocada en desarrollar productos estables que generen valor agregado en mercados ya identificados.
  • Ahorro: Dirigida a cortar gastos, donde el principal criterio es optimizar costos y no necesariamente agregar nuevas funcionalidades.

¿Cuáles son las dimensiones de ingresos que debes considerar?

Identificar las dimensiones de ingresos ayuda a reconocer por qué exactamente los usuarios o clientes pagan por el sistema. Esto es vital para:

  • Reconocer casos prioritarios y requisitos no funcionales clave.
  • Establecer rangos aceptables para la calidad del servicio.
  • Definir claramente los acuerdos de nivel de servicio (Service Level Agreements, SLA).

Las principales dimensiones de ingresos consideradas pueden ser:

  • Ventaja competitiva: Ofreciendo funcionalidades únicas en el mercado.
  • Cumplimiento de regulaciones: Servicios o productos adquiridos obligatoriamente debido a regulaciones.
  • Disponibilidad: Asegurando que el sistema esté siempre operativo y disponible.
  • Cumplimiento: Funcionalidades esenciales que, aunque no generen ingresos directamente, son necesarias para cumplir con requisitos operativos del cliente.

¿Cómo desarrollar un lenguaje común entre negocio y tecnología?

Desarrollar una comunicación efectiva entre las áreas técnicas y de negocio implica crear un lenguaje compartido, llamado lenguaje ubicuo. Este facilita la colaboración efectiva y evita errores o desviaciones causados por la falta de entendimiento común.

Algunas técnicas recomendadas para lograr este lenguaje común son:

  • Analizar conversaciones grupales con apoyo de herramientas de inteligencia artificial.
  • Crear glosarios detallados incluyendo sinónimos, antónimos y abreviaturas relevantes.
  • Utilizar documentos y glosarios para abordar y resolver las ambigüedades específicas del contexto.

Te invito a poner en práctica este consejo mediante la creación de tu glosario, identificando conceptos frecuentes, términos especializados, así como sus sinónimos y antónimos más relevantes para garantizar una comunicación efectiva en tus proyectos.