Los arquitectos en el área de la tecnología muchas veces son infravalorados, desde empresas grandes como un Banco hasta las Startups.
🧵
Te cuento de que va este rol y como puede aportar dependiendo de su especialidad.
Si bien es cierto que en el mundo de los Arquitectos hay varios roles estos pueden ser agrupados en estas cinco categorías:
- Arquitecto de Integración
- Arquitecto de Aplicaciones
- Arquitecto de TI (OnPremise & Cloud)
- Arquitecto de Seguridad
- Arquitecto de Datos
Dependiendo de la empresa su tamaño y de sus sistemas internos podemos encontrar todas las categorías y muchas más, o simplemente uno que otro.
Primero comprendamos en términos generales cuales son las actividades generales de un arquitecto:
1. Planificación y diseño: Para un proyecto específico. Esto puede incluir la creación de modelos, diagramas y esquemas.
2. Análisis de requisitos: Para asegurarse de que la solución de arquitectura sea adecuada y cumpla con los requisitos del proyecto o con las metodologías o estándares establecidos.
3. Colaboración con equipos: Trabaja con equipos de desarrollo, diseño, seguridad y otras áreas para asegurarse que la solución de arquitectura sea adecuada y se integre bien con otros componentes del proyecto.
4. Evaluación de tecnologías: Para determinar si son adecuadas para un proyecto específico, y como estas nuevas tecnologías se integrarán con el sistema en general.
5. Comunicación con clientes: Comunicarse con clientes y otros interesados en el proyecto para discutir la solución de arquitectura y responder a preguntas y preocupaciones. Stakeholders y Clientes.
Estos son solo algunas de las actividades generales que un arquitecto hace, sin importar en cual categoría se encuentre.
Adicionalmente se deben conocer los siguientes patrones que aplican a sus diferentes roles:
- Patrones de arquitectura
- Patrones de diseño
- Patrones de seguridad
- Patrones de escalabilidad
- Patrones de monitorización
- Patrones de integración
etc
Cada uno de estos dependiendo del rol habrá de características que solo aplican a su área en particular.
Normalmente un Arquitecto no llega al nivel de implementar o desarrollar propiamente, pero si hay un punto de comunicación entre el área de ingeniería y el área de arquitectura.
A esta área se le llaman las Tácticas, estas se refieren a soluciones específicas y detalladas para abordar un problema o un desafío en el desarrollo de software.
Las tácticas son soluciones más específicas y detalladas que se aplican a problemas específicos.
Las tácticas pueden incluir la implementación de un algoritmo específico, la selección de una herramienta o biblioteca, la creación de un proceso de desarrollo específico o la implementación de una solución específica de seguridad.
Use la palabra especifica mucho XD, el punto es que esta área es una de las más importantes porque es el puente para que el área de ingeniería materialice lo propuesto por arquitectura.
Aunque tener muchas tácticas predefinidas pueden ahogar la agilidad de un equipo.
Pero todo esto carece de sentido si no tenemos un marco de trabajo, aquí es donde aparecen los estilos en la arquitectura.
Los estilos son soluciones amplias y genéricas que definen un marco de trabajo en el cual puedes dispones tanto los patrones como las tácticas.
Algunos ejemplos de estilos son:
- Peer to Peer
- Interprete
- Invocación Implícita
- Memoria Compartida
etc
Dentro de cada una de estas hay otras más especificas como por ejemplo:
- Invocación Implícita
• Event-based
• Publisher-suscriber
En el mundo de la arquitectura de software hay todo un mundo por explorar, y eso que dejo por fuera los marco de trabajo (framework) para el gobierno y la gestión de las tecnologías de la información (TI) a nivel empresarial como:
- COBIT
- ITIL
- TOGAF
- CMMI
etc
Espero que esto les ayude a ver un panorama más amplio sobre lo que implica ser un arquitecto en el mundo de la tecnología y el desarrollo de software.