Monday, November 30, 2020

Claves del pensamiento arquitectónico

 A diferencia de un desarrollador, un arquitecto debe cultivar un punto de vista arquitectural que le permita tener una visión amplia del sistema que se está construyendo. Según el libro Fundamentals of Software Architecture (by Mark Richards, Neal Ford) existen cuatro aspectos clave para desarrollar el pensamiento arquitectónico:

  1. Entender cuál es el límite entre la arquitectura y el diseño
  2. Tener amplitud técnica
  3. Analizar trade-offs
  4. Entender los requerimientos de negocio
Desarrollar estas destrezas permitirán al arquitecto tomar mejores decisiones arquitectónicas, las cuales influyen en el diseño, producción y entrega de productos software. A continuación veamos brevemente dichas destrezas..

1. Entender cuál es el límite entre la arquitectura y el diseño 

Es común ver una separación vertical entre las responsabilidades de los arquitectos y desarrolladores.

Punto de vista tradicional de la separación entre la arquitectura y el diseño

Sin embargo, no existe un límite entre la arquitectura y el diseño, sino que están integrados y sincronizados. Para que la arquitectura funcione, los arquitectos y desarrolladores deben trabajar juntos. El papel principal del arquitecto es de liderar y capacitar a los desarrolladores del equipo.


Haciendo que la arquitectura funcione a través de la colaboración


2. Tener amplitud técnica

Mientras que un desarrollador debe mantener una profundidad técnica para realizar su trabajo, un arquitecto debe tener una amplitud técnica para pensar desde un punto de vista de la arquitectura. 

Una gran parte del valor de un arquitecto es una amplia comprensión de la tecnología y de cómo utilizarla para resolver problemas concretos. Por ejemplo, como arquitecto, es más beneficioso saber que existen cinco soluciones para un problema particular que tener conocimientos singulares en una sola.

3. Analizar trade-offs

Pensar como arquitecto implica evaluar los trade-offs de cada alternativa para elegir la mejor solución. Los trade-offs se refieren a las ventajas y desventajas que pueda tener una solución determinada.

Todo en arquitectura es un trade-off, por eso es que la respuesta común a una pregunta de arquitectura es un "depende". Pensar arquitectónicamente implica observar los beneficios de una solución dada, pero también analizar los aspectos negativos.


Subir un extremo de la balanza hace bajar el otro

4. Entender los requerimientos de negocio

Pensar como arquitecto requiere entender los requerimientos de negocio para luego traducirlos en características de la arquitectura (escalabilidad, rendimiento, disponibilidad, etc.). Es una tarea compleja porque requiere conocimiento del negocio y buenas relaciones con los principales stakeholders de la empresa.

¡Gracias por llegar hasta aquí!


No comments:

Post a Comment

Cuando el código funciona, pero no tiene tests: ¿y ahora qué?

Seguramente te ha pasado alguna vez. Te dan acceso al repositorio de un nuevo proyecto. Lo abres con curiosidad, esperas encontrar una estru...