Arquitectura de Software, ¿Qué estamos discutiendo?

Cuando escribí el post sobre “Arquitectos que andan a 10.000 metros”, lo hice para promocionar una conferencia para Developer que bajaba la propuesta de arquitectura en capas a directivas de diseño para Developer.

 

Diegum, ex arquitecto de Microsoft Chile lo tomó muy en serio y escribió un POST de comentario sobre el mío. No era mi intención pero creo que esto está siendo muy positivo porque genera dialogo sobre el verdadero rol de un arquitecto de software.

 

Primero,  creo que el concepto de arquitecto de software está sobre utilizado. Es algo similar al titulo de ingeniero, en Chile existe ingeniería en Marketing o ingeniería comercial, por ejemplo.

 

Coincido con diegum en su definición de Arquitecto cómo “El arquitecto de software es un administrador de la complejidad, lidia con ella todo el tiempo”. Ahora, en clases de arquitectura de software, en la universidad es posible encontrar cursos de cualquier cosa, me dijo mi profesor que la arquitectura de software “habla del software que se va ha hacer” y que el diseño “baja como esa arquitectura se implementa”.

 

Ahora, revisando la lista de tareas que nos propone diegum para los arquitectos de software tenemos:

 

  • Descomponer la aplicación en capas, al menos, lógicas
  • Descomponer cada capa lógica en componentes
  • Seleccionar tecnologías y/o frameworks de implementación
  • Realizar una Prueba de Concepto (Proof of Concept o PoC) de la arquitectura
  • Brindar algunos casos de uso de referencia

 

Si un Arquitecto de software hace eso, me sentiría muy contento. Ahora creo que esa felicidad sería máxima si agregamos lo siguiente:

 

En “descomposición lógica en componentes” apoyaran a los diseñadores dando directivas claras de cómo bajar la arquitectura del sistema a un diseño de software codificable por Developer.

 

Ocurre que muchas veces no existen diseñadores de software, por lo que nadie hace este trabajo. Esa es mi principal observación a los arquitectos  de "coloquios de café".

 

Yo no creo que sea importante para un Arquitecto de Software saber programar en la tecnología que se use en estos momentos, si es impórtate que tenga experiencia y habilidades de comunicación que le permitan hacer un “puente de plata” entre el negocio, Driver de toda empresa, y el equipo de desarrollo.

 

 

PD:

Como siempre, saber programar y gustarme mucho hacerlo, me trae problemas😉

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