Найти тему

Каскадная модель - критика модели водопада. Рассказываю что к чему

Модель водопада многими считается непригодной для практики. Прежде всего критики считают, что для любого нетривиального проекта невозможно усовершенствовать один этап жизненного цикла программного продукта, прежде чем перейти к следующему. Например, клиентам может быть не совсем понятно, каковы их требования, пока они не увидят работающий прототип, который затем можно будет прокомментировать; они могут постоянно изменять свои требования, а дизайнеры и разработчики теряют над ними контроль. Если заказчик меняет свои требования после завершения проектирования, дизайн должен быть изменен и адаптирован к новым требованиям.

Это приведет к потере довольно много работы, если слишком много времени было потрачено на большой дизайн впереди. Кроме того, дизайнеры могут не иметь представления о будущих проблемах реализации при разработке программного продукта, который еще не был реализован. Другими словами, только на этапе реализации может оказаться, что определенная область функциональности программы очень сложна для реализации. Если это произойдет, лучше пересмотреть предложение, чем настаивать на использовании исходного предложения, которое было основано на ошибочных предположениях и не может быть использовано для вновь обнаруженных проблемных областей.

Доктор В книге «Управление разработкой больших программных систем» (первая статья, описывающая водопадную модель) Уинстон У. Ройс описывает простейшую версию модели как «рискованную и обреченную на провал».

Стив МакКоннелл в своей книге « Полный код» называет проектирование программного обеспечения «коварной проблемой» - проблемой, требования и ограничения которой не могут быть полностью изучены до завершения. В результате невозможно усовершенствовать ни один этап разработки программного обеспечения, а также невозможно использовать каскадную модель для перехода к следующему этапу.

Идея модели водопада может быть «дважды отмерь, один раз отрежь». Противники модели водопада утверждают, что эта идея не работает, когда проблема, с которой мы имеем дело, постоянно меняется из-за меняющихся требований и последующих новых открытий, касающихся самой проблемы.