Skip to content

Instantly share code, notes, and snippets.

@Zhigalov
Last active March 24, 2019 08:56
Show Gist options
  • Save Zhigalov/7f62fabf5e2f388ff32f609abf6212b9 to your computer and use it in GitHub Desktop.
Save Zhigalov/7f62fabf5e2f388ff32f609abf6212b9 to your computer and use it in GitHub Desktop.
Итоги стикератона

2 марта 2019 года состоялся хактон "Стикеропись". Во время подготовки возникали разные смелые идеи. В некоторых мы не сомневались ни минуты. Другие сопровождались жаркими спорами и опасениями. Сегодня я расскажу о том, что получилось, а что не очень. Но сначала пару слов о проекте. zhenya_x2_dima_za_rabotoi

(Женя, Женя и Дима из команды печати за работой)

Сервис для печати на стикерах

16 участников и 6 наставников за 8 часов написали веб-сервис, который формирует страницу для печати. Чтобы им воспользоваться, нужно наклеить на лист А4 стикеры, загрузить в принтер, сформировать список задач в веб-сервисе и отправить на печать. Получаются красивые стикеры для канбан доски или напоминалки на холодильник. stickers

(Примеры напечатанных стикеров)

Идея проекта родилась больше двух лет назад, когда мы внедряли agile и писали задачи на стикерах фломастером. Получалось не разборчиво и долго. Мы перенесли тексты задач в MS Word, наклеили стикеры на глазок и отправили на печать. Получился первый прототип. alpha_version

(Альфа версия приложения)

Позже мы научились забирать тексты задач из ишью трекера скриптом... и тут понеслось! За два года не было недели, чтобы мы не приходили к принтеру со стикерами. Идея прошла проверку временем и мы реализовали её на хакатоне. imperial_march

На главной странице сервиса пользователь выбирает источник данных. Можно импортировать задачи из Jira, GitHub Issue, CSV файл или добавить задачи через форму. После загрузки данных пользователь попадает на сраницу фильтрации, где выбирает только нужные для печати задачи. Наконец, пользователь попадает на страницу печати, где выбират поля и их расположение на стикере. Попробуйте сами https://stickeropis.herokuapp.com

О хакатоне

Подготовка к хакатону началась за несколько недель. За разговорами на кофепоинте нашёл ребят, готовых помочь в организации, создал чатик рабочей группы в телеграмме, респределил роли и кинул пару встреч. На них мы сформулировали список задач, которые предстояло решить участникам. У каждой задачи была базовая версия и несколько усложнений. Мы сформировали направление движения, а участники сами придумывали реализацию. Было опасение, что зарнее известный список задач убьёт креативную составляющую хакатона. Этого не произошло, каждый делал что хотел. А заранее известный список помог нам направить работу в нужное русло. vasya_anya_mentors

(Вася и Аня из команды менторов)

Василий подготовил основу проекта. Это позволило участникам сразу приступить к работе. Они не тратили часы на обсуждение технологического стека, не ждали, пока один из участников соберёт и отладит базу. А с первой минуты хакатона понимали, что и где им нужно делать. Мы взяли на себя ответственность за выбор технологий и сильно переживали за, согласятся ли с нашим выбором участники. Угадали во всём, за исключением линтера (об этом чуть позже). choise_team

(Команда фильтрации здач обсуждает реализацию)

После вступительной части участники разделились на небольшие команды по 2-3 человека. Это оптимальное количество, чтобы не терять фокус внимания. Внутри команды участники работали за одним ноутбуком и менялись каждые 30 минут. Было опасение, что не все захотят работать в таком режиме. Чужой ноутбук, мало времени на то, чтобы освоиться. Однако, многим командам это понравилось. Они охотно меняли "оператора клавиатуры". Те, кто находились за пультом, чувствовали, что их звёздный час настал, и работали с удвоенной силой. А те, кто только что сдали пост, активно давали подсказки и рекомендации. Идея сработала. teams

(Справа команда из двух человек, слева команда из трёх человек. На переднм плане спиной к нам две команды по одному человеку)

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

Проект состоял из большого количества источников данных, фильтрации и страницы печати. Чтобы собрать все части в один продукт, мы зафиксировали на старте формат данных. Но самое важное, мы пригласили на хакатон QA инженера, который помогал командам интегрироваться. Антон зарнее изучил ишью трекеры и давал рекомендации по формату данных, помогал найти командам обший язык, создавал тестовые данные и находил хитрые кейсы, на которых решения ребят ломались. Это находка! Кажется именно этого нам не хватало на прошлых хакатонах. anton

(Счастливый Антон идёт помогать команде фильтрации задач)

Под конец хакатона мы добавили автовыкладку по пушу в мастер. Каждые пять минут мы получали новую версию приложения на продакшне, continuous delivery в чистом виде. Это добавляло азарта и динамичности проекту. По окончанию восьми часов мы вывели результат на проектор и торжественно распечатали стикеры. Хорошее завершение хакатона. mentors_talk

(Менторы хакатона обсуждают какую-то идею)

Самый большой наш промах - линтер, который обязывал ребят придерживаться одного стиля кодирования. Каждый писал код так, как привык. Первые несколько часов мы слышали недовольные бурчания со всех сторон. После обеда все плюнули и отключили линтер. У нас не было задачи написать код в едином стиле, не стоило добавлять линтер в проект. Не повторяйте наших ошибок.

Тем не менее, пять из семи команд финишировали успешно и показали результат своей работы. Ещё одна комана отправила пулреквест на следующий день. У нас получилось лучше, чем мы ожидали!

Благодарности

Ирине Шмаковой за помощь в организации и проведени хакатона. Васе Кузнецову за основу проекта и менторство команд. Антону Тациенко за исследование ишью трекеров и помощь на хакатоне. Мише Дьяченко, Жене Маркову и Ане Баженовой за менторство команд (ходят слухи, что ребята сделали интеграцию с Яндекс.Трекером на коленке за пару минут до окончания хакатона). Антону Шишкину за фото- и видеосъемку материалов. Диме Дикову за маркерные макеты. Антону Коневу за советы по организации хактона. Вадиму Макишвили за материалы доклада по печати карт.

Огромное спасибо всем участникам за то, что пришли и сделали этот хакатон таким продуктивным!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment