До появления гибких моделей Agile и Scrum разработка продуктов проводилась строго по плану. Самой популярной негибкой методологией является Waterfall или каскадная модель управления. Прочитав эту статью, вы узнаете, как работает методика, в каких сферах она применяется, и какие у нее преимущества и недостатки.
Принцип каскадной модели управления
Модель разработки Waterfall предполагает последовательное выполнение задач. Во время работы над проектом команда не отклоняется от поставленных целей.
Базовые правила негибкой методологии:
- Важно составлять инструкции и документы, информацию нужно фиксировать.
- В жизненном цикле проекта нет итераций, есть линейный процесс разработки.
- Следующая стадия не начинается до окончания предыдущей.
- Нельзя пропускать стандартные стадии подготовки проекта.
- Нельзя возвращаться на предыдущую стадию, чтобы внести изменения.
- Если требования изменились, нужно переписать техническое задание и начать заново.
- Выявлять проблемы и исправлять код можно только при тестировании программы.
- Заказчик не общается с разработчиками. Роль клиента ограничена подготовкой требований и оценкой готовой программы.
Отличия от других методологий
Каскадная модель создания программного обеспечения является негибкой. В процесс невозможно вносить изменения, каким будет результат, известно заранее. Команда должна строго следовать инструкции и выполнять утвержденное задание.
В гибких методологиях Agile и Scrum приоритетом является качество готового продукта и хорошие отношения между исполнителями. Клиент является полноправным участником процесса создания программы. Бюрократия сведена к минимуму, нет подробных инструкций. Часто результат сильно отличается от первого утвержденного прототипа.
Scrum позволяет возвращаться на предыдущие стадии и вносить изменения в код. Задачи проекта можно выполнять не последовательно. Проверка проводится после написания части кода. Клиент быстро получает прототип с минимальным набором функций. Он видит промежуточные стадии и предлагает вносить изменения в работу.
Этапы управления проектами
Модель разработки Waterfall включает 5 этапов. Прохождение каждой стадии должно завершиться до начала следующей. Как выглядит цикл создания проекта:
- Аналитика.
- Проектирование.
- Программирование.
- Проведение тестов.
- Передача в эксплуатацию.
Графическое изображение стадий похоже на водопад, за что система и получила название.
Работа над проектом начинается со сбора аналитики. Заказчик формулирует требования к новому продукту. Команда составляет документацию, рассчитывает бюджет и сроки выполнения задания, оценивает вероятные риски. Планирование заканчивается подготовкой инструкций, где прописаны характеристика программы и стратегия действий. В инструкциях не должно быть противоречий.
Этап проектирования заключается в создании прототипа программы и подготовке дизайн-макета. На этапе реализации начинается написание кода. Программисты пишут код на основании макета и утвержденных требований.
Когда написание программного кода будет полностью завершено, тестировщики проверяют работу и исправляют ошибки. После внесения правок в код продукт передается клиенту. Начинается этап развертывания и поддержки. Специалисты помогают внедрить программу на практике и отвечают на вопросы пользователей.
Плюсы и минусы
Каскадная методология считается устаревшей. Но ее продолжают использовать, потому что у этой стратегии много достоинств:
- На стадии планирования доступно гибкое принятие решений.
- Стоимость и время создания программы известны заранее.
- Работа исполнителей является абсолютно прозрачной.
- Наличие инструкции дисциплинирует исполнителей.
- Любого специалиста можно быстро заменить.
- Новые исполнители легко включаются в работу.
У негибкой стратегии есть минусы:
- Подготовка и согласование инструкций занимает много времени.
- Готовые инструкции нельзя корректировать при изменении условий.
- Отсутствие возможности вернуться на предыдущий этап.
- О недочетах становится известно ближе к концу срока сдачи.
- Написанный код сложно исправлять, доработки занимают много времени.
Некоторые исполнители применяют комбинированные стратегии. Например, в модель разработки можно добавить проведение тестов после завершения каждой стадии.
Особенности применения
Waterfall подходит для ситуаций, где заказчик хорошо представляет готовый продукт, и концепция не будет меняться. Клиент не планирует тратить время на участие в проекте и готов отдать его на аутсорс. Стратегия применяется, когда клиент желает заранее знать бюджет и время реализации проекта.
Метод водопада подходит для программ с четким описанием функций и ограниченным бюджетом на разработку. Стратегию выбирают клиенты и исполнители, которые ценят последовательность и порядок больше творческого подхода и импровизации.
Водопадная методология управления проектами не предполагает гибкости. Создание продукта ведется по установленной схеме. Исполнители не возвращаются не предыдущие этапы проекта. Система подходит для проектов, где характеристики программы известны, и условия не меняются. Чтобы повысить эффективность и расширить сферу применения методики, возможно сочетать ее с элементами гибких подходов Agile и Scrum.