Después de ver la serie MegaStructures de National Geographic , me sorprendió lo rápido que se completan los proyectos grandes. Una vez que el trabajo preliminar (diseño, especificaciones, etc.) se realiza en papel, la realización en sí de grandes proyectos lleva solo unos pocos años o, a veces, algunos meses .
Por ejemplo, Airbus A380 " se lanzó formalmente el 19 de diciembre de 2000 "y" a principios de marzo de 2005 ", el avión ya se había probado. Lo mismo ocurre con los grandes petroleros, rascacielos, etc.
Comparando esto con los retrasos en la industria del software, no puedo dejar de preguntarme por qué la mayoría de los proyectos de TI son tan lentos, o más precisamente, por qué no pueden ser tan rápidos y sin fallas, a la misma escala, si se cuenta con suficiente gente.
Proyectos como el Airbus A380 presentan ambos:
-
Principales riesgos imprevistos: si bien este no es el primer avión que se construye, todavía empuja los límites de la tecnología y las cosas que funcionaron bien para los aviones más pequeños pueden no funcionar para el más grande debido a restricciones físicas. de la misma manera, se utilizan nuevas tecnologías que aún no se utilizaron, porque, por ejemplo, no estaban disponibles en 1969 cuando se realizó Boeing 747.
-
Riesgos relacionados con los recursos humanos y la administración en general: personas que abandonan en medio del proyecto, incapacidad para comunicarse con una persona porque está de vacaciones, errores humanos comunes, etc.
Con esos riesgos, las personas todavía logran proyectos como los grandes aviones de pasajeros en un período muy corto de tiempo y, a pesar de los retrasos en la entrega, esos proyectos siguen siendo muy exitosos y de alta calidad. p>
Cuando se trata del desarrollo de software, los proyectos no son tan grandes y complicados como un avión (tanto técnicamente como en términos de gestión), y tienen riesgos un poco menos imprevistos del mundo real.
Aún así, la mayoría de los proyectos de TI son lentos y tardíos , y agregar más desarrolladores al proyecto no es una solución (pasar de un equipo de diez desarrolladores a dos mil a veces permitirá entregar el proyecto más rápido) , a veces no, y otras veces solo dañará el proyecto y aumentará el riesgo de no finalizarlo en absoluto).
Los que aún se entregan pueden a menudo contener muchos errores, lo que requiere paquetes de servicio consecutivos y actualizaciones periódicas (imagina "instalación de actualizaciones" en cada Airbus A380 dos veces por semana para corregir los errores en el original producto y evitar que la aeronave se estrelle).
¿Cómo pueden explicarse tales diferencias? ¿Se debe exclusivamente al hecho de que la industria de desarrollo de software es demasiado joven para poder administrar a miles de personas en un solo proyecto con el fin de ofrecer productos a gran escala, casi impecables, muy rápido?