Что такое Waterfall-модель в разработке ПО?

«Что такое Waterfall-модель в разработке ПО?» — вопрос из категории Методологии разработки, который задают на 26% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Waterfall (водопадная модель) — это линейно-последовательная методология разработки программного обеспечения, где процесс разделен на строгие, заранее определенные этапы. Каждый этап должен быть полностью завершен и задокументирован до перехода к следующему, возврат на предыдущие стадии крайне затруднен.

Ключевые этапы:

  1. Сбор и анализ требований — создание фиксированного технического задания (ТЗ).
  2. Проектирование системы — разработка архитектуры и дизайна.
  3. Реализация (кодирование) — написание кода согласно проекту.
  4. Тестирование (верификация) — проверка готового продукта на соответствие ТЗ.
  5. Внедрение и поддержка — развертывание и последующее обслуживание.

Преимущества:

  • Четкость и предсказуемость: Легко планировать сроки, бюджет и ресурсы.
  • Хорошая документация: Каждый этап имеет формализованный результат.
  • Простота управления: Подходит для команд с низким уровнем экспертизы.

Недостатки:

  • Негибкость: Изменение требований в процессе разработки крайне затратно или невозможно.
  • Позднее тестирование: Критические ошибки обнаруживаются только на финальных стадиях.
  • Риск устаревания: Долгий цикл разработки может привести к неактуальности продукта на момент выпуска.

Когда использовать? Waterfall подходит для проектов с четкими, неизменными и полностью понятными требованиями, например, для государственных заказов, систем безопасности или встроенного ПО, где стандарты строго регламентированы.