Олег Лялик

Методы разработки проектов: Waterfall, Rational Unified Process(RUP), Iterative & Incremental, Agile, DSDM.

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

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

В статье будут описаны Waterfall, Rational Unified Process(RUP), Iterative & Incremental, Agile, DSDM.

Водопадный (Waterfall) метод.

Водопадный метод был разработан в 1970-х годах. Метод представляет из себя следующие друг за другом этапы разработки проекта.

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

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

В то же время существует ряд противопоказаний для использования этого метода.

Например, в ряде проектов требования к продукту сложно собрать в самом начале проекта. Также требования к продукту могут поменяться со временем. В случае водопадного метода это приведет к дополнительному анализу и усилиям.

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

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

На эту тему есть хорошая картинка

 

Rational Unified Process(RUP) и Итеративный и инкрементальный (Iterative & Incremental) метод.

В 1980 – 1990 годах в ответ на большое количество провалов проектов, которые запускали по методу Водопада и увеличивающемуся давлению на рынок был разработан Итеративный и инкрементальный подход. В его основе лежит метод RUP.

RUP – это итерационный метод разработки программного обеспечения созданный компанией Rational Software.

Основные принципы RUP.

  • Итерационная разработка.
  • Ранняя идентификация рисков.
  • Внимание на требования заказчика к проекту.
  • Готовность к изменениям требований.
  • Архитектура, которая реализуется и тестируется на ранних стадиях проекта.
  • Работа над качеством на всех этапах проекта.
  • Сплоченная команда.

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

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

Agile

Agile был разработан в конце 1990 годов, как ответ на проблемы, возникшие с RUP подходом.  В 2001 году был создан Agile-манифест, который был набором принципов и практик, которые заложили фундамент Agile-подхода. Наиболее известные  Agile-подходы – это Скрам и Канбан. Популярность метод приобрёл в последние 10 лет.

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

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

Пример процесса разработки по Скрам подходу.

У Agile подхода также есть свои минусы.

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

 

DSDM (Dynamic Systems Development Method)

DSDM был создан в 1994 году. В 2007 и 2014 года были серьёзные доработки метода и метод был переименован в DSDM Agile Project Framework. Суть метода сводится в комбинировании различных подходов запуска проектов для получения наилучших результатов.

DSDM включает в себя практики из водопадного метода и agile.

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

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

Метод не так известен, как Аgile. Но в то же время также активно используется.

  • Ваша форма была сохранена.