Методология водопада против Agile
Сегодня в индустрии программного обеспечения используется ряд различных методологий разработки программного обеспечения. Метод разработки «водопад» - один из самых ранних методов разработки программного обеспечения. Методология разработки программного обеспечения Waterfall - это последовательная модель, в которой каждая фаза завершается полностью и выполняется в фиксированном порядке. Гибкая модель - это более поздняя модель разработки программного обеспечения, введенная для устранения недостатков, обнаруженных в существующих моделях. Основное внимание Agile уделяется как можно более раннему включению тестирования и очень раннему выпуску рабочей версии продукта, разбивая систему на очень маленькие и управляемые части.
Что такое методология водопада?
Методология водопада - одна из самых ранних моделей разработки программного обеспечения. Как следует из названия, это последовательный процесс, в котором прогресс проходит через несколько этапов сверху вниз, аналогично водопаду. Этапы модели Waterfall - это анализ требований, проектирование, разработка, тестирование и внедрение. Здесь каждый этап полностью завершен перед переходом к следующему этапу. Эта модель была прямым результатом простой адаптации метода разработки, ориентированного на оборудование (применяемого в обрабатывающей промышленности и строительстве), в то время как формальная модель разработки программного обеспечения отсутствовала.
Что такое Agile?
Agile - это новейшая методология разработки программного обеспечения, основанная на манифесте Agile. Это было разработано для устранения некоторых недостатков традиционных методологий разработки программного обеспечения. Agile-методы основаны на уделении первоочередного внимания участию клиентов на ранних этапах цикла разработки. Он рекомендует включать тестирование заказчиком как можно раньше и как можно чаще. Тестирование проводится на каждом этапе, когда становится доступной стабильная версия. Основа Agile основана на том, что тестирование начинается с начала проекта и продолжается до конца проекта.
Ключевая ценность Agile - «качество - это ответственность команды», которая подчеркивает, что за качество программного обеспечения отвечает вся команда (а не только команда тестирования). Еще один важный аспект Agile - разбиение программного обеспечения на более мелкие управляемые части и очень быстрая их доставка заказчику. Предоставление работающего продукта имеет первостепенное значение. Затем команда продолжает улучшать программное обеспечение и непрерывно выполнять каждый важный шаг. Это достигается за счет очень коротких циклов выпуска, называемых спринтами, и получения обратной связи для улучшения в конце каждого цикла. Участники, не слишком активно взаимодействующие с командой, например разработчики и тестировщики в более ранних методах, теперь работают вместе в рамках модели Agile.
В чем разница между методологией водопада и Agile?
По сравнению с методологией Waterfall, Agile-модель предоставляет рабочую версию продукта очень рано. По мере того, как добавляется больше функций, заказчик может реализовать некоторые преимущества на ранней стадии. Время цикла тестирования Agile относительно короткое по сравнению с методологией Waterfall, поскольку тестирование выполняется параллельно с разработкой. Модель водопада очень жесткая и относительно менее гибкая, чем модель Agile. Из-за всех этих преимуществ Agile в настоящее время предпочтительнее методологии Waterfall.