Consultorio Dr. Diegumoff. Hoy: Responsabilidades del Arquitecto

Hospitales_OK_1 
Parálisis de Diseño? Implementación Precoz? Consulte al Dr. Diegumoff

 

 Recibí  una consulta interesante de Jorge, un lector del blog, docente de la carrera de computación científica en la Universidad de Ciencias Informáticas (Cuba). Preferí -previa autorización de él- llevar el caso en forma abierta, de modo que todos puedan dar su visión al respecto

 

From: Jorge
Sent:
Friday, April 18, 2008 7:59 PM
To: Diegum

 

(…)

Leí tu blog “Rol del arquitecto: Reglas del Juego” y coincido contigo en lo que comentas sobre los roles en la teoría y la asignación de los mismos en la práctica, lo cual lleva a que muchas veces no se defina bien dentro de un proyecto hasta donde llegan las responsabilidades del arquitecto y a veces algunas se queden sin cubrir. Pero me pregunto si entre las responsabilidades del arquitecto también caen la definición de los siguientes elementos:

· Plataforma de desarrollo.

· Sistemas Operativos.

· IDE a usar.

· Lenguaje de programación.

· Herramienta de modelado.

· Herramientas de control de versiones.

· Herramienta de gestión del proyecto.

· Estándares de información.

· Estilos y patrones arquitectónicos.

Esta pregunta se debe a que un alto cargo de la universidad esbozó esto como tareas del arquitecto y la verdad que no coincido con él en este sentido, incluso busqué en algunas metodologías de desarrollo y por ejemplo en RUP estas determinaciones forman parte del flujo de trabajo de Ambiente, y no le corresponden al arquitecto, menos la de estilo y patrones arquitectónicos.

Saludos, y gracias de nuevo por permitirme contar contigo.

Jorge.

 

Estimado Jorge, el caso que se te planteó es de esas típicas discusiones donde todas las partes involucradas parecen tener algo de razón, lo que vuelve muy complicado de determinar quién está en errado y quién no smile_wink

Es muy probable que si afirmamos que sólo al arquitecto le cabe definir la plataforma de desarrollo, los sistemas operativos sobre los que la solución va a correr, elegir el IDE, etc, estemos equivocados. No obstante, sería falso también decir que al arquitecto no le cabe ningún rol en las decisiones a tomar en esos primeros puntos de la lista

La mano es así: arquitectos los hay con distinto nivel jerárquico, esto basado en su background, antigüedad en la empresa donde trabajan, antigüedad en la industria del software, etc. Asimismo, tenemos arquitectos de soluciones (que son los que vienen de haber programado durante varios largos años) y arquitectos de infraestructura (aquellos a los que les tocó instalar y mantener servidores, redes, puestos clientes y periféricos durante un lapso no menor)

Es muy raro -aunque no imposible- que te topes con alguien que la tenga clara en desarrollo y a la vez la tenga clara en infraestructura. Cuando te digo "tenerla clara en ambas cosas" no me refiero a saber Java y ser capaz de instalar Linux, sino a ser capaz de diseñar soluciones que corran en una plataforma definida por ellos y que la cosa escale así de repente todos los usuarios se decidieron a dar enter al mismo tiempo smile_wink

Seguramente que lo que dijo el profe pueda parecer exagerado si se lo vamos a asignar, dado un proyecto x de misión crítica, a una sola persona aunque lo probable es que sean definiciones a resolver entre dos o quizás más. Lo que sí me atrevo a asegurar es que varias de estas personas van a ostentar el rol de arquitecto (o arquitecto jefe, que es más bien un arquitecto que no participa en un proyecto dado sino que toma decisiones que afectan a todos los proyectos de la organización). Lo más probable es que estos arquitectos sean, algunos "de soluciones" (desarrollo) y otros "de infraestructura"

Si tengo que contar por mi caso personal (yo soy arquitecto de soluciones), hubo proyectos a los que me sumé y ciertas decisiones ya habían sido tomadas (S.O., Lenguaje de Programación, etc) y otras que aún quedaban "por tomar". Para aquellas que aún estaban pendientes, como te contaba, no es que me tiraban toda la responsabilidad de la decisión a mí solo, sino que yo integraba un comité junto con otras personas

La mayoría de las veces, tal como tú lo sugieres, tuve voz pero no voto. Es decir, podía dar mi opinión pero la decisión quedaba en manos de alguien con "poder de compra", sobre todo en aquellos casos en que la decisión implicase adoptar un producto con un modelo de licenciamiento lucrativo (que haya que pagar para poder usarlo, bah). Debo confesar acá que me frustraba que a veces mi opinión fuese ignorada (me carcomía la duda de para qué me convocaban a esos comités si luego iban a hacer lo que les pareciera. Pero, en fin, volviendo al punto y como cierre, no es que me tocara toda la responsabilidad a mí pero sí al menos una participación en la maduración de las ideas y los rumbos a tomar

Sin duda alguna que, no obstante, el grueso del proyecto lo iba a dedicar a "Estilos y Patrones Arquitectónicos", el último punto que mencionó el profe y con el que sí estuviste de acuerdo

Saludos por la tierra del Ron

Esta entrada fue publicada en Software Management. Guarda el enlace permanente.

2 respuestas a Consultorio Dr. Diegumoff. Hoy: Responsabilidades del Arquitecto

  1. Jorge Infante Osorio dijo:

    Hola Diegum.
     
    Después de pasarme unos días leyendo tratando de buscar por mi lado una respuesta estas interrogantes el concenso general es el que tu planteas, así que como consultor ya te puedes ganar la vida jejejeje…..
    Entre algunas de las prácticas de la industria para el rol del arquitecto estaban la de fragmentar el rol, de acuerdo al cúmulo de responsabilidades que se le puede asignar de diferentes formas, cada una especifica al tipo y envergadura del proyecto, por ejemplo vi una que los clasificaba así: Arquitecto técnico, encargado definir lineamientos del proyecto, su arquitectura, y demás temas técnicos del proyecto, Arquitecto funcional que es como un team leader, y ademas lider técnico, y el Arquitecto corporativo que agrupa a los dos roles anteriores, evidentemente esta es solo una de las posibles clasificaciones…además de la que tu das que no se diferencia mucho de la que puse anteriormente….a mi entender la clave está en crear un team de arquitectos, con las responsabilidades distribuidas de forma jerárquica y contar con arquitecto jefe que sea transversal a los proyectos, la persona de mas experiencia y luz larga..ahora bien la responsabilidad mayor de un arquitecto, como rol, debe de ser a mi entender diseñar, e implementar la arquitectura, y velar porque los desarrolladores la cumplan y no se salgan de lo establecido, fuera de ahí dado su fuerte componente técnico ha de estar presente en las decisiones que puedan afectar de alguna manera la arquitectura propuesta o a proponer por el. Aquí hago un alto pues aparece un tema que me interesa, y son los requerimientos de calidad que permiten validar una arquitectura como buena o mala….y debe de ser la biblia de cualquier arquitecto, y me pregunto: ¿existe algun lugar donde aparezcan listadas estas caracteristicas?….y bueno con esto te doy las gracias por aclararme estas dudas….

  2. Diego dijo:

    Aloha, estimado. Respuesta corta es "sí, existen esas métricas de calidad". Respuesta larga es "existen tantas posibles que no hay acuerdo -y no es chiste- en cual se debe tomar como válida, o si son válidas todas, etc"
    Hay muchos trabajos e iniciativas que permitan reglar el proceso de creación de una arquitectura. Por mencionar uno neutral, echale un vistazo a TOGAF. IASA (se pronuncia "áisa"), por su lado, es algo así como el gremio mundial de los arquitectos de software independientemente de que trabajen para ellos mismos o para alguno de los jugadores centrales (si la hubiera fundado Karlitos Marx quizás la habría llamado "Arkitectos del mundo, uníos!" o simplemente ADMU, pero la fundó Paul Preiss y la llamó International Association of Software Architects)
    Si ya nos salimos de lo neutral, Microsoft, Sun, etc, cada uno tiene su propio programa de certificación (más bien lo que certifican es al arquitecto, más que a la arquitectura; en otras palabras, lo que dicen es "yo no sé si lo que fulano diseña está bien o mal, pero como diseñador para mí vale"
     
    Ahora, si querés de veras veras llegar al fondo de lo que un arquitecto debe ser o hacer, leéte este post

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s