La respuesta a esa pregunta podría llenar un libro.
Creo que una de las razones principales es que el desarrollo ágil se centra en lo que se puede entregar. Siempre se enfoca en entregar exactamente lo que es más urgente aquí y ahora.
Otra razón es que las prácticas de planificación y estimación basadas en la historia que siguen los procesos ágiles brindan una estimación mucho mejor de lo que se puede entregar y cuándo.
Un buen ejemplo de cuán efectiva es la planificación basada en historias es un proyecto en el que trabajé. Durante un par de meses (antes de adoptar un desarrollo ágil), el líder del proyecto creía que podíamos entregar a tiempo, y eso era aproximadamente 18 meses desde la fecha límite. Todos los desarrolladores tenían la sensación de que eso probablemente no era realista. Después de comenzar una planificación ágil, el líder del proyecto todavía tenía una evaluación optimista de la situación. Pero solo después de algunos sprints, el líder del proyecto se dio cuenta de que el equipo simplemente no tenía la capacidad de cumplir con todos los requisitos en el tiempo esperado. Y eso aún estaba a más de 12 meses de la fecha límite.
Por lo tanto, las prácticas ágiles también aclaran la realidad mucho antes.
Y, por último, los equipos ágiles tienden a adoptar con mayor frecuencia prácticas que crean una mejor calidad de código, por ejemplo, desarrollo basado en pruebas, refactorización frecuente, integración continua, revisión de código de pares / programación de pares, etc. No es que los proyectos de software tradicionales prohíban estas prácticas, solo tienden a No estar tan enfocado.