Автоматизация бизнеса Agile или Waterfall метод

Блог

Блог Автоматизация бизнеса Agile или Waterfall метод

Комментариев (0) /

Автор:

Waterfall-Vs-Agile

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

Теперь очередь за выбором исполнителя. Но наряду с исполнителем вам нужно будет принять еще одно важное решение – выбор подходящего для вашего проекта способа разработки. Универсального процесса разработки ПО не существует, поэтому вопрос выбора возникает почти у каждого заказчика. Чем руководствоваться принимая решение? Какой подход выбрать? И стоит ли безоговорочно соглашаться с предложенным исполнителем вариантом? Постараемся разобраться.

Сравнение методологий веб разработки: Agile и Waterfall

Начнем с классического способа разработки проектов – Waterfall. Это, так называемая, каскадная модель, подразумевающая последовательную разработку по стадиям. Основная идея и принцип – работы по следующей стадии не могут быть начаты, пока не завершена предыдущая.

В каскадной модели выделяют следующие стадии:

  1. Анализ требований;
  2. Планирование;
  3. Проектирование;
  4. Реализация;
  5. Тестирование;
  6. Релиз;
  7. Поддержка.

Waterfall – модель жесткая. Разработка по ней проходит спокойно и методично, так как сроки и стоимость, а самое главное набор требований, определены заранее.

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

Однако, в некоторых случаях плюсы такого проекта легко перевешивают минусы.

Если

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

В таком случае Waterfall то, что вам нужно.

Плюсы модели:

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

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

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

Гибкие методологии разработки строятся на основе выполнения проекта за серию коротких циклов. Длина одного цикла выбирается в зависимости от проекта и может быть равной от двух недель до двух месяцев. Каждый цикл – это маленький проект со своими стадиями планирования, проектирования, программирования, тестирования и релиза. Что полностью соответствует одному из основополагающих принципов Agile-манифеста, который гласит: «Работающий продукт – основной показатель прогресса».

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

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

Плюсы гибкой разработки:

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

Таким образом, подведем итог:

Выбираем Waterfall, если Выбираем Agile, если
Требования к проекту известны на его начальном этапе, тщательно продуманы и неизменны Нет окончательного перечня требований
Для вас особенно важно качество продукта Вы хотите быстро получить работающее ПО
Вы не хотите принимать участие в разработке Вы готовы полностью погрузиться в разработку (буквально сидеть рядом с программистами)
Вам важно заранее знать стоимость проекта и сроки его выполнения Вы хотите иметь возможность вносить изменения в требования на протяжении всего проекта
Вы хотите, чтобы исполнитель нес финансовую ответственность за срыв сроков и бюджета Для вас важно вносить изменения в работающее ПО максимально оперативно

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

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

семнадцать + пятнадцать =