Rol: Arquitecto de software |
|
 |
Este rol dirige el desarrollo de la arquitectura de software del sistema, que incluye la promoción y la creación de soporte para las decisiones técnicas clave que restringen el diseño global y la implementación para el proyecto. |
|
Relaciones
Realiza: | Responsable de:
|
Adicionalmente realiza: | Modifica: |
Descripción principal
El arquitecto de software tiene la responsabilidad global de dirigir las principales decisiones técnicas, expresadas
como la arquitectura de software. Esto habitualmente incluye la identificación y la documentación de los aspectos
arquitectónicamente significativos del sistema, que incluye las "vistas" de requisitos, diseño, implementación y
despliegue del sistema.
El arquitecto también es responsable de proporcionar el fundamento de estas decisiones, equilibrando las preocupaciones
de los diferentes interesados, reduciendo los riesgos técnicos, y garantizando que las decisiones se comunican, y
validan con eficacia, y que se acatan.
|
Propiedades
Varias apariciones |  |
Opcional |  |
Planeado |  |
Personal
Habilidades |
"El arquitecto ideal debe ser una persona de letras, matemático, familiarizado con la historia, diligente estudioso
de la filosofía, conocedor de la música, no ignorante de la medicina, entendido en las respuestas de las leyes,
versado en la astronomía y en los cálculos astronómicos." - Vitruvio, aprox. 25 AC
En resumen, el arquitecto de software debe disponer de formación, madurez, visión y una amplia experiencia que permita
recuperar cuestiones rápidamente y realizar valoraciones educadas y críticas en ausencia de la información completa.
Más concretamente, el arquitecto de software, o los miembros del equipo de arquitectura, deben combinar estas
habilidades:
-
Experiencia en el dominio del problema, a través de una comprensión precisa de los requisitos, y el dominio
de ingeniería de software. Si hay un equipo, estas cualidades pueden abarcar los diferentes miembros del equipo,
pero como mínimo un arquitecto de software debe proporcionar la visión global para el proyecto.
-
Liderazgo para dirigir el esfuerzo técnico entre los diferentes equipos, y para tomar decisiones críticas
bajo presión y adherirse a estas decisiones. Para ser efectivos, el arquitecto de software y el gestor de proyectos
deben trabajar conjuntamente, con el arquitecto de software dirigiendo las cuestiones técnicas y el gestor de
proyectos dirigiendo las cuestiones administrativas. El arquitecto de software debe tener autoridad para tomar
decisiones técnicas.
-
Comunicación para ganar confianza, persuadir, motivar y orientar. El arquitecto de software no puede dirigir
por decreto, sólo con el consentimiento del resto del proyecto. Para ser efectivos, el arquitecto de software debe
ganar el respeto del equipo de proyecto, el gestor del proyecto, el cliente y la comunidad de usuarios, así como
del equipo de gestión.
-
Orientación a objetivos y proactividad centrándose exclusivamente en los resultados. El arquitecto de
software es la fuerza técnica dirigente detrás del proyecto, no un visionario o un soñador. La carrera de un
arquitecto de software con éxito es una larga serie de decisiones sub-óptimas efectuadas en momentos de
incertidumbre y bajo presión. Sólo quienes puedan centrarse en lo que se debe hacer tendrán éxito en este entorno
del proyecto.
Desde el punto de vista de la experiencia, el arquitecto de software también necesita compaginar las capacidades de Rol: Diseñador. Sin embargo, a diferencia del diseñador, el
arquitecto de software:
-
tiende a ser generalista en lugar de especialista, conoce muchas tecnologías a un alto nivel en lugar de pocas
tecnologías a nivel de detalle
-
toma decisiones técnicas más amplias y, por lo tanto, un amplio conocimiento y experiencia, así como habilidades de
comunicación y liderazgo, son esenciales.
|
Propuestas de asignación |
Si el proyecto es suficientemente grande para garantizar un equipo de arquitectura, el objetivo es tener una buena
combinación de talentos, cubriendo un amplio espectro de experiencia y compartiendo la comprensión común del proceso de
ingeniería de software. El equipo de arquitectura no debe ser un comité de representantes de varios equipos, dominios o
contratistas. La arquitectura de software es una función de tiempo completo, con personal dedicado permanentemente a
ella.
Para proyectos más pequeños, una única persona puede actuar como gestor de proyectos y arquitecto de software. Sin
embargo, si es posible, es mejor que estos roles los realicen personas separadas, para garantizar que la presión del
tiempo en un rol no provoca descuidos en el otro rol.
|
Más información
Conceptos |
|
Directrices |
|
Documentación |
|
© Copyright IBM Corp. 1987, 2006. Reservados todos los derechos.
|
|