Если вы давно занимаетесь управлением проектами, то наверняка сталкивались с каскадной методологией. Это метод разработки программного обеспечения из традиционной школы 1970-х годов.
В каскадном процессе каждый этап проекта нужно завершить, прежде чем перейти к следующему. Это довольно жесткий и линейный метод. Он в значительной степени опирается на продумывание требований и нюансов до начала работы.
Не слышали о таком подходе? Не переживайте: мы вместе разберем каскадный метод и посмотрим, как он работает.
Что такое каскадная методология?
Каскадная методология — это хорошо отлаженный рабочий процесс управления проектами. Подобно каскаду, каждый этап процесса последовательно проходит пять стадий (разработка требований, проектирование, внедрение, проверка и обслуживание).
Методология взята из исследования 1970 года по разработке программного обеспечения, проделанного ученым-информатиком Уинстоном Ройсом. Хотя Ройс никогда не называл эту модель «каскадной», именно ему приписывают создание строгой линейной системы управления проектами.
В отличие от других методов, таких как Agile, каскадная модель не обеспечивает гибкости. Прежде чем приступить к следующему этапу, нужно завершить предыдущий. Команда может двигаться вперед, только когда решит все проблемы. Более того, как указано в нашем введении в управление проектами, команда не может заниматься устранением ошибок или технического долга, если уже перешла к следующему этапу проекта.
Каковы этапы каскадной методологии?
Каскадная методология включает пять этапов: разработка требований, проектирование, внедрение, проверка и обслуживание. Давайте разберем этапы разработки по каскадной методологии и поймем, почему так важно завершить каждый этап до перехода к следующему.
Требования
На этапе разработки требований указывается, что должна делать система. Здесь вы определяете объем работ по проекту, начиная с деловых обязательств и заканчивая потребностями пользователей. Это позволяет получить обзор всего проекта с высоты птичьего полета. В требованиях должны быть указаны:
- ресурсы, необходимые для проекта;
- что и на каком этапе будет делать каждый участник команды;
- хронология всего проекта с указанием времени, которое займет каждый этап;
- подробная информация о каждом этапе процесса.
При этом требования «могут варьироваться от очень абстрактных до подробных математических спецификаций», — пишет Стивен Зейл, профессор компьютерных наук в Old Dominion University. Дело в том, что требования могут не определять точную реализацию, и этот вопрос решается на более поздних этапах разработки.
Дизайн
После сбора всех требований пора переходить к этапу проектирования. Здесь дизайнеры разрабатывают решения, отвечающие требованиям. На этом этапе дизайнеры:
- создают расписания и контрольные точки проекта;
- определяют точные результаты;
- создают дизайны и (или) шаблоны для результатов.
Результаты могут включать программное обеспечение или представлять собой физический продукт. Например, разработчики определяют архитектуру системы и варианты использования программного обеспечения. Для физического продукта они определяют его точные технические характеристики для производства.
«Внедрение»
После завершения работы над дизайном и его утверждения наступает время его внедрять. Дизайнеры передают свои спецификации разработчикам для реализации.
Для этого разработчики:
- создают план внедрения;
- собирают любые данные или исследования, необходимые для разработки;
- назначают конкретные задания и распределяют ресурсы в команде.
Здесь может выясниться, что некоторые элементы дизайна нельзя реализовать. Если это серьезная проблема, нужно сделать шаг назад и вновь приступить к проектированию.
Верификация
После того как разработчики преобразовали дизайн в код, наступает время контроля качества. Важно протестировать все варианты использования, чтобы обеспечить полное удобство пользователя. Вы ведь не хотите поставить клиентам продукт c багами?
Отдел контроля качества также:
- пишет сценарии тестирования;
- документирует любые ошибки и баги, которые необходимо исправить;
- тестирует по одному аспекту за раз;
- определяет, какие метрики контроля качества отслеживать;
- охватывает различные сценарии использования и среды.
Техническое обслуживание
После релиза продукта разработчикам, возможно, придется исправлять ошибки. Клиенты сообщают в службу поддержки о любых возникающих проблемах. Команда должна удовлетворить эти запросы и выпустить новые версии продукта.
Как видите, каждый этап зависит от предшествующего. Это не допускает больших ошибок между этапами или внутри них.
Например, если заинтересованная сторона захочет добавить требование на этапе проверки, придется пересмотреть весь проект. Это может означать, что от имеющихся наработок нужно будет отказаться и начать все заново.
Преимущества каскадной методологии
Благодаря своим преимуществам каскадная методология уже много лет используется в проектах, ориентированных на фиксированный результат. Опрос, проведенный в 2020 году, показал, что 56 % специалистов по проектам в течение предыдущего года использовали традиционные, или каскадные, модели.
Среди преимуществ каскадного планирования можно назвать следующие:
- Четкая структура проекта. Благодаря тщательному планированию каскадный метод оставляет мало места для путаницы. У вас есть четкая конечная цель, к которой вы стремитесь.
- Установленные затраты. Тщательное планирование гарантирует, что сроки и стоимость проекта будут известны заранее.
- Упрощенное отслеживание. Оценка прогресса происходит быстрее, поскольку сокращается объем межфункциональной работы. Можно даже управлять всем проектом с помощью диаграммы Ганта, которая есть в Jira.
- Воспроизводимый процесс. В случае успеха проекта можно повторить процесс для другого проекта с аналогичными требованиями.
- Исчерпывающая проектная документация. Каскадная методология дает шаблон и историю проекта, что позволяет составить полное представление о нем.
- Улучшенное управление рисками. Обилие заблаговременного планирования снижает риск. Это позволяет разработчикам выявить проблемы проектирования еще до написания кода.
- Повышенная ответственность и подотчетность. Команды несут ответственность на каждом этапе процесса. Каждый этап имеет четкий набор целей, контрольных точек и графиков.
- Более точное выполнение для неспециалистов. Каскадный метод позволяет менее опытным участникам команды подключиться к процессу.
- Меньше задержек из-за дополнительных требований. Поскольку команда знает все потребности заранее, нет вероятности получить дополнительные запросы от заинтересованных сторон или клиентов.
Ограничения каскадной методологии
Каскадная методология не лишена ограничений, поэтому многие команды по продукту выбирают методологию Agile.
Каскадный метод прекрасно подходит для предсказуемых проектов, но в проектах с большим количеством переменных и неизвестных он не работает. Давайте рассмотрим некоторые другие ограничения каскадного планирования.
- Увеличенные сроки поставки. В отличие от итеративных процессов, таких как Agile или бережливое производство, поставка конечного продукта может занять больше времени, чем обычно, из-за негибкого пошагового процесса.
- Ограниченная гибкость для инноваций. Любая непредвиденная ситуация может обернуться гибелью для проекта с этой моделью. Одна проблема способна отбросить проект на два шага назад.
- Ограниченные возможности обратной связи с клиентами. После завершения этапа требований клиент никак не может повлиять на проект.
- Множество запросов функций. Поскольку клиенты не имеют возможности высказать свое мнение во время выполнения проекта, после запуска может поступать много запросов на изменения, таких как добавление новых функций в существующий код. Это может создавать дополнительные задачи на техническое обслуживание и затягивать сроки запуска.
- Нарушение сроков. Если на одном этапе возникает серьезная проблема, все останавливается. Никакого движения вперед не будет, пока команда не решит проблему, а возможно, даже потребуется вернуться к предыдущему этапу.
Ниже приведена иллюстрация проекта, в котором используется каскадный метод. Как видите, проект разделен на жесткие временные блоки. Такая жесткость способствует формированию среды, в которой разработчики, менеджеры по продуктам и заинтересованные стороны будут запрашивать максимальное количество времени на каждый временной блок, поскольку в будущем может не быть возможности для итераций.
Чем каскадный метод отличается от управления проектами по гибкой методологии Agile?
Управление проектами по гибкой методологии Agile и каскадная методология преследуют одну и ту же конечную цель: максимально четкое выполнение проекта. Если каскадное планирование изолирует команды по этапам, то методология Agile позволяет выполнять межфункциональную работу на нескольких этапах проекта. Команды не скованы жесткими рамками последовательных шагов, а воспроизводят цикл планирования, выполнения и оценки, раз за разом совершая итерации.
В Манифесте Agile объясняются преимущества Agile перед каскадной моделью:
- Люди и взаимодействие важнее процессов и инструментов.
- Работающий продукт важнее исчерпывающей документации.
- Сотрудничество с заказчиком важнее согласования условий контракта.
- Реагирование на изменения путем следования плану.
Если вы ищете инструменты, поддерживающие управление проектами Agile и служащие той же конечной цели, что и каскадный метод, обратите внимание на Jira. Это решение лучше всего подходит для проектов Agile и помогает выполнять следующие задачи.
- Отслеживание работы. Используйте диаграммы Ганта, решение Advanced Roadmaps, хронологию и другие инструменты, чтобы без труда следить за прогрессом на протяжении всего проекта.
- Согласование действий команды. Функции отслеживания позволяют эффективно планировать работу разных бизнес-команд, обеспечивая согласованность на пути к достижению общих целей.
- Управление проектами и рабочими процессами. В составе Jira доступны шаблоны управления проектами, которые можно использовать с рабочими процессами Agile.
- Планирование на каждом этапе. Atlassian в том числе предлагает инструмент Jira Product Discovery, в котором есть дорожные карты для планирования и приоритизации функций продукта на каждом этапе, от исследования до поставки.
Цикл разработки продукта поддерживается инструментами Agile от Atlassian. Отслеживание можно наладить с помощью agile-показателей, а управление agile-процессом осуществляется с помощью Jira. При отслеживании работы, выполняемой внутренними командами, используются формы для приема данных, а для обработки запросов предлагается воспроизводимый процесс.
Эти продукты Jira полноценно интегрируются в приложение, объединяя команды и ускоряя их работу.
Использование методологии Agile для управления проектами
При управлении проектами издавна использовалась каскадная методология, но зачастую она не отвечает требованиям современных разработчиков ПО. Методология Agile дает больше гибкости.
Далее перечислены причины, по которым в большинстве команд выбирают процесс Agile.
- Возможность адаптации к изменениям. При появлении новой задачи вашей команде будет проще изменить планы без подготовки. Жесткость каскадной модели затрудняет преодоление препятствий.
- Непрерывный цикл обратной связи. Для непрерывного улучшения требуется цикл обратной связи. В рамках Agile можно собирать отзывы заинтересованных сторон в процессе разработки и учитывать их при выполнении итераций.
- Эффективная коммуникация. В рамках процесса Agile команды ведут совместную работу. Каскадная модель подразумевает передачу работы от одной команды к другой, что мешает эффективному общению.
Тем, кто работает по принципам методологии Agile, подойдет такой инструмент управления проектами, как Jira. Кроме того, для проектов Agile доступен шаблон управления проектами. Ваша команда может заниматься планированием, вести совместную работу, реализовывать проекты и составлять отчеты по ним в едином инструменте. Такой подход помогает согласовать действия между всеми участниками и упрощает управление проектами.
Каскадная методология: часто задаваемые вопросы
Кому лучше всего подходит каскадная методология?
Каскадная методология оптимальна для руководителей, работающих над проектами со следующими характеристиками.
- Невысокая сложность задач. К проекту не предъявляются слишком сложные требования.
- Предсказуемые результаты. Проект можно воспроизвести и проверить.
- Низкая вероятность расширения области проекта. Клиенты, скорее всего, не предъявят новых проектных требований на последнем этапе.
Кому лучше всего подходит каскадная методология?
Методология Agile идеальна для гибких команд с итеративным подходом, таких как следующие.
- Межфункциональные команды, состоящие из участников с разнообразными навыками, которые могут работать над несколькими аспектами проекта. Члены этих команд гибко ведут совместную работу.
- Самоорганизующиеся команды, которые являются автономными и которым не требуется постоянный руководитель. Они спокойно относятся к неопределенности в проекте и эффективно решают проблемы. Кроме того, благодаря такому подходу участники получают больше контроля над результатами.
- Стартапы и малые предприятия, которые действуют быстро и идут напролом. Они быстро терпят неудачу, извлекают урок и совершенствуются.
Наконец, методология Agile хорошо подходит для проектов, ориентированных на клиентов, где выполнение итераций происходит с их участием.
Какие факторы следует учесть перед внедрением подхода к управлению проектами?
При выборе подходящей методологии управления проектами необходимо учитывать четыре основных фактора: сложность проекта, организационные цели, опыт команды и вовлеченность заинтересованных сторон.
Разберем каждый из них.
- Сложность проекта. Каскадная методология может быть полезной для разделения крупных и комплексных проектов на небольшие наборы ожиданий и целей. Но жесткость этого подхода вызывает сложности в условиях неопределенности или при появлении изменений. Методология Agile лучше подходит для непростых проектов со множеством переменных.
- Организационные цели. Чего хочет достичь ваша организация? К чему она стремится: к инновациям или к сохранению существующего порядка вещей? Подход Agile оптимален, если организация хочет преодолеть разобщенность. С ним команды будут работать более слаженно и автономно.
- Опыт команды. Agile — отличный вариант, если у вас межфункциональная команда, обладающая разнообразными навыками. Если участники в значительной степени полагаются на один конкретный набор навыков, то каскадная методология может подойти лучше.
- Вовлеченность заинтересованных сторон. Если ваши заинтересованные стороны хотят принимать более активное участие, методология Agile подойдет лучше всего, поскольку она обеспечит непрерывную обратную связь и позволит выполнять итерации.