Scrum vs Kanban — что лучше для DS проекта?
Я публиковал результаты воркшопа, где оказалось, что команды, использующие канбан, опережают скрам в уровне зрелости.
Что лучше подходит 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 и в прекрасном состоянии.
Фактически, речь идет о команде, поддерживающей уже работающую модель.
Во всех других случаях канбан мне кажется более разумным выбором.
Комментарии (5147)-
Reading your article helped me a lot and I agree with you. But I still have some doubts, can you clarify for me? I’ll keep an eye out for your answers.
-
gate io us customers | Опубликовано в 19:02, 25.02.2023
Reading your article helped me a lot and I agree with you. But I still have some doubts, can you clarify for me? I’ll keep an eye out for your answers.
-
bondly | Опубликовано в 05:02, 26.02.2023
Reading your article helped me a lot and I agree with you. But I still have some doubts, can you clarify for me? I’ll keep an eye out for your answers.
-
торги на бирже биткоин | Опубликовано в 06:02, 26.02.2023
Reading your article helped me a lot and I agree with you. But I still have some doubts, can you clarify for me? I’ll keep an eye out for your answers.
-
btc cours usd | Опубликовано в 12:03, 04.03.2023
I know this web site offers quality based articles and extra information, is there anyother web site which offers such information in quality?
-
safemoon token | Опубликовано в 08:03, 05.03.2023
Do you mind if I quote a couple of your articles as long asI provide credit and sources back to your website?My blog site is in the very same niche as yours and my users would certainly benefit from some of the information you present here.Please let me know if this okay with you. Thanks!
-
borsada bugün en çok düşenler | Опубликовано в 00:03, 06.03.2023
Very nice post. I just stumbled upon your blog and wanted to say that I’ve really enjoyed browsing your blog posts. In any case I’ll be subscribing to your feed and I hope you write again soon!
-
gateio | Опубликовано в 09:03, 07.03.2023
I have read your article carefully and I agree with you very much. So, do you allow me to do this? I want to share your article link to my website: gateio
-
Create Account | Опубликовано в 07:03, 08.03.2023
I have read your article carefully and I agree with you very much. This has provided a great help for my thesis writing, and I will seriously improve it. However, I don’t know much about a certain place. Can you help me?
-
Cryptocurrency Prices | Опубликовано в 12:03, 08.03.2023
I have read your article carefully and I agree with you very much. This has provided a great help for my thesis writing, and I will seriously improve it. However, I don’t know much about a certain place. Can you help me?
การถอนเงินจาก binance | Опубликовано в 15:02, 25.02.2023