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 и в прекрасном состоянии.
Фактически, речь идет о команде, поддерживающей уже работающую модель.
Во всех других случаях канбан мне кажется более разумным выбором.
Комментарии (5152)-
I read your article carefully, it helped me a lot, I hope to see more related articles in the future. thanks for sharing.
-
gate io | Опубликовано в 20:02, 14.02.2023
I read your article carefully, it helped me a lot, I hope to see more related articles in the future. thanks for sharing.
-
gate io | Опубликовано в 05:02, 15.02.2023
Reading your article helped me a lot, but I still had some doubts at the time, could I ask you for advice? Thanks.
-
gate.io | Опубликовано в 06:02, 15.02.2023
Reading your article helped me a lot, but I still had some doubts at the time, could I ask you for advice? Thanks.
-
www.allcatsconnected.com | Опубликовано в 17:02, 17.02.2023
Excellent article. Very comprehensive and deep in its understanding and grasp. A must read.A very goodarticle indeed. I specially liked the context of the effect of Japanese security with that of India. I would implore everyone to read it.I’m extremely pleased to discover this website. I wanted to thank you for ones time just for this fantastic read!! I definitely enjoyed every part of it and i also have you bookmarked to see new stuff in your site.Hi there, My wedding day will be on 11Oct2019, I would like to hire a half day photographer, from about 17.00-22.30, may I have the price please, thanks
-
alien worlds coin yorum | Опубликовано в 13:02, 21.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.
-
ブロック チェーン レイヤー | Опубликовано в 15:02, 21.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.
-
gate.io vs binance | Опубликовано в 00:02, 25.02.2023
I agree with your point of view, your article has given me a lot of help and benefited me a lot. Thanks. Hope you continue to write such excellent articles.
-
шщ | Опубликовано в 06: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.
-
floki coin kurs | Опубликовано в 14: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.
gate io | Опубликовано в 20:02, 14.02.2023