Привет, Хабр! Меня зовут Леонид Тощев и я отвечаю за направление разработки в команде контента Учи.ру. С 2020 года мы регулярно проводим внутренние хакатоны и очень довольны результатами. И для нас это реально работающие штуки, где мы тестируем новые идеи и технологии. Вот как мы этого добились.
Предыстория
Осенью 2020 года в команде разработки контента Учи.ру было около 20 человек. Они находились в разных городах России и работали только со своими командами, в изолированных «бабблах».
Из-за отсутствия связей внутри команды сроки многих проектов затянулись, а специалисты внутри каждого «баббла» не имели доступа к решениям, созданным внутри других «бабблов». Все это сжигало ресурсы и сильно выматывало.
Первый хакатон мы организовали, чтобы обменяться идеями и похвастаться результатами. Все вводные оказались идеальны:
люди имеют дело с новым проектом;
работа идет быстро, все рабочие этапы проходят за день-два;
можно использовать и тестировать любые технологии (например, те, с которыми не удавалось поработать из-за нехватки рабочего времени).
Мы хотели научить людей быстрее находить простые тестовые решения, дав им пространство для фантазии. Мы планировали использовать в работе как можно больше прототипов, самых безумных и интересных, из которых в будущем могут вырасти прорывные продукты.
Я закинул предложение о хакатоне коллегам, и восемь из 20 человек согласились поучаствовать. Руководители проектов одобрили мою инициативу и легко отпустили своих сотрудников на хакатон.
Сбор грабель
Я понимал, что у людей, скорее всего, нет опыта участия в чем-то подобном и мне нужно дать им как можно больше вводных. Нельзя просто надеяться, что люди сами придумают, чем им заняться. Поэтому я пошел к нашим продактам и спросил, есть ли у них рабочие гипотезы, которые нужно проверить, но пока не получается? Они предложили три:
клавиатурный тренажер по образцу легендарной игры из детства BabyType;
приложение для проведения викторин;
наглядные интерактивные курсы для изучения физики.
За неделю до начала мероприятия я закинул список проектов в свежесозданный хакатоновский чат и попросил участников проголосовать, чем они хотели бы заняться. В результате сформировались три команды: две из трех и одна из двух участников. В течение недели им было разрешено встречаться и обсуждать проект: делить обязанности, расписывать архитектуру, изучать библиотеки и фреймворки. Но нельзя было писать код.
Создание кода мы запланировали на пятницу: этот день я выбрал потому, что за ним следуют выходные и можно покодить еще. Команды создали каналы в Discord, чтобы постоянно быть на связи, и приступили к работе. Я же в течение дня следил за происходящим.
По состоянию на вечер пятницы ни один из проектов еще не был готов, к утру понедельника тоже. Наступило время фиксировать наши первые организаторские ошибки.
Ошибка №1. Не установлены четкие правила
Я сказал следующее: «Вы кодите в пятницу и, если хотите, в выходные». В результате кто-то использовал выходные для кодинга, а кто-то нет. Таким образом, все затратили разные усилия, это было заметно и породило ощущение некой несправедливости.
Ошибка №2. Не было четкой и быстрой точки
Изначально у нас не было запланировано демо-дня. Мы думали, что в этом нет необходимости и достаточно оценить проекты самостоятельно. Но человеческую психологию никто не отменял. Людям важно поучаствовать в четкой и явной «раздаче слонов».
В понедельник стало ясно, что люди явно хотят финала, и наша задача — дать им его. Иными словами, нельзя просто так хакатонить, а потом разбежаться. Поэтому я сказал, что во вторник состоится демо-день, на котором можно будет показать свой проект. И это привело к третьей ошибке (неизбежной).
Ошибка №3. Меняли структуру хакатона на ходу
Из-за внезапно объявленного демо-дня кто-то кодил всю ночь в понедельник, после работы. Устраивать людям внезапные авралы — это, конечно, плохо.
Осознав эти три ошибки, на демо-день я шел в страхе. Мне казалось, что все закончится большим провалом. Но я зря переживал. Все прошло очень круто и всем очень понравилось. 2 из 3 проектов были почти production ready, а третий надо было лишь немного доделать.
На волне эйфории мы уже запланировали, как будем проводить по хакатону в квартал и запускать MVP один за одним. К тому же, обратная связь от участников была крайне позитивной и они хотели еще хакатонов. И тут случилась внезапная…
…ошибка №4. Практически перестали следить за результатами хакатона
Я отдал проекты в отдел RnD, где они «встали». Почему так получилось? Их делали смешанные команды из разных отделов, у которых есть свои проекты и руководители. А так как результат хакатона — это MVP, то каждый проект все равно требовал доработок.
Приходилось вырывать людей на несколько дней (а иногда даже недель) из других отделов. Откладывать запуски. Получилась каша.
Свою роль сыграла разница между ожидаемым и реальным. Продакты ждали практически готовые проекты, которые можно продать или хотя бы собрать как можно больше метрик. Я же ждал proof of concept, который если не готов на прод, то подойдет для коридорного тестирования.
В конечном итоге проекты увидели свет только через полгода. При этом их состояние не сильно продвинулось со времени хакатона. Это было явно не то, чего мы ждали.
Конечно, мы все заранее понимали, что хакатон — это, в первую очередь, тимбилдинг. Но получить продуктовый выхлоп тоже важно. Руководители проектов должны видеть, что сотрудники уходят на пару дней не просто так, а участники хакатона должны понимать, что их продуктами пользуются.
Но в целом, ситуация сильно меня демотивировала и я даже не думал о том, чтобы проводить подобные инициативы еще. А вот наш RnD-продакт Диана Колесникова не упала духом и начала собирать список проектов и участников на следующий хакатон.
Наша попытка №2
Второй хакатон прошел в конце 2021 года. Мы сделали выводы из своих ошибок и постарались сразу организовать все правильно. Мы четко выделили на хакатон 2 рабочих дня, сразу же после них был демо-день.
Так как первый хакатон был больше тестовым, второй мы сделали, если можно так сказать, более «полноценным». В командах, кроме фронтендеров, были еще и дизайнеры с иллюстраторами. Не было лишь продактов, потому что я был против их участия. Ведь правильное планирование — это хорошая фора. Именно поэтому продакты собрали свою собственную команду. ???? Как и в прошлый раз, ТЗ выдавались за неделю, а участников в этот раз было уже не восемь, а 26. Получилось целых шесть команд.
Однако, ошибки были и в этот раз. Например, мы ошиблись с критериями оценки проектов. Они были заточены под внешний хакатон на свободную тему, а не на внутренний, где проекты выдаются «сверху». Кроме того, некоторые команды хотели придумывать идеи самостоятельно. И у нас наметился небольшой перекос в сторону фронта — не хватало бекенд-разработчиков для участия в хакатоне. В результате, некоторые проекты пока не увидели свет и все еще ждут своих принцев на белом коне, которые смогут их опубликовать.
Но могу сказать, что третьему хакатону явно быть. Несмотря на допущенные нами ошибки, польза таких мероприятий для участников и компании просто колоссальна.
Главные результаты
По итогам хакатонов мы смогли:
выпустить курс «Космическая печать», который изначально был небольшой демкой на хакатоне;
запустить приложения для викторин и собрать отзывы (в ближайшее время будем запускать их снова в доработанном варианте);
сформировать идею курсов в стиле «лаборатория».
Многие проекты на хакатоне пока не «доросли» до полноценных продуктов, но это не значит, что усилия команд пропали зря. Результаты работы, так или иначе, используются в проектах компании. А опыт работы с новыми технологиями и смена фокуса — однозначно, очень ценная вещь. Вот, например, результаты второго хакатона:
Платформа с DIY-курсами по рукоделию. Она поддерживает текст, видео и 3D-модели, которые можно рассматривать.
Интеллектуальная игра в стиле «3 в ряд», которая подходит для расширения словарного запаса на любом языке. На квадратное игровое поле нужно выкладывать буквы, чтобы получались слова. Когда слово собрано, оно исчезает с поля.
Словарный PvP. Игра напоминает диктант: игроки пишут слова на скорость, а побеждает тот, кто совершит меньше ошибок.
Виртуальное пианино. Здесь можно создать свою собственную мелодию и послушать ее, или сыграть по нотам в режиме Guitar Hero.
Этот материал был бы неполным без отзывов реальных участников. Вот и они.
Обратная связь
Владимир Кузьмин, продуктовый дизайнер
Я участвовал в обоих хакатонах. В первом я занимался дизайном трех задач, которые мы предлагали участникам. Я подготовил дизайн для каждой из них и необходимые ассеты. Мы сделали это, чтобы ребята могли сразу увидеть и понять, что именно мы от них ждем. Либо же они могли взять предложенный нами дизайн и не мучиться. Во втором хакатоне предлагаемых нами идей было больше, и задача организаторов состояла в том, чтобы описать все идеи максимально емко и доступно. Мне больше понравился второй хакатон. Там было больше свободы и были команды с необходимым количеством ролей. Хакатон получился качественнее и интереснее именно в конечных продуктах.
Дмитрий Денисов, тимлид одной из команд
Я считаю, хакатоны очень полезны. Первый из них уже «окупился» благодаря готовому проекту «Космическая печать». Второй же «окупится», как только в релиз уйдет какой-либо из проектов. Эти результаты вполне оправдывают два-три дня остановки в других проектах. Для сотрудников хакатоны тоже очень полезны, ведь ты отрываешься от рутинной работы. Так как сейчас я тимлид и кода почти не касаюсь, на хакатоне я прямо порадовался. Сел, покодил, никакой субординации и вот этого всего. Мне кажется, формат хакатонов идеален, когда есть наработки, которые хочется быстро потестить; когда есть гипотеза, про которую неясно, стоит ли тратить на нее большие ресурсы.
Ян Клюжин, frontend-разработчик
По стечению обстоятельств на втором хакатоне мы создали команду из двух человек (мы так ее и назвали: «Два фронтендера») и заняли второе место. При этом, в большинстве других команд было по 5 человек, почти со всеми необходимыми ролями. Мы были очень ограничены в выборе проектов и поэтому очень трепетно к нему подошли. Мы поняли, что нам подходят только два-три варианта, которые мы точно успеем сделать. Из них мы и выбрали самый оптимальный для нас.
Обязательно буду принимать участие в следующих хакатонах и может быть даже попробую убедить сделать то же самое тех, кто пока боится или стесняется. Аргументы у меня такие: это неофициальное мероприятие и оно проводится просто для прощупывания почвы, а не ради того, чтобы создать готовый продукт. Главная его цель — просто «поиграться в песочнице», исследовать свои способности и изучить новые технологии.
Диана Колесникова, организатор хакатонов, руководитель RnD-команды
Каждый хакатон проходит как небольшой праздник: новые люди, новые технологии, новые идеи. В моменте из-за нескольких дней хакатона могут поехать сроки релизов, но в перспективе хакатон работает на мотивацию, сплоченность, экспертизу команды и, как следствие, продуктивность.
А у вас есть опыт участия в хакатонах? Они тоже были полезными или все-таки не очень?