Tinselcity

Nota: En lo que sigue, el Arquitecto, con A mayúscula, es un perfil y un personaje muy concreto. No pretende esto ser un retrato de cualquiera que haga arquitectura de software1), sino de un tipo de persona concreto. Si alguien se siente insultado puede hacerlo con toda libertad. Si alguien se siente reflejado pero quiere no sentirlo, podemos hablarlo.

El Arquitecto

Me pregunta un amigo…

¿El Arquitecto viste de azul?

Y… bueno, no se trata de cómo vista, pero la pregunta en sí me hace pensar. Porque de alguna forma me hace darme cuenta de que no se trata del Arquitecto actual sino que realmente hay algo que trasciende más allá. Hay un “proto-Arquitecto”, algo subyacente a todos los Arquitectos con mayúscula.

Making of an Architect

Hay un entorno típico en el que habitualmente se produce un Arquitecto. No es precisamente un laboratorio aséptico ni un apartamento poco iluminado. Es el “Gran Proyecto Aislado”. Y es habitual, aunque no estrictamente necesario, que el GPA lo realice algún tipo de Oficina Técnica de una empresa de Consultoría de software.

El Gran Proyecto Aislado (GPA) es un proyecto tipo. Puede tener -y tiene- características diferentes, pero siempre sigue una misma circunstancia general. Es un proyecto de larga duración, con un equipo de un tamaño medio y con poca preparación y/o poca motivación; el proyecto crece bajo alguna forma de aislamiento -que ahora veremos con más detalle- y es bastante habitual, aunque no estrictamente necesario, que tenga unos requerimientos formales de calidad. El proyecto no suele ser grande, en el sentido de que no tiene por qué tener un gran presupuesto o un equipo numeroso o un público amplio; pero sí suele tener cierto sentido estratégico.

El material original del que se extrae el Arquitecto generalmente es un programador mediocre pero listo2) y con cierta ambición pero no demasiada. Si es demasiado ambicioso seguramente terminará creciendo hacia otro tipo de roles. Si es bueno técnicamente, puede terminar haciendo arquitectura, pero no siendo Arquitecto.

El GPA

Hay varias modalidades de GPA que producen un Arquitecto, pero habitualmente se engloban en dos. Una es la del Framework (Plataforma, librería… genéricamente hablando lo llamaré “herramienta”). Es habitual en dos contextos: el del Departamento de Arquitectura de una empresa muy grande con recursos propios de desarrollo, aunque el software pueda ser o no ser su principal negocio, y el de la Oficina Técnica de una empresa de consultoría. La segunda modalidad es la de la Re-Ingeniería de otro Gran Proyecto ya existente; un proyecto que se queda obsoleto tecnológicamente y necesita volver a hacerse más o menos igual, pero actualizado.

¿Por qué este tipo de proyectos? La respuesta la encontramos en el mencionado aislamiento. En el caso del desarrollo explícito de una herramienta en uno de los dos contextos que decía, hay una clara separación, un distanciamiento de los proyectos reales. El principal objetivo que determina la existencia del Departamento de Arquitectura o de la Oficina Técnica de la Consultora, no es producir nada tangiblemente práctico sino algo teóricamente valioso que justifique la propia existencia de dichas entidades. No funcionan exactamente igual. Generalmente la consultora utiliza la herramienta como objeto de comercio, como un valor comercial que ayuda a vender los proyectos (o el alquiler de carne), así que su producto será más llamativo, más vendible. El Departamento interno de Arquitectura, por otro lado, tiende a no producir nada terminado ni palpable, optando por una evolución continua que se mueva continuamente para demostrar la necesidad de su trabajo.

En el caso de la Reíngeniería el aislamiento es algo diferente. No hace falta tanto justificar como recriminar. Todo el conocimiento del “negocio” del proyecto ya es conocido en cierta medida. La situación de aislamiento aquí viene de la propia “renovación”. Por un lado existe una parte del equipo, que conoce el negocio muy bien, pero no conoce en absoluto la nueva tecnología a usar. Por otro lado la otra parte del equipo puede conocer mejor o peor la tecnología3) pero desconoce el negocio. Entre estas dos partes del equipo, que suelen mantenerse claramente separadas, surge la necesidad de una autoridad, el Arquitecto, que debe ser “neutral”, es decir, mantenerse separado de unos y de otros.

Todos estos varios orígenes -y otros varios casos posibles, claro- a lo que llevan es a la figura de un Arquitecto que trabaja separado del proyecto real en el que -se supone- se aplica lo que hace.

La teoría y la práctica

Aquí es donde ocurre el hecho de que define al Arquitecto. El Arquitecto a veces viste de azul, a veces de gris. A veces se aprovecha de su posición para medrar. A veces consigue recompensas materiales y a veces se forja una reputación para emigrar a proyectos y puestos mejores. Otras veces busca una vida cómoda, fácil, dentro de un proyecto en el que podrá pasar años y años. Puede ser un hombre caprichoso, una mujer agresiva, joven, viejo, de edad indeterminada.

Lo que realmente caracteriza al Arquitecto son dos detalles:

  • que deja de tener que responder de la responsabilidad asociada a la autoridad que ha obtenido.
  • que su autoridad pasa a ser indiscutible.

Su distanciamiento del día a día práctico del desarrollo, le permite establecer como verdad universal que él4) lo hace “todo bien”.

Obviamente, para que esto funcione a largo plazo, el Arquitecto necesita una estrategia sutil pero estricta: Por una parte, nunca debe proporcionar una herramienta terminada o completa, o dar una explicación suficientemente detallada. Es típico del Arquitecto gesticular y dar explicaciones con grandes palabras pero que nunca contestan de forma directa a la pregunta. Por otra parte, debe mantener siempre esa idea de que siempre tiene razón por encima de cualquier otra circunstancia. Formas frecuentes de hacer esto son:

  • “En la última versión…”. En la última versión el problema en cuestión ya está solucionado. El equipo no tiene la última versión nunca, como es lógico, y se produce siempre un continuo juego de excusas para que esta situación se mantenga. Y mientras… “bueno, solucionadlo un poco como podáis”.
  • “No lo habéis entendido…”. El equipo nunca entiende la idea correctamente, nunca aplica la solución dada correctamente, nunca usa la herramienta como debería. Pero esto solo se usa para criticar al equipo, no para hacerle responsable. Hacerlo podría suponer una escalada en el confrontamiento y eso nunca favorece al Arquitecto. En su lugar, el Arquitecto explica que intentará darles una solución que no puedan aplicar incorrectamente… en la próxima versión.
  • “Yo nunca he tenido ese problema…”. El Arquitecto, por definición, siempre hace todo bien. Por tanto, el problema debe ser el equipo y ahí ya el Arquitecto no puede hacer nada, claro, y simplemente ignora el problema.

Tratar con un Arquitecto

Idealmente, en una industria responsable y seria, el Arquitecto no existiría y en caso de que se produjera alguno, este sería contenido donde no pudiera hacer daño. No siendo este el caso, es probable que en algún momento nos encontremos con un Arquitecto. Antes de ver cómo tratar con él, conviene tener claros algunos detalles.

Lo primero es observar el grado de madurez como Arquitecto. Tenemos que saber cuánto lleva como Arquitecto y cómo de indiscutible es. Con suerte, si lo pillamos temprano, podemos intentar enfrentarnos para erosionar su falsa autoridad. Pero la mayoría de veces lo que nos encontraremos es que todos a su alrededor saben que:

No vas a conseguir nunca nada discutiendo con [el Arquitecto].– anónimo desarrollador en un GPA con Arquitecto

Llegado a un cierto punto el Arquitecto es prácticamente indestructible y capaz de hacer miserable la vida de todos los desarrolladores que le rodean. Cualquier discrepancia a nivel técnico, cualquier opinión técnica opuesta quedará sepultada bajo la reputación que el Arquitecto ha logrado frente a jefes o clientes. Más aún, este tipo de enfrentamientos generalmente supondrá que el Arquitecto maniobrará a escondidas para desacreditar a la persona que se opone.

Lo habitual es que alrededor del Arquitecto existan cuatro actitudes:

  • Los convencidos o convertidos. Generalmente personas que no tienen capacidad para distinguir la capacidad real del Arquitecto y le aceptan como una verdadera autoridad. No conviene ser de estos.
  • Los fugitivos. Aquellos que, al detectar un Arquitecto, optan por la huida, buscan otro proyecto o empleo lo más rápido posible y mientras tanto evitan el confrontamiento. Es una solución bastante válida.
  • Los confusos y sufridores. No creen en la capacidad del Arquitecto, saben que es todo teatro. Pero no comprenden cómo pueden ser así las cosas; a veces, dudan si serán ellos los equivocados, o sufren de forma continua al no entender por qué pasa todo esto. Esto suele llevar a la frustración en los primeros y a la desgana en los segundos. No es buena idea.
  • Los combativos o problemáticos. Quizá por ingenuidad -aún creen que es posible arreglarlo- o por tozudez -saben que no pueden ganar, pero no tienen pasar a ser ni convertidos ni sufridores-, se empeñan en enfrentarse al Arquitecto. Esto podría funcionar si fueran suficientes y se organizaran, pero esto no suele ocurrir muy a menudo y en solitario no tienen ninguna posibilidad. Moralmente no es mala idea, pero se suelen sufrir las consecuencias sin conseguir nada a cambio.

Por supuesto, siempre se podría intentar crear cierta conciencia profesional y exponer públicamente a estos personajes. Quizá no consiga acabar con esta escoria, pero por lo menos puede servir como cierto castigo o, quizá, como válvula de escape para quien los sufre. Pero hoy por hoy esto consigue más bien poco resultado, por no decir ninguno.

No tengo una recomendación que pueda dar. Eso sí, saber identificarlos ayuda bastante, y en algunos casos huir de ellos no solo no es deshonroso sino que es la única solución razonable.

1)
y mi opinión sobre arquitecto como rol y arquitectura como actividad ya la he explicado en otros lugares y ocasiones
3)
Y suele ser “peor” porque suelen ser proyectos con presupuestos ajustados y en los que muchos no están interesados en trabajar
4)
o ella