Arquitectura de Software El Rol del Arquitecto de Software Centro de Posgrados y Actualización Profesional Instituto de Computación - Facultad de Ingeniería
Contenido Propósito del Arquitecto Rol del Arquitecto Capacidades Actividades
Propósito del Arquitecto La arquitectura es creada por el arquitecto junto con otros involucrados (stakeholders) Estos tienen requerimientos, objetivos, intenciones y aspiraciones (concerns) Alto rendimiento Alta calidad Completamente funcional Verificable Amigable para el usuario Confiable Altamente disponible Extensible Tolerante a cambios Mantenible Portable Seguro Económico
Propósito del Arquitecto Durante el desarrollo es necesario convivir con estas restricciones Se debe tomar decisiones de compromiso entre ellas Por este motivo es que hay un arquitecto El arquitecto posee la responsabilidad técnica más importante en estos aspectos
Propósito del Arquitecto Se debe seleccionar entre patrones de arquitectura y tecnologías Así, la arquitectura seleccionada es el resultado de un juicio basado en aptitudes y experiencia El arquitecto es el responsable de emitir este juicio
Propósito del Arquitecto Cuando el arquitecto presenta la descripción de la arquitectura, le está queriendo decir al administrador del proyecto Ahora sé que podemos construir el sistema sin encontrar ninguna sorpresa técnica importante
Propósito del Arquitecto El arquitecto entonces ocupa un puesto difícil en el proyecto No debería ser jefe de proyecto ya que ese puesto tiene muchas dificultades además de la arquitectura Debe contar con el compromiso incondicional de la dirección Para crear la mejor arquitectura Para forzar que se cumpla
Monty Python y el Rol del Arquitecto El arquitecto debe ser formador de opinión, llevando la voz cantante en lo que es posible debe proporcionar la visión, orientación y experiencia que permita a otros hacer realidad esa visión necesita comprender los aspectos técnicos y de negocio de un proyecto para comprometerse con la mejor solución
Capacidades El arquitecto debe ser un buen comunicador tener conciencia de las políticas organizacionales ser un negociador ser un líder técnico y tener conocimientos tecnológicos, de diseño y programación comprender el proceso de desarrollo tener conocimiento del dominio del negocio entre otros
Capacidades Debe ser flexible para incorporar opiniones útiles de desarrolladores y otros involucrados Puede que un solo arquitecto no sea suficiente para sistemas grandes Puede utilizarse entonces un grupo de arquitectos para desarrollar y mantener la arquitectura
Actividades El arquitecto dirige y coordina las actividades y los artefactos técnicos durante el proyecto Sus actividades principalmente son en amplitud más que en profundidad Identifica los modelos necesarios Establece la estructura general de cada uno Determina el agrupamiento de los elementos y las interfaces entre ellos Describe la arquitectura
Actividades El arquitecto realiza actividades en diferentes disciplinas Algunas actividades se desarrollan al comienzo del proyecto El resto de las actividades se llevan a cabo en todas las iteraciones Son la mayoría de las actividades que desarrolla el arquitecto
Actividades Sin embargo, el esfuerzo dedicado a cada actividad no es igual para cada iteración En algunas iteraciones, una actividad puede ser muy relevante y necesitar gran esfuerzo En otras, puede implicar simplemente hacer una revisión del avance y un ajuste de detalles en los artefactos
Referencias Monty Python and "The Role of the Architect. Denny Boynton http://blog.dennyboynton.com/post/monty-pythonand-quot3bthe-role-of-the-architectquot3b.aspx