Исторически существовал классический, или каскадный подход к организации проектов. Это механика, в которой заранее готовится техническое задание, учитываются все мелочи, предсказываются риски и затраты. И только потом начинается разработка. Разработчики согласовывали план работы с заказчиком и чётко следовали ТЗ. Когда продукт был готов, его тестировали, но уже не было возможности что-то поменять. Поэтому, если выявлялись ошибки, приходилось начинать всё сначала, а сроки работы увеличивались.