Найти тему
БИТ:ERP

Неудача в Scrum

Оглавление

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

Подписывайтесь на наш телеграмм канал https://t.me/bit_erp там вы найдете актуальные новости, анонсы, опыт и истории от команды БИТ:ERP.

Для начала обратимся к результатам исследований компании Standish Group. Она регулярно публикует CHAOS Report, содержащий данные о том, почему одни проекты преуспевают, а другие терпят неудачу.

CHAOS RESOLUTION BY AGILE VERSUS WATERFALL. Бесплатный общедоступный отчет за период 2011–2015 гг. В открытой литературе есть данные за более поздние периоды, но они только подтверждают тенденции приведенного отчета, поэтому мы ссылаемся на него.
CHAOS RESOLUTION BY AGILE VERSUS WATERFALL. Бесплатный общедоступный отчет за период 2011–2015 гг. В открытой литературе есть данные за более поздние периоды, но они только подтверждают тенденции приведенного отчета, поэтому мы ссылаемся на него.

Интересно, что большие Agile-проекты оказываются в несколько раз успешнее "водопадных". При этом успешность маленьких проектов предсказуемо не имеет такой показательной разницы. Однако мы сейчас обратим внимание на то, что среди 10 000 исследованных проектов, встречаются 9% неудачных Agile-проектов.

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

Склад класса А
Склад класса А

К нам обратилась организация, которой нужно было через три месяца запустить WMS-систему на складе класса А+, который, как и система, должен был появиться через те же три месяца. Общая площадь склада более 11 тыс. кв. м., планируемое количество обрабатываемых заявок до 1 тыс. в сутки, планируемые ежедневные отгрузки более 100 тыс. SKU в сутки.

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

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

Довольно скоро стало понятно, что склад через три месяца не будет готов и полученный гандикап было решено использовать для наращивания функциональности. В штате Заказчика был очень сильный эксперт по организации складов, который описал сценарии работы будущего склада (более 700 страниц текста). Новый MVP должен был им соответствовать. Для того, чтобы убедиться в работоспособности MVP, в отдельном кабинете подготовили стенд с подключенным оборудованием (так называемое «кабинетное тестирование»). А для автоматического тестирования 700+ страниц сценариев перевели на Gherkin.

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

  • "Заморозить" MVP 1-й очереди сценариев. Т.е., до запуска на реальном складе, не наращивать функциональность до 2-й очереди сценариев.
  • Запуститься на реальном складе.
  • По результатам запуска скорректировать 2-ю очередь сценариев, определить приоритеты и осуществить последовательный запуск инкрементов по результатам спринтов.

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

Факторы неудачи

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

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

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

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

Чему мы научились на этой неудаче?

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

Материал подготовил:
Евгений Салов, Product Owner, БИТ:ERP.

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