Consideraciones.

Se recomienda que el diseño arquitectónico se realice con personas de los equipos de desarrollo que van a participar de la implementación.

Insumos preliminares para el diseño:

Construya un architectural Brief. Describa en este los aspectos significativos del escenario de negocio, así como los atributos de calidad más importantes y los escenarios que se hayan identificado a este momento tanto funcionales como de los atributos de calidad. Esta técnica puede ser útil para ayudar en el proceso de identificación de los escenarios.

Proceso

  1. Entienda el contexto de negocio: Discuta con el equipo el brief creativo y aclare las dudas que se tengan.
  2. Lea los principios de diseño de su organización, estos guian y generan restricciones en la forma cómo se aborden las soluciones.
  3. Realice el diseño estratégico:
    1. Identifique las entidades de negocio: Es decir aquellos conceptos de negocio que se describen en el brief y en las discusiones de entendimiento. Las entidades normalmente hacen referencia a los sustantivos (Personas, Cosas, Roles, etc). Si logra identificar atributos para las entidades hágalo.
    2. Identifique los contextos de negocio: También conocidos como bounded contexts, permiten identificar las diferentes áreas de negocio que le dan sentido a las entidades, normalmente los bounded contexts están relacionales con las áreas de compañía o procesos de negocio, ejemplo Compras, Ventas, Finanzas, etc.
    3. A partir de los contextos de negocio identifique componentes lógicos: Los componentes lógicos agrupan funcionalmente las características del sistema. Un componente se caracteriza porque es responsable de una serie de entidades de negocio en un contexto de negocio y ofrece unas interfaces públicas que le permiten interoperar con otros componentes.
    4. Identifique dependencias de integración: Identifico cómo los diferentes componentes deben cooperar entre si para lograr implementar el escenario de negocio completo.
  4. Inspirese en una o varias arquitecturas de referencia. Si su empresa tiene un catalogo de arquitecturas de referencia úselo o explore diferentes fuentes confiables como el architecture center de Microsoft, el de AWS.
  5. Seleccione los estilos, patrones y tácticas de arquitectura que apliquen para que el diseño satisfaga los drivers y úselos en el diseño teniendo en cuenta las consideraciones relevantes de las arquitecturas de referencia en las que se inspiró. Aqui puede ver una lista de ellos.
  6. Identifique mecanismos de integración: Para cada dependencia entre componentes identifico cual es el mecanismo de integración idóneo (Base de datos de integración, Archivos, RPC (Ejemplo Servicios web) o  Mensajería).
  7. Instancie tecnológicamente cada componente: Para cada uno de los componentes lógicos identificados, selecciono la tecnología de implementación y hago la división en componentes técnicos que considere necesario para lograr los atributos de calidad.
  8. Construya le modelo de despliegue: Para los componentes tecnológicos definidos, diseño la manera como se van a  desplegar contemplando las restricciones y atributos de calidad.
  9. Documente la arquitectura según los lineamientos de documentación de su empresa.

Se sugiere que este ejercicio se realice de manera colaborativa, con el arquitecto actuando como facilitador.

Se sugiere que la división del trabajo entre equipos se realice a partir de los componentes lógicos de modo que se reduzca la fricción y se oriente cada equipos a entregar capacidades de negocio end to end, sin importar la tecnología de implementación.