Qué es un arquitecto de software?

Hace días descubrí un artículo en InfoQ titulado “Eres un arquitecto de software?” de Simon Brown, y hoy he leído una pequeña reseña en javaHispano, lo cuál me ha recordado que tenía pendiente escribir algo sobre él. En él, Simon nos expone su idea de lo que un arquitecto de software debería ser, o cómo un desarrollador puede llegar a ser arquitecto.

La idea más importante del artículo creo que es que ser arquitecto es un rol, no un rango, por lo que el arquitecto se debe comportar como tal y ganarse el respeto del resto del equipo, no porque un papel diga que es el arquitecto los demás deban reverenciarle.

Según Simon, la arquitectura de un proyecto puede dividirse en dos fases: definición y entrega (delivery):

En cuanto a la fase de definición me gustaría destacar las siguientes ideas:

Y en cuanto a la fase de entrega:

En definitiva, el arquitecto debe asumir un papel activo, y comprender que es el líder técnico del equipo y como tal debe ser un referente dentro del equipo.

Yo estoy trabajando duramente para ser este tipo de arquitecto. Y tú, eres arquitecto de software?