Waterfall или agile реализация - какую модель выбрать?

Waterfall или agile реализация - какую модель выбрать?

Waterfall или agile реализация – какую модель выбрать?

Единственного, универсального метода внедрения IТ-систем, работающего в реалиях каждого проекта и предприятия, не существует. Сейчас доминируют две формы: так называемый водопад и гибкая модель. Модель Waterfall – традиционная модель управления проектами. Это линейный и последовательный подход. Задачи, выполненные на одном этапе, должны быть проанализированы и проверены, прежде чем перейти к следующему этапу. Agile методология, в свою очередь, представляет собой поэтапный подход, основанный на гибком реагировании на изменения.

Какие преимущества и недостатки имеют эти методы? Для каких проектов они работают лучше всего?

Модель Waterfall

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

Одной из самых больших проблем, связанных с каскадной моделью, является тот факт, что получатель системы может проверить результат работы только после завершения отдельного этапа или всего проекта. При отрицательном сценарии это может привести к ситуации, когда клиент на этапе приемных испытаний утверждает, что эффект не соответствует его ожиданиям. Это пустая трата времени и денег, а также значительно повышается риск отмены проекта.
С каскадной моделью связана крупная проектная документация. При его создании часто используются инструкции и передовые практики, содержащиеся в методологии PRINCE2 или инструкциях PMI (Project Management Institute), однако высокий уровень формализации ограничивает гибкость проекта, и уменьшает способность реагировать в случае большого количества или значительного изменения требований.

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

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

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

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

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

Гибкая модель

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

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

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

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

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

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

Waterfall и agile – итог отличий

Идея – agile – это инкрементный и итеративный подход, каскадная модель – это линейный и последовательный подход.

Конструкция – agile разделяет проект на спринты, а каскадный способ на фазы.

Применение – метод agile помогает в реализации многих небольших проектов, модель водопада лучше подходит для завершения одного большого проекта.

Отношения с клиентом – agile акцентирует внимание на тесном сотрудничестве с клиентом, каскадная модель ориентируется на реализацию предположений проекта.

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

Вводимые изменения - agile позволяет изменять требования в любое время, каскадный подход остается в пределах предполагаемого объема.

Тестирование – в модели Agile тестирование проводится на постоянной основе, в каскадной модели оно осуществляется на завершающей фазе проекта.

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

Подробнее