С повышением сложности проекта
неминуемо растёт продолжительность каждой
стадии разработки и количество взаимосвязей
между частями проекта, количество которых
тоже увеличивается. Фредерик Брукс показал,
что продолжительность возрастает нелинейно.
Большие проблемы вызываются и тем фактом,
что реально увидеть и оценить проект в
работе можно только на стадии тестирования,
то есть после завершения таких значительных
стадий, как стадии анализа, проектирования
и разработки. Столь запоздалая оценка
создаёт значительные проблемы, если выявляются
ошибки анализа и проектирования. Проект
возвращается на предыдущие стадии и процесс
разработки повторяется.
Однако возвраты на предыдущие
стадии могут вызываться не только ошибками,
но и по причине того, что предметная область
изменилась, изменились требования заказчика,
или изменились представления разработчиков.
Возвращение проекта на доработку не снимает
проблемы того, что предметная область
может снова измениться к тому моменту,
когда будет готова следующая версия проекта.
Фактически это означает, что процесс разработки
«зациклился», не доходя до стадии эксплуатации.
Расходы на проект непрерывно растут, а
появление готового продукта постоянно
откладывается.
Наконец, с ростом сложности
проекта увеличивается негативный вклад
каждой из перечисленных ранее проблем,
таких как, информационная перенасыщенность,
трудности администрирования, хроническая
аритмия, психологический климат и пр.
Как результат, преодоление суммы этих
возросших проблем может оказаться столь
трудным делом, что окажется неосуществимым.
Всё это в совокупности позволяет
утверждать, что сложные проекты, разрабатываемые
по методике waterfall, имеют повышенный
уровень риска. Этот вывод подтверждается
практикой: незавершённых проектов, к сожалению,
существенно больше, нежели завершённых
успешно. В свою очередь, повышенный риск
и нарушение графиков разработки создают
основу для ухудшения отношений между заказчиками
и разработчиками.
|