Как объяснить? По-простому.
С первого раза хорошую вещь не сделаешь. Добиться качества можно только с двух, трех или большего количества разов.
Задача первого этапа - получить работающий образец. Хорошо, когда он полностью работоспособен, и даже находится в эксплуатации. Однако, для того, чтобы получить возможность *эффективного развития - нужна работа над качеством, в том числе и внутри.
Под *эффективностью подразумеваются большие результаты при меньших затратах. В этой связи сопровождение неоптимизированного кода влечет заведомо большие затраты, и главное - приводит к задержкам непредсказуемой длительности при отладке. Если есть намерение сделать разработку более линейной, и затраты предсказуемыми - нужен рефакторинг. А именно - приведение кодовой базы в стандартизированный вид, оптимизация структуры кода, возможно с избавлением от унаследованных неудачных решений.
Под затратами подразумеваются: финансовое обеспечение и временные затраты на разработку, а также количество работы, которое совершают руководители.