Хакатон. Ничего не понять и почти дойти до финала

Данная статья является ретроспективой нашего участия в хакатоне Optimize & Organize Challenge, неким подведением итогов. Постарался собрать как можно больше разных выводов, артефактов, чтобы наиболее объективно отразить и оценить наш процесс работы в команде.

В целом как то так можно описать муд хакатона:)
В целом как то так можно описать муд хакатона:)

В то же время без погружения в супер детали и нюансы, поскольку размер статьи увеличился бы в 2-3-4-5-n раз, а пользы от дополнительной информации было бы не сильно больше

Ниже в основном будет освещаться общий алгоритм создания дизайна сервиса

Статья может быть полезна:

1) Продуктовым дизайнерам

2) Для тех, кто собирается принять участие в подобных мероприятиях

3) Для тех, кто уже работает в команде над каким либо продуктом

4) Кому хочется чего то почитать для общего развития, приятно провести время:)

Пару слов до начала

7-10 апреля мы с ребятами принимали участие в хакатоне по разработке концепции сервиса по учету объектов недвижимости и контроля процесса работ на данных объектах

До старта хакатона команда собралась довольно быстро, каждый из участников имел определённую зону ответственности:

Игорь - back-end

Ваня - back-end

Вася - аналитика

Я - UX/UI

Костя - front-end

Ни у кого из участников команды не было опыта участия в хакатонах)

Дальнейшая структура повествования:

  • № Дня
  • Краткое описание дня
  • Таймлайн процесса работы
  • Конец дня (Список выводов)

Навигация по статье:

Летсгоу:)

1 День

Подготовка, распределение задач, формирование базового понимания происходящего

20:00

Все началось с того, что в 20:00 по нск организаторы выложили условие задачи (ТЗ)

<p>Если интересно углубиться в условие, это можно сделать <a href="https://api.vc.ru/v2.8/redirect?to=https%3A%2F%2Fdocs.google.com%2Fdocument%2Fd%2F1Tnn1wP_uNaIBUiBEzRxyxD4z0gp6G4JYb6HYXsz2pDM%2Fedit%3Fusp%3Dsharing&postId=680563" rel="nofollow noreferrer noopener" target="_blank">тут</a></p>

Если интересно углубиться в условие, это можно сделать тут

В условии объяснили:

1) Общие требования к сервису

2) Конкретный список функций, реализовывать все необходимо только для компьютерной версии

3) Критерии оценивания (Бек, фронт, структура проекта на Git, информационная архитектура приложения, качество реализации функций)

После этого мы решили созвониться в дискорде, чтобы обсудить дальнейшие действия каждого из участников команды

По началу у каждого из нас были +- одинаковые задачи:

  • Понять что именно делать и как
  • Обозначить требования организаторов
  • Прикинуть стек технологий (Для бека и фронта)
  • Разделить зоны ответственности
  • Понять как именно работа каждого из нас связана с сокомандниками (Как связан бек и фронт, как связан дизайн бек и фронт)
  • Прикинуть примерные тайминги по задачам
  • Сформулировать вопросы для Q/A сессии и чекпоинтов (Чекпоинт - промежуточный созвон на несколько минут с организаторами для демонстрации проведённой работы + ответами на вопросы команды)

Также мы договорились провести общий созвон в начале следующего дня (Своего рода дейлик)

После обсуждения и изучения ТЗ с ребятами у меня появилось несколько вопросов для Q/A сессии:

Кто ведёт рабочие группы на объекте? Что имеется под качеством исполнения работ на объекте? Кто контролирует качество исполнения работ на объектах?

Само собой вопросов появилось больше, но здесь я переложил ответственность за получение ответов на них на следующие факторы:

  • Вопросы других участников на Q/A сессии
  • Чекпоинты
  • Обратная связь в тг от организаторов в течение всего хакатона

Сразу скажу, что 2 и 3 пункты не помогли от слова совсем о них расскажу позже)

21:30

Начало Q/A сессии. В общей сложности она продлилась около часа, на мои вопросы ответили, также ответы на вопросы других участников помогли мне больше погрузиться в контекст происходящего. Однако на этом этапе вопросов у меня стало ещё больше)

~23:10

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

<p>Посмотреть на первичные типы пользователей и их возможности можно <a href="https://api.vc.ru/v2.8/redirect?to=https%3A%2F%2Fwww.figma.com%2Ffile%2FF7UbU8p3IHnwFVPB8mFCtS%2F%25D0%25A5%25D0%25B0%25D0%25BA%25D0%25B0%25D1%2582%25D0%25BE%25D0%25BD_figjam%3Fnode-id%3D0%3A1%26amp%3Bt%3DPRWiiWYwqFkwwyDV-1&postId=680563" rel="nofollow noreferrer noopener" target="_blank">тут</a></p>

Посмотреть на первичные типы пользователей и их возможности можно тут

На данном этапе имеем следующие типы пользователей:

Госинспекция

  • Проводит контрольно-надзорные мероприятия
  • Выявляет проблемные объекты (не являющихся объектом муниципального и регионального контроля)
  • Принимает решение о нормализации состояния или о сносе объекта
  • Формирует реестр объектов

Коммерческая организация

  • Организует работу на конкретном обьекте
  • Выбирает рабочие группы для об]ектов для выполнения разных задач

Конец дня

Из выводов здесь можно отметить 1 очень важную вещь - у каждого из участников команды должно быть хотя бы общее понимание происходящего, чтобы дальнейшая работа шла более осознанно и с меньшей степенью фрустрации

2 День

Режим hard work: on. Собираем бизнес логику «на коленке», оцифровываем требования организаторов и информацию обо всех сущностях воедино

За ночь Игорь и Вася разобрали продукт на основные сущности в беке и приступили к их реализации

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

~10:00

Слушаем запись вчерашней Q/A сессии, транскрибируем ответы, структурируем ответы по категориям чтобы:

1) Не упустить важных деталей и иметь на руках все CX артефакты

2) Можно было погрузить в доп. детали других участников команды, чтобы иметь возможность совместно разрешать различные вопросы по логике приложения, а также иметь единую базу знаний для синхронизации общего понимания задачи

<p>Посмотреть базу знаний полностью можно <a href="https://api.vc.ru/v2.8/redirect?to=https%3A%2F%2Fwww.figma.com%2Ffile%2F8kINTdGdsz1BkhtKr2r81u%2F%25D0%25A5%25D0%25B0%25D0%25BA%25D0%25B0%25D1%2582%25D0%25BE%25D0%25BD_DataBase%3Fnode-id%3D0%3A1%26amp%3Bt%3D1mGXYQnMWiuhJXbY-1&postId=680563" rel="nofollow noreferrer noopener" target="_blank">тут</a></p>

Посмотреть базу знаний полностью можно тут

~14:00

Формируется более менее полная картина бизнес процесса (начиная от просмотра обьекта, заканчивая назначения этапа работ на нем)

<p>Посмотреть карту бизнес процесса полностью можно <a href="https://api.vc.ru/v2.8/redirect?to=https%3A%2F%2Fwww.figma.com%2Ffile%2Fw5ulQn4W2DDOpMojBZa7Bo%2F%25D0%25A5%25D0%25B0%25D0%25BA%25D0%25B0%25D1%2582%25D0%25BE%25D0%25BD_CJM%3Fnode-id%3D0%3A1%26amp%3Bt%3Da3yMEfBU6aBHc467-1&postId=680563" rel="nofollow noreferrer noopener" target="_blank">тут</a></p>

Посмотреть карту бизнес процесса полностью можно тут

Получается более точно определиться с ролями в системе и доступным им функциями

Сотрудник ГИН

  • Формирует реестр проблемных обьектов
  • Формирует рабочие группы для конкретных объектов (Создает событие)
  • Формирует протокол проведенной встречи
  • Формирует новые поручения для каждой рабочей группы, выставляет тайминги поручений

Орган исполнительной власти

  • Получает список объектов, только за которые несет ответственность
  • Получает сведение о созданном ГИН событии, данные повестки, тайминг, список рабочих групп
  • Участвует во встрече

Результат взаимодействия данных пользователей и цикла работы по обьекту: Назначается следующее совещание (рабочая группа) по обьекту либо объект считается закрытым и исключается из реестра ГИН

Теперь мы имеем на руках информацию (Хотя в некоторых местах неполную), с помощью которой можно приступать к созданию прототипа продукта

~16:30

Созваниваемся с ребятами, синхронизируемся. Обсуждаем как в целом будет работать наш сервис

Продолжаю работу над прототипом

18:21 - 1 чекпоинт -

За 7 минут нам надо было презентовать прогресс по беку/фронту, бизнес модель и логику работы интерфейса + задать вопросы

Времени мало, сориентироваться было непросто. Сам чекпоинт получился весьма «скомканный»

Инсайт: если встреча проходит в онлайне, можете выбрать ответственного за конспектирование ответов на вопросы, резюмирование встречи. Ответы на некоторые вопросы могут (забыться + не до конца поняты с первого раза) → быть неверно интерпретированы командой в будущем. Чтобы избежать подобной ситуации можно назначить 1 человека, который где то сохраняет ответы, делает запись встречи

~21:00

Созваниваемся с ребятами, синхронизируемся. Обсуждаем первичные прототипы каждого сценария сервиса

Первое время все выглядело немного хаотично<p>Посмотреть первичные прототипы полностью можно <a href="https://api.vc.ru/v2.8/redirect?to=https%3A%2F%2Fwww.figma.com%2Ffile%2FjKEI05wxYCMEClmR1yYOUL%2F%25D0%25A5%25D0%25B0%25D0%25BA%25D0%25B0%25D1%2582%25D0%25BE%25D0%25BD_FirstPrototipe%3Fnode-id%3D0%3A1%26amp%3Bt%3D75B53QdEgrtY95NO-1&postId=680563" rel="nofollow noreferrer noopener" target="_blank">тут</a></p>
Первое время все выглядело немного хаотично

Посмотреть первичные прототипы полностью можно тут

Конец дня

1. Общие соображения по процессу

Как было у нас:

Обсуждение всех сценариев → Создание прототипов всех сценариев → Обсуждение прототипов сценариев → Создание дизайна всех сценариев → Обсуждение дизайна → Отправка на прод

Как возможно было бы эффективнее:

Обсуждение одного сценария → создание прототипа одного сценария → Обсуждение прототипа сценария→ Создание дизайна одного сценария → Обсуждение дизайна → Отправка на прод → Начало работы над следующим сценарием(Либо работаем параллельно над несколькими сценариями)

Сейчас кажется, что второй вариант работы мог быть более эффективным, поскольку в этот день к 19 часам фронт не мог полноценно начать работать над интерфейсом из за отсутствия понимания, что «рисовать»

Однако в тот момент было тяжело представить себе работу по второму варианту процесса, поскольку тогда мне было проблематично приступать к дизайну каждого из сценариев в сервисе без полноценной картины происходящего, а выкатывать на прод неполноценные недоработанные решения не оч круто)

2. Приоритизация

Хакатон. Ничего не понять и почти дойти до финала

Несмотря на то, что на Q/A сессии был затронут вопрос о том, что именно важно для организаторов и почему, мы в некоторой степени пренебрегли этими знаниями. Поскольку продукт был немного запутан, нашей главной задачей было хотя бы разобраться в происходящем, а уже потом думать в каком порядке все реализовывать. Хотя возможно отчасти из за фактора отсутствия полноценной приоритезации у нас в итоге не совсем до конца получилось связать бек и фронт, фронт и дизайн

3. Поддержка темпа работы

Если некоторые из участников команды в определенных местах «выпадают» из рабочего процесса по тем или иным причинам, по возможности организуйте с ними дополнительные созвоны/ документируйте список их задач с требованиями и дедлайнами → оповещайте участников об изменениях в данном списке

3 День

Завершение работ над беком, фронтом и дизайном

~11:00

Завершаю работу над прототипами, структурирую сценарии

<p>Посмотреть финальный прототип полностью можно <a href="https://api.vc.ru/v2.8/redirect?to=https%3A%2F%2Fwww.figma.com%2Ffile%2Fgs7AbnN9LZYDMQdUd22U3E%2F%25D0%25A5%25D0%25B0%25D0%25BA%25D0%25B0%25D1%2582%25D0%25BE%25D0%25BD_FinalPrototipe%3Fnode-id%3D0%3A1%26amp%3Bt%3DygEPyA9Rmp0rx1fW-1&postId=680563" rel="nofollow noreferrer noopener" target="_blank">тут</a></p>

Посмотреть финальный прототип полностью можно тут

12:00

Общий созвон, обсуждение что вообще у нас должно точно быть в mvp и какой функционал точно успеем добавить

1) Отказываемся от логики роадмапа в карточке объекта (Организаторы сказали можно этот элемент не прорабатывать) + На стороне разработке не было необходимой сущности для его реализации

Оставили альтернативный вариант - история принятых решений по объекту

2) Отказываемся от списка поручений и событий в карточке объекта. Недостаточно данных, которые бы позволили сделать вывод о необходимости наличия списка в карточке объекта + время разработки было сильно ограничено, решили отказать от этой идеи

Приступаю к созданию дизайна. У меня на руках была только информация с Q/A, в некоторых местах ее было недостаточно, чтобы принять более осознанное решение в пользу размещения тех или иных вещей на экране. Поэтому действовал по большей части на основе логики и здравого смысла:)

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

17:20 - 2 чекпоинт -

Презентовали прогресс по беку, фронту, дизайну. Вопросов на этот раз мы решили не задавать. Также организаторы попросили добавить дашборд на экран реестра объектов

Зачем и почему это надо мы так и не поняли, но в каком то виде все таки решили показать эту фичу

19:13

У ребят получилось наладить первый контакт бека с фронтом

Хакатон. Ничего не понять и почти дойти до финала

20:40

Дизайн всех сценариев полностью готов. Добавил урезанную версию дашборда в реестр по просьбе организаторов

Посмотреть финальный дизайн полностью можно тут

Теперь осталось только ждать и надеяться, что фронт хотя бы в каком то виде все вытянет)

Конец дня

Из выводов здесь можно отметить, что при разработке тех или иных дизайн решений очень важно быть в контексте возможностей разработчиков. Если что то не получается реализовать в проде в строго определенном виде, стоит искать компромисс на грани ценности для пользователей, силы дизайн решения и технических возможностей разработчиков

4 День

Отправляем проект организаторам

~13:00

<p>Посмотреть презентацию проекта полностью можно <a href="https://api.vc.ru/v2.8/redirect?to=https%3A%2F%2Fdocs.google.com%2Fpresentation%2Fd%2F1ZrziSkSBDiJI40Rq1GPg5xm6HYS31DC3aL7P637XK6Y%2Fedit%3Fusp%3Dsharing&postId=680563" rel="nofollow noreferrer noopener" target="_blank">тут</a></p>

Посмотреть презентацию проекта полностью можно тут

Структурирую информацию о проекте в презентации, ребята загружают проект и презентацию на сайт организатора. Ждем результатов:)

Итоги

13 апреля пришли результаты, организаторы определили список из 11 финалистов

На момент выгрузки нашего решения я знал, что все требования мы более менее выполнили и в финал ну хоть как должны попасть

Но)))

Нас не было в списке финалистов
Нас не было в списке финалистов

Жалко конечно, но как есть так есть. Естественно хотелось получить обратную связь от организаторов. Мы им написали. Вот, что нам ответили

Хакатон. Ничего не понять и почти дойти до финала

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

Также когда мы задавали вопросы по проекту в течение хакатона, на них нам никто не ответил

Через несколько дней выгрузили топ 30 участников хакатона

На тот момент подумал, что если мы в финал с такой работой не попали, то топ 30 нам не видать даже xd

Но)))

Хакатон. Ничего не понять и почти дойти до финала

Я был немного удивлён, что от финала нас отделяло буквально 1 место. Все таки все не так уж и плохо xd

Было интересно и приятно создавать в команде хоть и концепцию, но реального продукта. У нас даже рандомным образом родился один локальный мем)

Всем ребятам большой респект, было видно, что они оч шарят и заряжены на победу. Благодарю Ваню за то, что предложил принять участие в хакатоне. Если ты hr/лид и ищешь себе в команду разрабов, то смело пиши им:)

А если ищешь продуктового дизайнера, то я тут:)

Ещё пишу в телеге оч редко, но метко про софт скиллы и работу над проектами, если интересно заходи)

В целом как то так. Спасибо, что дочитали до конца ❤

99