Каскадная модель и Agile: чем различаются методологии управления проектами

Какое управление проектами вам больше подходит? Это зависит от проекта.

Начните работу с бесплатным шаблоном диаграммы Ганта

Нужно повысить эффективность проекта? Используйте этот шаблон для визуального планирования, создания расписаний, а также управления сроками, задачами и ресурсами, чтобы оптимизировать совместную работу.

Основные моменты

  • Agile в отличие от каскадной модели представляет собой итеративное, гибкое управление проектами, а не линейное, последовательное выполнение задач.

  • Agile обеспечивает быструю обратную связь, адаптивность и непрерывную поставку, в то время как каскадная модель характеризуется предварительным планированием и строгим определением этапов.

  • Выбор подходящего подхода зависит от сложности проекта, вовлеченности заинтересованных сторон и опыта команды.

  • Оцените потребности своего проекта и рассмотрите возможность внедрения agile-практик для повышения гибкости процессов и удовлетворенности клиентов.

Среди первых, кто освоил принципы agile-разработки, были в основном небольшие изолированные команды, работающие над отдельными небольшими проектами. Они доказали жизнеспособность модели Agile на радость и во благо создателям программного обеспечения из разных стран мира.

Для большинства команд каскадная модель разработки ПО оказалась менее эффективной, чем управление проектами по методике Agile.

Популярность Agile для управления проектами привела к тому, что многие организации стали расширять область применения этой методики, перенося ее с отдельных команд и проектов на целые программы. Методика agile распространилась за пределы команд разработки ПО и теперь используется в командах ИТ, маркетинга, коммерческого развития и других.

Что такое управление проектами по методике Agile?

Управление проектами по методике Agile — это итеративный подход к выполнению проектов, ключевую роль в котором играют непрерывные релизы и обратная связь от клиентов. А возможность внесения корректировок на каждой итерации повышает скорость и адаптивность процесса.

Такой метод отличается от линейного подхода к управлению проектами с использованием каскадной модели, при котором команда придерживается заданного пути с минимальными отклонениями.

Если требуется быстрое реагирование и внесение изменений, методика Agile дает необходимую гибкость для корректировки и выполнения итераций в процессе разработки. Эта методология управления проектами также является краеугольным камнем практик DevOps.

Здесь команды по разработке и эксплуатации работают совместно.

Преимущества управления проектами по методике agile

Методология Agile предлагает командам динамичный и гибкий подход к управлению проектами. Вот некоторые из ключевых преимуществ использования Agile в вашем рабочем процессе:

  • Более быстрые циклы обратной связи.

  • Выявление проблем на ранней стадии.

  • Больше возможностей повысить удовлетворенность клиентов.

  • Значительное ускорение выхода на рынок.

  • Повышение прозрачности и подотчетности.

  • Повышение производительности выделенных команд с течением времени.

  • Гибкая расстановка приоритетов, ориентированная на поставку ценности.

Недостатки методики agile

Как и в случае с большинством методологий управления проектами, команды будут сталкиваться с различными трудностями в зависимости от используемой структуры. Вот некоторые из распространенных недостатков методологии Agile:

  • Критический путь и зависимости между проектами могут быть определены не так четко, как в каскадной модели.

  • Организации требуется время на освоение.

  • Полноценное внедрение методики agile с конвейером непрерывного развертывания требует затрат и определения множества технических зависимостей.

Что такое каскадная модель управления проектами?

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

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

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

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

Пример релиза в каскадной модели | Atlassian — тренер по agile

В стандартном проекте с каскадной моделью разработки есть жестко разделенные блоки времени. Такая модель формирует настрой в духе «сейчас или никогда», побуждающий разработчиков, владельцев продукта и заинтересованные стороны запрашивать от коллег как можно больше времени в каждый временной интервал. Это объясняется тем, что в будущем может не быть возможности вернуться к предыдущим итерациям.

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

  • Управление блокерами и зависимостями. Управление проектом в традиционном стиле часто строится по принципу «критического пути». Его суть в том, что работу над проектом нельзя продолжать, пока не будет устранена проблема-блокер.

  • Сложность проверки пригодности продукта и сбора обратной связи от пользователей. Конечный пользователь сможет «потрогать» продукт, только когда работа над ним будет полностью завершена, поэтому все серьезные проблемы в исполнении продукта и коде становятся явными только после релиза.

Преимущества каскадной модели

Agile-подход позволяет командам уверенно встречать изменения, которые неизбежно возникают во время работы над проектом. Вот некоторые распространенные преимущества каскадной модели:

  • Требует меньшей координации благодаря последовательным процессам с четко определенными этапами.

  • Понятные этапы проекта позволяют четко определить зависимости между работами.

  • Стоимость проекта можно оценить после определения требований.

  • Больше внимания уделяется документированию проекта и требований.

  • Этап проектирования, предшествующий написанию любого ПО, выполняется более методично и лучше структурирован.

Недостатки каскадной модели

Каскадная методология не является универсальным подходом к управлению проектами. При использовании этого фреймворка возникают определенные сложности, в том числе следующие:

  • Сложнее разбить работу на части и организовать совместную работу, поскольку из-за более строгой последовательности этапов команды узко специализированы.

  • Риск потери времени из-за задержек и препятствий при переходе на следующий этап.

  • Дополнительные требования к набору участников специализированных команд для разных этапов проекта, в отличие от методики agile, которая способствует формированию более многофункциональных команд.

  • Дополнительные накладные расходы на коммуникацию во время передачи работы на следующий этап.

  • Владение продуктом и вовлеченность могут быть не такими сильными, как при использовании методики agile, поскольку основное внимание уделяется текущему этапу.

Итеративное управление проектами по методике Agile

Первыми методику Agile внедрили команды разработчиков ПО, перешедшие от традиционного последовательного (каскадного) подхода к такому методу, который предполагал непрерывное получение обратной связи и корректировку процесса на протяжении всего жизненного цикла разработки.

Управление проектами по методике agile опирается на итеративный подход к разработке: процесс разбивается на множество небольших шагов с регулярными циклами обратной связи. Это способствует гибкости, так как команда может адаптироваться к ситуации на протяжении всего процесса разработки продукта, не ограничиваясь линейной траекторией.

Кроме того, появляется возможность регулярно выпускать высокоэффективные релизы, то есть постепенно поставлять клиенту новые полезные возможности в ходе работы над проектом. Итеративный подход к выпуску релизов открывает множество возможностей для команды.

  • Адаптация к изменениям при обнаружении новых требований к заблокированным задачам.

  • Сбор обратной связи от заинтересованных сторон в ходе процесса и оперативные корректировки продукта, что позволяет спокойно подготовиться к финальному сроку поставки.

  • Выстраивание взаимоотношений и связей между должностями, чтобы обеспечить удобное и эффективное взаимодействие.

Пример управления проектом по методике agile | Atlassian — тренер по agile

Более значимое преимущество заключается в том, что участники команды разработчиков обладают общим набором навыков. Как следствие, работа становится более открытой к изменениям во всех частях базы кода команды. Так усилия и время не окажутся потраченными впустую, если изменится направление проекта.

Хотите узнать, как создаются отличные команды? Прочтите наше руководство по созданию agile-команд и усовершенствуйте свои процессы.

PMP — Agile или каскадная модель?

Сертификация PMP (Project Management Professional — профессионал в управлении проектами) исторически ассоциируется с каскадными методологиями, но на сегодняшний день она также включает в себя понятия из области методологий управления проектами Agile. Считается, что сертифицированные по PMP специалисты должны разбираться как в прогностическом (каскадном), так и в адаптивном (Agile) подходах к управлению проектами.

Например, последний экзамен PMP охватывает методологии Agile, гибридные модели и умение выбирать правильную методологию в зависимости от проекта. Эти изменения отражают растущее значение Agile в современной проектной среде.

Jira — это Agile или каскадная модель?

Jira — это гибкий инструмент управления проектами, поддерживающий обе методики, что позволяет командам выбирать подход, наиболее соответствующий их потребностям. В Jira есть различные функции и для Scrum, и для Kanban, и для организации рабочих процессов, и даже для классического варианта отслеживания работы.

Доска Scrum.

Приложение Jira можно настроить для управления спринтами, бэклогами и пользовательскими историями в проектах Agile или для работы с диаграммами Ганта и контрольными точками в рамках каскадной модели. Такая универсальность делает приложение Jira популярным среди организаций с разнообразными требованиями к управлению проектами.

Каковы принципы Agile?

Методология Agile основана на ключевых принципах, которые определяют подход команд к управлению проектами и их разработке, а также подчеркивают важность адаптивности, совместной работы и постоянного совершенствования, чтобы проекты, выполняемые согласно этим принципам, приносили реальную ценность.

Вот некоторые из ключевых принципов Agile в действии:

  • Agile-проект делится на множество небольших шагов с регулярными циклами обратной связи.

  • Требования к проекту разделяются на мелкие части, которым затем присваивается определенный приоритет.

  • Подход способствует совместной работе (особенно с клиентом). 

  • Процесс регулярно корректируется для удовлетворения потребностей клиента.

  • Интеграция исполнения и планирования позволяет команде эффективно реагировать на изменение требований.  

Факторы, которые необходимо учитывать при переходе на модель Agile

Переход к модели Agile может вызвать трудности, особенно если команда или организация изначально опирались на более традиционный подход к управлению проектами. Может потребоваться внести ряд изменений в процессы, особенно при внедрении подхода DevOps.

Почему?

DevOps — это подход, при котором команды разработки и эксплуатации тесно сотрудничают для создания и поддержки программного обеспечения. При внедрении принципов Agile команда и заинтересованные стороны должны усвоить две важные идеи:

  1. Владелец продукта стремится оптимизировать ценность, поставляемую командой. Команда ждет, что владелец продукта поместит наиболее важную работу в начало бэклога.

  2. Команда разработчиков может принимать работу, только если у нее есть необходимые ресурсы. Владелец продукта не принуждает команду к работе и не ставит жестких сроков. Команда разработчиков принимает работу из бэклога программы по мере возможности.

Давайте посмотрим, за счет каких механизмов в agile-программах работа упорядочивается, движется и структурируется в виде итераций.

Дорожные карты

Снимок экрана: дорожная карта в Jira

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

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

Дорожная карта должна учитывать как текущие условия, которые влияют на проект, так и долгосрочные цели, чтобы команда могла эффективно работать с заинтересованными сторонами и реагировать на конкурентную среду. 

Ниже приведена простая дорожная карта для команды по продукту. Надписями в прямоугольниках представлены инициативы, а контрольные красными отметками обозначены точки на временной шкале.

Дорожная карта в agile | Atlassian — тренер по agile

Требования

Каждая инициатива на дорожной карте подразделяется на ряд требований. В методике Agile требования представляют собой упрощенные описания необходимых функциональных возможностей (никаких документов на 100 страниц, характерных для традиционных проектов).

Со временем требования развиваются, впитывая коллективные знания команды о клиенте и требуемом продукте. Agile-требования остаются лаконичными, пока в команде идет постоянный обмен информацией и взаимодействие для выработки общего понимания.

Требования начинают обрастать более точными деталями лишь незадолго до реализации.

Бэклог

Темный режим представления задачи в бэклоге Jira для Agile

В бэклоге расставляются приоритеты для Agile-программы. Команда выносит в бэклог все рабочие задачи: новые возможности, баги, улучшения, задания технического и архитектурного уровня и т. д.

Важность составляющих бэклога для команды разработчиков определяет владелец продукта. Затем команда использует этот бэклог с расставленными приоритетами в качестве единого достоверного источника информации о поставленных задачах.

Команды используют такие инструменты, как Jira Product Discovery, чтобы управлять успешными релизами, организовывать и реализовывать их с помощью подробных представлений бэклога продукта. С шаблоном бэклога продукта команды получают прозрачное представление о приоритетах программы.

Метрики agile

Команды Agile добиваются успеха благодаря метрикам. Чтобы команды или компании могли сосредоточиться на выполнении самых приоритетных задач, существуют лимиты незавершенной работы.

Кроме того, на основании диаграмм Burndown и контрольных графиков команды могут прогнозировать сроки поставки, а с помощью диаграмм непрерывного процесса — выявлять узкие места. Эти показатели и артефакты поддерживают общую сосредоточенность на больших целях и формируют уверенность в том, что команды способны выполнить намеченную работу.

Agile строится на доверии

Agile-процессы не будут работать, если между участниками команды нет полного доверия. Чтобы обсуждать решения по программе и продукту, нужны честность и открытость.

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

Какие инструменты поддерживают рабочие процессы в Agile, каскадных моделях и гибридных проектах?

Jira и Confluence поддерживают рабочие процессы, применяемые в Agile, каскадных моделях и гибридных проектах, благодаря настраиваемым доскам, шаблонам и инструментам отчетности.

Jira позволяет командам переключаться между Scrum, Kanban и традиционными планами проектов. Это может быть оптимальным решением для отслеживания проектов, оптимизации совместной работы и управления задачами в разных командах.

Снимок экрана Confluence

Confluence предоставляет общее рабочее пространство для выработки идей, планирования, документирования и обмена знаниями. Например, гибридные команды могут использовать этот инструмент для планирования кампаний.

Эти инструменты помогают организациям приспосабливаться к меняющимся потребностям проекта и дают командам возможность эффективно управлять задачами независимо от выбранной методологии.

Выбор между Agile и каскадной методологией зависит от команды

Управление проектами по методике Agile — это инновационный подход, который применим не только к проектам разработки ПО, но и к любым другим.

Благодаря гибкому реагированию на изменения в течение жизненного цикла разработки, методика Agile позволяет командам поставлять продукты высокого качества, отвечающие потребностям клиентов.

Методика Agile расширяет возможности команд, способствует их саморегулированию, внедрению инноваций и постоянному совершенствованию. Этот подход дает возможность реагировать на изменения, не сходя с намеченного пути.

Кроме того, он отлично подходит для любой программы.

Рекомендовано для вас

Готовые шаблоны Jira

Ознакомьтесь с нашей библиотекой настраиваемых шаблонов Jira для различных команд, отделов и рабочих процессов.

Подробное знакомство с Jira

Воспользуйтесь этим пошаговым руководством, чтобы узнать об основных функциях и передовых методах для повышения производительности.

Понимание основ Git

От новичка до опытного эксперта: используйте это руководство по Git, чтобы изучить основы с помощью обучающих материалов и полезных советов.