Письмо 05 - Waterfall

Проектирование сложного программного обеспечения давно привлекает к себе пристальное внимание исследователей. Метод нисходящего проектирования и его подвиды практически исчерпали свои возможности. Суть данного метода состояла в поэтапном разделении работ и последовательном выполнении этапов:

  • изучение и обследование (анализ) предметной области, проектирование,
  • разработка программного обеспечения, тестирование,
  • опытная эксплуатация,
  • завершение работ по проекту и передача в эксплуатацию,
  • сопровождение.

Каждая следующая стадия работ начиналась после полного или частичного завершения предыдущей стадии. Такой подход к проектированию имеет существенные недостатки, которые либо делают его полностью неприменимым, либо приводит к увеличению сроков разработки и стоимости проекта. Эти обстоятельства объясняются следующими причинами:

  • невозможность полного формального описания предметной области, в силу сложности и/или изменчивости самой предметной области;
  • недоработки на любом из этапов выясняются, как правило, на последующих этапах работ, что приводит к возврату работ на предыдущие стадии;
  • сложность распараллеливания работ по проекту; чрезмерная информационная перенасыщенность каждого из этапов;
  • трудности в управлении проектом;
  • высокий уровень риска и ненадёжность инвестиций.

Наверное, это не полный перечень, но, тем не менее, он охватывает наиболее важные недостатки метода нисходящего проектирования. Рассмотрим эти недостатки более детально.

Сайт Alexus Software Development