Методология Разработки Waterfall: Как Устроена И Чем Отличается От Agile
До того как появилась Agile, было принято использовать только методологию Waterfall, поэтому она считается классической. Позже выяснилось, что гибкость и мобильность процесса разработки, которые предполагает Agile, не менее важны, чем тщательная подготовка, как в Waterfall. » — и есть методология разработки, то есть система планирования производственного процесса. Есть пять универсальных методологий, которые могут применяться в любом бизнесе. Как и многие другие методы управления, Waterfall имеет свои особенности, плюсы и минусы.
Методология Waterfall — это классический подход к управлению проектами, который предполагает последовательную работу над проектом. Он состоит из строго определенных этапов, где каждый этап начинается только после успешного завершения предыдущего. Этапы включают определение требований, проектирование, реализацию, тестирование и внедрение. Каждый этап имеет четко определенные цели и результаты, а процесс перехода между этапами строго контролируется. На сегодняшний день водопадная модель разработки ПО практически не используется из-за малой гибкости модели.
- В последние годы модель водопада уступает свои лидирующие позиции более гибким методологиям.
- Все участники следуют формальным правилам и не могут их менять во время работы.
- Поэтому, даже если в ТЗ будут пробелы, сотрудники выполнят работу так, чтобы был результат для заказчика.
- Это связано с общей динамикой в IT, когда за разработку ПО отвечают команды из 5-9 человек, а дедлайн может быть легко сдвинут из-за наращивания функциональности.
- Её и сейчас активно используют для управления разнообразными проектами различной степени сложности.
Поэтому в процессе работы оформляется только самая необходимая документация, без бюрократических формальностей. На этом этапе создается модель или прототип будущего продукта и его дизайн-макет. Также команда разрабатывает техническое решение проблем, изложенных в требованиях к продукту. После этого этапа можно приступать к преобразованию макета в новый продукт.
Этапы
Это значительно ускоряет выполнение проекта, но и увеличивает бюджет. Например, при строительстве дома не получится переделать фундамент, если в нем нашли проблемы на стадии возведения стен и крыши. Поэтому этот подход сравнивают с каскадом и иногда называют водопадной моделью или waterfall-методологией. На этом этапе необходимо создать проектные спецификации, чтобы описать, как именно будут реализованы бизнес—потребности, описанные в документе требований, с технической точки зрения. Этот процесс проектирования охватывает технические требования к дизайну, такие как язык программирования, уровни данных, сервисы и т.
Ведь классический Waterfall – это базовая систематизированная и последовательная модель жизненного цикла создания ПО. Можно сказать, что каскадная модель соответствует пословице «Семь раз отмерь, один раз отрежь». Иными словами, ее успех во многом зависит от предварительного этапа подготовки, например, четкого составления ТЗ, формирования бюджета и т.д. Поэтому такой метод наиболее целесообразно применять для проектов, в которых эксперименты опасны и требуется высокая степень предсказуемости. Она предполагает, что все стадии проекта должны быть выполнены последовательно.
Преимущества И Недостатки Каскадной Методологии
На курсе «Управление проектами» преподаватели Skillbox разбирают инструменты управления на реальных кейсах, чтобы студенты легко и безошибочно применяли их в работе. Такие жёсткие ограничения последовательности позволяет построить процесс разработки, который максимально прозрачен и удобен для Заказчика. Здесь всё ещё не принимаются конкретные решения по реализации, но уже описывается функционирование всех разделов приложения. На выходе разработчики уже представляют, сколько по времени и кадровому составу может занять проект. Проект начинается с плана, в котором пытаются учесть все возможные события.
Теперь пришло время поговорить о её противоположности — каскадной методологии, которую также называют «водопадной моделью» или просто Waterfall. Последовательность процессов, соблюдение сроков, выполнение задач в каскадной модели лучше всего отображает диаграмма Ганта (a Gantt Chart) или горизонтальная гистограмма. По горизонтали — задачи, по вертикали — время, затраченное на их выполнение. На диаграмме можно проследить, какие задачи входят в проект и кто за них отвечает, а также продолжительность каждого этапа.
Еще один базовый принцип Agile — подрядчик выдает реальный результат как можно скорее. Пусть сначала это будет тестовая версия или только часть проекта, главное, что она будет работать. На примере первой версии можно разобрать с заказчиком ошибки и недочеты и учесть их при доработке остального проекта. Например, если надо создать медицинский прибор или систему экстренного торможения электропоезда. В таких работах цена ошибки — это человеческие жизни, поэтому надо проверить и перепроверить каждый шаг.
Поэтому, даже если в ТЗ будут пробелы, сотрудники выполнят работу так, чтобы был результат для заказчика. Когда подрядчик и заказчик работают в одной команде, над единой целью, с одинаковыми ценностями, это приносит максимальный результат». Все планы, требования и задачи проекта описывают в методологии разработки Waterfall документах. Все участники следуют формальным правилам и не могут их менять во время работы. Так как нельзя вернуться к предыдущему этапу, требования к проекту после утверждения не меняются. В реальной жизни каскадную модель почти не применяют в чистом виде именно из-за отсутствия гибкости.
А в Waterfall все изначально продуманно и фиксированно, поэтому если все требования заранее известны, а риски сведены к минимуму, то многие минусы методологии уступают ее преимуществам. К третьему этапу нужно приступать только в том случае, если составлен точный план, а также инструкции к разработке. Для получения эффективного результата можно комбинировать различные стратегии. Действенным инструментом снижения рисков может стать и применение специализированного ПО для решения второстепенных задач. Работает и модульный подход — когда работа над конечным продуктом подразделяется на отдельные задачи, к каждой из которых применяется каскадная методология.
Переход от одной фазы к другой возможен только после успешного завершения предыдущего этапа. Каждый этап подразумевает детальное планирование и полную корректность результата этапа. Общая концепция подхода была представлена доктором Уинстоном Ройсом ещё в 1970 году. В его основе лежит логическая последовательность шагов, которые должна быть предприняты на протяжении жизненного цикла разработки ПО.