Scrum vs Kanban — что лучше для DS проекта?

Асхат Уразбаев18 Мая в 11:17

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

Что лучше подходит DS команде — скрам или канбан? В статье мы разберем за и против применения скрама и канбана.

Что такое Скрам в SWE и в чем его сакральный смысл?

Скрам чрезвычайно популярен в разработке ПО (Software Engineering, SWE). Давайте с вами попробуем разобраться почему.

Главная фишка скрама — спринты (итерации). Вот основные принципы:

  • У спринта есть цель спринта. Спринт считается успешным, если команда добилась цели спринта.
  • Баклог (план) спринта состоит из пользовательских историй. Каждая пользовательская история имеет ценность для пользователя.
  • Пользовательские истории начинаются в спринте и доделываются внутри спринта до конца. Если точнее, они должны соответствовать Definition of Done. В зрелых командах это означает, что пользовательская история разработана, протестирована, баги найдены, исправлены и закрыты, продукт задеплоен на stage или prod

Что дает команде такая работа?

  • Цель спринта обеспечивает фокус на результате. Грубо говоря, есть чем похвастаться каждый спринт
  • Короткий Time to Market. От момента старта разработки до поставки проходит один спринт, в большинстве команд это 2 недели
  • Это очень упрощает планирование. Если мы на самом деле фокусируемся на доделывании до конца наших пользовательских историй, то мы не тянем в следующий спринт доделки и баги с прошлых спринтов. Тогда все прозрачно и понятно!

Что отличает Data Science проекты?

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

  • имеет понятную и измеримую ценность для пользователя или бизнеса,
  • может быть доделана до конца,
  • выражена языком бизнеса

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

Гипотезу практически невозможно доделать до конца (валидировать) в течении спринта

У гипотезы очень длинный жизненный цикл. Например, в CRISP-DM он выглядит так:

  • Business Understanding
  • Data Understanding
  • Data Preparation
  • Modeling
  • Evaluation
  • Deployment

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

Это очень много, по крайней мере в сравнении со скоростью реализации обычной пользовательской истории. В SWE типичное количество пользовательских историй — от 3 до 8 доделанных от начала до конца за спринт.

Второе важное отличие Data Science проектов заключается в следующем. Data Science — discovery process. Каждая гипотеза может с высокой вероятностью провалится и относительно небольшой процент гипотез доезжает до прода и приносит ценность.

SWE — delivery process. С трудом можно представить, чтобы разумно сформулированную пользовательскую историю не удалось доделать или хотя бы показать заказчику.

Чем отличается канбан

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

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

Гипотезы могут отфильтровываться сразу же, не дожидаясь конца спринта.

Как скрам работает в Data Science

Но ведь множество команд работают по скрам! Как они это делают?

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

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

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

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

Эта нагрузка ложится на тимлида. В чертогах его разума находится информация о реальном состоянии дел DS проекта и очень часто нигде больше.

Почему многие команды выбирают скрам?

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

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

Когда скрам будет более эффективным выбором

Скрам прекрасный подход и его применение в DS разумно, если:

  • За спринт вы успеваете провалидировать 3-8 гипотез от начала до конца
  • Почти все эти гипотезы попадают в прод

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

Фактически, речь идет о команде, поддерживающей уже работающую модель.

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

Комментарии (4899)
  1. ^Inregistrare Binance US | Опубликовано в 01:10, 16.10.2024 Ответить

    Thank you for your sharing. I am worried that I lack creative ideas. It is your article that makes me full of hope. Thank you. But, I have a question, can you help me?

  2. binance us registracija | Опубликовано в 03:10, 18.10.2024 Ответить

    Thank you for your sharing. I am worried that I lack creative ideas. It is your article that makes me full of hope. Thank you. But, I have a question, can you help me?

  3. www.binance.com sign up | Опубликовано в 05:10, 18.10.2024 Ответить

    Your point of view caught my eye and was very interesting. Thanks. I have a question for you.

  4. binance акаунтын ашу | Опубликовано в 06:10, 19.10.2024 Ответить

    Your point of view caught my eye and was very interesting. Thanks. I have a question for you.

  5. Sign Up | Опубликовано в 01:10, 20.10.2024 Ответить

    Thank you for your sharing. I am worried that I lack creative ideas. It is your article that makes me full of hope. Thank you. But, I have a question, can you help me?

  6. binance Register | Опубликовано в 23:10, 21.10.2024 Ответить

    Your article helped me a lot, is there any more related content? Thanks!

  7. kalorifer sobası | Опубликовано в 21:10, 22.10.2024 Ответить

    Keep up the fantastic work! Kalorifer Sobası odun, kömür, pelet gibi yakıtlarla çalışan ve ısıtma işlevi gören bir soba türüdür. Kalorifer Sobası içindeki yakıtın yanmasıyla oluşan ısıyı doğrudan çevresine yayar ve aynı zamanda suyun ısınmasını sağlar.

  8. binance referral | Опубликовано в 13:10, 23.10.2024 Ответить

    I don’t think the title of your article matches the content lol. Just kidding, mainly because I had some doubts after reading the article.

  9. ^Inregistrare | Опубликовано в 14:10, 23.10.2024 Ответить

    Thanks for sharing. I read many of your blog posts, cool, your blog is very good.

  10. binance | Опубликовано в 02:10, 24.10.2024 Ответить

    I don’t think the title of your article matches the content lol. Just kidding, mainly because I had some doubts after reading the article.

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

ХОЧЕШЬ ЗНАТЬ ВСЕ НОВОСТИ LEANDS?

Подписывайся на наш телеграм-канал @leands

Подписаться