Es frecuente en la industria del software que el alcance de la arquitectura se restrinja a la definición de tecnologías a utilizar. De esta manera, los responsables de la arquitectura de software suelen trabajan solo en etapas previas al comienzo del desarrollo y con una definición vaga de la arquitectura.
¿Por qué consideramos que esta visión de la arquitectura no es adecuada para aplicaciones de tipo Enterprise? Porque:
- La definición de la arquitectura no solo debe abarcar tecnología sino también definiciones conceptuales y, principalmente, pautas de uso de la arquitectura y de los frameworks elegidos;
- El trabajo del equipo de arquitectura no concluye en la definción, sino que incluye una implementación y más aún, acompañamiento a lo largo del desarrollo.
El efecto negativo que produce este problema en aplicaciones pequeñas puede no ser alto, pero en aplicaciones Enterprise puede ser la causa del fracaso del proyecto: poco reuso, baja productividad, alto acomplamiento a tecnologías, dificultad de mantenimiento y extensión, entre otros.
Sobre la base de este problema, formulamos una definición de arquitectura sobre la que basamos nuestra tesis: “Soporte necesario para la construcción de los casos de uso, que ayude a garantizar el cumplimiento de los requerimientos no funcionales, asegure la calidad y maximice la productividad.