Відповідь на це питання може заповнити книгу.
Я думаю, що одна з головних причин полягає в тому, що спритний розвиток орієнтований на результати. Вона завжди зосереджена на тому, щоб забезпечити саме те, що є найактуальнішим тут і зараз.
Ще одна причина полягає в тому, що методи планування та оцінки на основі сюжетів, які виконують спритні процеси, дають набагато кращу оцінку того, що можна досягти і коли.
Хороший приклад того, наскільки ефективне планування на основі сюжетів - це проект, над яким я працював. Кілька місяців (до того, як ми прийняли спритну розробку), керівник проекту вважав, що ми можемо вчасно поставитись, і це минуло приблизно 18 місяців від терміну. У всіх розробників було відчуття, що це, мабуть, нереально. Після початку гнучкого планування керівник проекту все ще провів оптимістичну оцінку ситуації. Але лише після декількох спринтів керівник проекту зрозумів, що команда просто не має можливості доставити всі вимоги в очікуваний час. І це було ще більше ніж 12 місяців від встановленого терміну.
Таким чином, спритна практика також набагато швидше дає зрозуміти реальність.
І, нарешті, спритні команди, як правило, частіше застосовують практику, яка створює кращу якість коду, наприклад, тестова розробка, часте перефабрикування, безперервна інтеграція, огляд кодового коду / програмування пар тощо. Не те, що традиційні програмні проекти забороняють ці практики, вони просто прагнуть не так багато у фокусі.