Justo la suficiente arquitectura

En medio del auge del agilismo y de la práctica caída en el ostracismo de la arquitectura de software, el libro de George Fairbainks es una lectura refrescante y serena, que rescata el valor de la práctica arquitectónica de software y redimensiona los postulados ágiles en un contexto más amplio que aquel que les dio origen, a saber, la construcción de prototipos rápidos para poder lidiar con clientes que no saben lo que quieren.
Fairbanks presenta la arquitectura como una técnica para combatir los riesgos derivados de la creciente complejidad de una aplicación.  Sin menoscabar la importancia de los postulados del agilismo, que promueven la entrega frecuente de valor al negocio, el autor enfatiza que es necesario un esfuerzo de comprensión previo del espacio de solución del problema.  Es decir, que el MVP (Minumun Viable Product) no puede ser simplemente la primer cosa que se nos viene a la cabeza, a menos que las consecuencias de entregar un producto defectuoso sean despreciables.
No es lo mismo construir el sistema de control para una nave espacial, donde un pequeño error podría significar la muerte inmediata de los astronautas, que hacer una prueba A-B con un pequeño segmento de los usuarios de nuestro sitio web.  Fairbanks defiende que el trabajo de arquitectura debe ser proporcional a los riesgos percibidos.
A fin de no caer en el analysis paralysis, el autor propone dedicar tiempo suficiente a mitigar los riesgos percibidos hasta un nivel que se considere aceptable.  Justo entonces se debe suspender el trabajo de análisis y continuar desarrollando.
Una de las técnicas prominentes de reducción de riesgos en productos complejos es la creación de modelos de la solución que se está creando o se va a crear.  Estos modelos son vistas que permiten a los desarrolladores tener diferentes perspectivas respecto al sistema, y hacen posible la abstracción de los detalles, hasta que se tienen piezas lo suficientemente sencillas como para que cualquier persona del equipo pueda entender las ideas rectoras que inspiran la arquitectura.
A lo largo del libro se hace un esfuerzo constante por delimitar términos que se escuchan una y otra vez en las conversaciones de diseño de software; tales como puerto, componente, canal; y que nadie sabe muy bien lo que significan.
Creo que Just Enough Software Architecture es una lectura especialmente recomendable para aquellos arquitectos que recién se estrenan en el puesto, ya que presenta un panorama bastante completo de la utilidad de la arquitectura de software y un pequeño resumen de las técnicas que se usan para aplicarlo en el desarrollo de aplicaciones.

Comentarios