El mal entendido rol del arquitecto de software
Muchas veces tener un rol especĂfico de arquitecto de software perjudica a un proyecto de software
Es un gran error establecer desde un inicio una arquitectura de software fija y estática para todo el proyecto.
Un arquitecto de software profesional deberĂa tener las siguientes peculiaridades:
Mucha experiencia para un nicho especĂfico de la tecnologĂa, es este caso el desarrollo de software.
Ha pasado por muchos roles en su carrera: programador, tester, analista, etc.
Haber trabajado con varias tecnologĂas y dominarlas.
Capacidad de direcciĂłn y liderazgo en el equipo.
PoquĂsimas personas cuentan con estas caracterĂsticas, el desarrollo de software es una carrera que exige mucho a los programadores en cuanto a mantenerse actualizados en las tecnologĂas, por este motivo muchos optan por un ascenso que involucre más toma de decisiones que aspectos tĂ©cnicos del proyecto.
En la gran mayorĂa de los proyectos no se necesita un rol de arquitecto de software.
Plantear una arquitectura fija desde el inicio del proyecto es un grave error.
No confundir el rol de arquitecto con el de responsable técnico, este último es el encargado de escoger técnicamente las herramientas a usarse en el proyecto.
Al desarrollar desconocemos completamente como vamos a resolver ciertos aspectos de la soluciĂłn hasta que realmente tenemos y entendemos el problema realmente.
Muchas veces se entienden o se toman mal los requerimientos.
El desarrollo ágil viene a mejorar todo esto: más entregas cortas y frecuentes, se avanza con mayor seguridad programando módulos de fácil cambio, entonces la arquitectura va tomando forma a medida que el proyecto avanza.
Una metodologĂa ágil deberĂa estar presente en la mente de cualquier programador profesional.
Desarrollo ágil > Arquitecto de software.
Te dejo el link gratuito de El libro negro de programador por si te intesa leerlo, o dale click a la imagen: