¿Qué significa que una empresa de software no tenga un puesto de arquitecto de software?

En muchos casos, especialmente en flujos de trabajo más modernos donde la agilidad y la entrega rápida son importantes, la posición de “arquitecto” no es un rol específico asignado a una persona, es un elemento del proceso que se ha elegido como metodología ágil. En efecto, en lugar de tener un “arquitecto de software“, las empresas están empleando un ” proceso de arquitectura de software”.

En general, esto significa que la responsabilidad de la arquitectura recae en un mayor número de personas (a menudo todo el equipo) más que en individuos clave. Si bien esto tiene la ventaja adicional de que trae más voces a la conversación durante la arquitectura, también tiene la desventaja de que no todas las voces hablan bien a la arquitectura, lo que puede tener un impacto negativo en la calidad. No he visto personalmente ninguna evidencia de que “más voces” sean mejores o peores en promedio, ya que ese elemento a menudo no se puede eliminar de las otras prácticas ágiles que se emplean al mismo tiempo.

En algunos casos, la falta de un puesto de arquitecto de software es simplemente una deficiencia en la estructura organizativa de la empresa, lo que supone que los desarrolladores naturalmente hacen arquitectura, lo cual no siempre es el caso. Esto a menudo se ve agravado por prácticas ágiles en las que tener la voz de todos los desarrolladores puede contribuir a la arquitectura puede ser imprudente, dado que los desarrolladores no son inherentemente arquitectos. Pueden ser ambos … simplemente no es una disciplina inherente a todos los desarrolladores.

Desde el momento en que el proceso Agile se ha vuelto popular, hay cada vez más empresas que no tienen una posición de arquitecto de software.

Es porque el proceso ágil promueve el concepto Diseño por comité. Desafortunadamente, Design by Committee funciona solo cuando las empresas tienen buenos equipos y solo trabajan con proyectos pequeños.

La mayoría de las empresas hoy en día abusan del diseño por comité para convertirse en una herramienta para evitar la rendición de cuentas y la responsabilidad. Si algo sucede, culpan al equipo / comité como si no pertenecieran al equipo, y todos felizmente continúan.

Sin embargo, también he visto empresas que tienen arquitectos de software que son buenos para vibrar tonterías y dibujar diagramas inútiles. Ese tipo de empresas y arquitectos son aún más peligrosos que Design by Committee.

Creo que debe haber un arquitecto o arquitectos fuertes en cada proyecto. Deben ser expertos en tecnología desde grandes imágenes, tecnologías, negocios hasta el nivel de codificación. Es posible que no escriban código todos los días, pero deben conocer la codificación, deben poder escribir código elegante que resuelva problemas complejos. De lo contrario, no valen nada, solo habla, habla y habla.

More Interesting

¿La mayoría de los algoritmos fundamentales provienen de la academia o la industria?

Soy un desarrollador PHP / desarrollador web. ¿Necesito aprender sobre estructuras de datos y algoritmos?

¿Cuál es la tecnología central detrás del software de edición de video como Movie Maker y Final Cut?

¿Qué habilidades buscaría una empresa de EDA al contratar candidatos para sus puestos de ingeniero de I + D?

¿Por qué es importante el aseguramiento de la calidad del software?

¿Hay un beneficio de duplicar un título en ingeniería informática e ingeniería de software?

¿Qué código usaron para Facebook?

¿Qué prefiere comprar la gente: un 'dispositivo' (es decir, hardware integrado en un teléfono inteligente / software) o un producto de software puro (por ejemplo, un sistema operativo)?

Por ser miembro de equipos que envían naves espaciales al espacio, ¿qué especialidad debo elegir? ¿Está relacionada la ingeniería de software?

¿Cuál es el mejor ingreso adicional para el ingeniero de software?

¿Cómo ayuda la comprensión del diseño de un lenguaje de programación a escribir un mejor código?

¿Dónde trabajan los desarrolladores de software débiles?

¿Alguien puede afirmar honestamente que el enfoque ágil para el desarrollo de software no tiene un impacto negativo en la calidad general del producto?

¿Por qué las personas de TI viajan en automóvil, 1 persona en 1 automóvil, en Bangalore y otras ciudades?

¿Qué características del software de gestión de proyectos son las más importantes para usted?