Documentos de Académico
Documentos de Profesional
Documentos de Cultura
El alcance del rol también tiene que ver sobre el “dominio” sobre el que le toca actuar: a nivel
Empresa, a nivel Procesos, a nivel Infraestructura, a nivel Datos, a nivel Aplicativos, a nivel
Plataforma, etc
Pero, en el común de las situaciones, un Arquitecto intenta guiar la evolución de ese dominio
arquitectural desde un estadio actual hacia un estadio futuro, basado en buenas prácticas y
políticas, velando para que esa evolución sea superadora y se sostenga en el tiempo.
- Asegura que el Software cumpla no solamente con los requisitos funcionales (el qué),
sino la mayor cantidad de requisitos no funcionales (Aspectos como seguridad,
mantenibilidad, usabilidad, escalabilidad, interoperabilidad, performance, etc)
- Mapea estos requerimientos a las componentes de software necesarias, respetando
los estándares existentes en la Empresa. (Arquitecturas de Referencia, Políticas,
Estándares de Código)
- Asegura la integridad de estos componentes, diseñando las interacciones entre estos.
- Cuando es necesario, retroalimenta la Arquitectura de Referencia, para colaborar en
su evolución (contribuye a determinar los estándares).
- Colabora con sus entregables a la planificación de los proyectos de software
(identificación de componentes a construir o modificar; dependencias; perfiles
necesarios)
- Durante la construcción, verifica que se respetan los diseños propuestos.
- Documenta y gestiona el backlog de todo aquello que, por diferentes circunstancias
(tiempos, recursos económicos y humanos) no se puede construir de la manera “ideal”
y se tenga que optar por alternativas intermedias.
- Cuando es necesario, construye piezas de software a modo de pruebas de concepto ó
incluso facilitadores para la adopción de estándares y conceptos (Frameworks).
El principal desafío es poder realizar sus tareas haciendo un equilibrio entre el “ideal” y la
velocidad de entrega que demanda el usuario (el negocio), resignando la menor calidad
posible y enmarcado en contextos ágiles y de recursos escasos.
Se desprende de todo esto que un Arquitecto de Software no solamente tiene que tener
conocimientos sobre un conjunto determinado de tecnologías/lenguajes/frameworks, visión
sobre “lo que se viene” ó “los nuevos modos de hacer las cosas”, sino también habilidades de
comunicación y políticas para saber introducir las evoluciones en los momentos indicados. Se
suma a esto, la necesidad de manejar estándares de modelado (ej: UML)