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:
- Entender cuál es el límite entre la arquitectura y el diseño
- Tener amplitud técnica
- Analizar trade-offs
- 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