Después de ver la serie MegaStructures de National Geographic , me sorprendió lo rápido que se completan los grandes proyectos. Una vez que el trabajo preliminar (diseño, especificaciones, etc.) se realiza en papel, la realización de grandes proyectos lleva unos pocos años o, a veces, algunos meses .
Por ejemplo, Airbus A380 "lanzado formalmente el 19 de diciembre de 2000" y "a principios de marzo de 2005" , el avión ya fue 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 e impecables, en la misma escala, si se les da suficiente gente.
Proyectos como el Airbus A380 presentan ambos:
Principales riesgos imprevistos: si bien este no es el primer avión construido, aún supera 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 usaban, porque, por ejemplo, no estaban disponibles en 1969 cuando se realizó el Boeing 747.
Riesgos relacionados con los recursos humanos y la gestión en general: personas que renuncian en medio del proyecto, incapacidad para comunicarse con una persona porque está de vacaciones, errores humanos comunes, etc.
Con esos riesgos, las personas aún logran proyectos como esos grandes aviones en un período de tiempo muy corto y, a pesar de los retrasos en la entrega, esos proyectos aún tienen un gran éxito y una alta calidad.
Cuando se trata del desarrollo de software, los proyectos no son tan grandes y complicados como un avión (tanto en términos técnicos como de gestión), y tienen riesgos ligeramente 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 a veces solo dañará el proyectar y aumentar el riesgo de no terminarlo en absoluto).
Los que aún se entregan a menudo pueden contener muchos errores, que requieren paquetes de servicio consecutivos y actualizaciones periódicas (imagine "instalar actualizaciones" en cada Airbus A380 dos veces por semana para corregir los errores en el producto original y evitar que el avión 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 y casi sin fallas muy rápido?