все это верно в пределах нескольких (десятков, сотен) итераций, пока развивается текущая версия мажорного релиза, и в рамках какого-то одного субъективного компонента программного комплекса. Если смотреть шире, то сложное ПО редко имеет гомогенную структуру - обычно это крутой замес технологий у компонентов, например, после нескольких генераций команды разработки, а во времени сильно меняющийся АPI или даже архитектуру взаимодействия между компонентами. Есть такое понятие, как "технический долг". Его только профилированием и последующей оптимизацией не вернуть. Почти всегда требуются более радикальные изменения. Соответственно, прототипирование (или "игра в код") для этих новых изменений неизбежно.
все это верно в пределах нескольких (десятков, сотен) итераций, пока развивается текущая версия мажорного релиза, и в рамках какого-то одного субъективного компонента программного комплекса.
Если смотреть шире, то сложное ПО редко имеет гомогенную структуру - обычно это крутой замес технологий у компонентов, например, после нескольких генераций команды разработки, а во времени сильно меняющийся АPI или даже архитектуру взаимодействия между компонентами.
Есть такое понятие, как "технический долг". Его только профилированием и последующей оптимизацией не вернуть. Почти всегда требуются более радикальные изменения. Соответственно, прототипирование (или "игра в код") для этих новых изменений неизбежно.