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

Первым собирайте сценарий, который показывает основной результат проекта. Пользователь вводит данные или выполняет действие, система их обрабатывает, человек получает понятный ответ. Сквозной путь позволяет проверить замысел раньше, чем команда потратит время на дополнительные страницы.
Прототип нужен для проверки определённого вопроса. Иногда нужно выяснить, понимает ли человек интерфейс. Иногда требуется доказать, что алгоритм находит нужный объект или устройство передаёт сигнал. Назовите этот вопрос заранее: от него зависит, какие части должны работать, а какие можно показать отдельно как макет.
Сформулируйте критерий готовности
Фраза «делаем MVP» не задаёт объём. Перечислите действия и наблюдаемый результат. Например: «Пользователь загружает разрешённый тестовый файл, выбирает колонку, получает список повторов и открывает исходные строки». Это учебный сценарий, по которому можно проверить готовность без спора о внешнем виде.
Рядом укажите границы: поддерживаемый формат, размер файла, язык данных и известные исключения. Если прототип работает только с одним заранее подготовленным набором, так и напишите. Изменение входных данных не должно неожиданно обнаруживать скрытое ограничение, которое команда забыла назвать.
Сверьте результат с заданием. Макет достаточен только там, где правила допускают макет. Если обязательна рабочая интеграция, нарисованный ответ внешнего сервиса не выполняет это требование. Уточните сомнительную границу у организатора до разработки.
Для внутренней проверки прототипа можно адаптировать матрицу критериев Stavleak. При сдаче проекта приоритет всегда остаётся за критериями конкретного хакатона.
Проверьте риск коротким экспериментом
Выберите зависимость, из-за которой проект может не состояться. Для поиска это качество доступных данных; для устройства стабильность измерения; для внешнего API право доступа и нужная операция. Не начинайте с самого удобного участка только потому, что его приятно делать.
Проверка должна иметь ограничение по времени и понятный исход. Получили нужный ответ, оценили пример, подтвердили доступ или обнаружили, что подход не подходит. Если результат неопределённый, запишите, какой дополнительный факт нужен для решения.
Не превращайте эксперимент в отдельный законченный продукт. Достаточно маленькой программы, ручного расчёта или разговора с владельцем процесса, если они отвечают на исходный вопрос. После проверки перенесите вывод в общий план, чтобы команда не продолжала работать по старому предположению.
Согласуйте границы частей проекта
Перед параллельной разработкой договоритесь, какие данные передаёт каждая часть. Нужны названия полей, пример успешного ответа и поведение при ошибке. Если один участник возвращает дату строкой, а другой ждёт число, красивый интерфейс не спасёт объединение.
Создайте минимальный общий пример. Разработчик интерфейса может использовать временные данные, пока сервер готовится, но форма этих данных должна совпадать с будущим ответом. Любое изменение структуры сообщайте сразу всем, кто от неё зависит.
В видео Sophia Sharif обсуждение контрактов между частями проекта следует за выбором пути демо. Здесь полезна сама последовательность: сначала понять показываемое поведение, затем разделить его на совместимые части. Оценка конкретного хакатона всё равно определяется его регламентом.
Поднимите общую версию как можно раньше
Работающие части на отдельных компьютерах ещё не образуют общий проект. Разместите сборку в доступной команде среде или подготовьте повторяемый локальный запуск. Пусть второй участник пройдёт путь по инструкции без устных подсказок автора.
Запишите версии инструментов, команды запуска и необходимые переменные окружения. В образце конфигурации оставляйте только названия полей и безопасные значения. Секретные ключи не должны попадать в репозиторий, видео или снимок терминала.
Если размещение в сети требует слишком сложной настройки, проверьте правила показа локальной версии. Возможность показать приложение с ноутбука должна быть согласована. Жюри может потребоваться доступ после выступления, и одна видеозапись не всегда заменяет его.
Сделайте ошибки видимыми и объяснимыми
У основного сценария есть как минимум состояния ожидания, успеха и неудачи. Пользователь должен понимать, отправился ли запрос и что произошло. Бесконечный индикатор загрузки оставляет неясным и состояние системы, и следующий шаг.
Проверьте пустой ввод, неподдерживаемый файл и недоступный сервис. Ответ не обязан быть сложным: достаточно понятного сообщения и возможности исправить действие. Но ошибка не должна выдавать закрытые данные или внутренние ключи.
Для модели или эвристики предусмотрите случаи, где уверенного ответа нет. Сообщение об ограничении лучше выдуманного результата, который выглядит достоверным. На защите объясните, что происходит в такой ситуации и какие проверки вы успели провести.
Подготовьте воспроизводимый показ
Сохраните набор демонстрационных данных и последовательность действий. Очистите состояние перед повторной репетицией: старые записи иногда делают второй показ проще первого и скрывают ошибку. Проверьте, что сценарий не зависит от открытой вкладки автора или случайно сохранённой сессии.
Сделайте запасную запись рабочего состояния, если правила это позволяют. Подпишите дату и версию. Видео помогает объяснить результат при сбое связи, но не должно выдавать прежнюю функциональность за состояние текущей сборки.
В описании разделите построенное, проверенное и запланированное. Для каждого следующего шага укажите оставшийся риск. Когда основной путь воспроизводится, переходите к тесту с пользователем, а затем к подготовке демо. Дополнительную функцию добавляйте, только если она улучшает проверяемый результат и не ставит под угрозу готовую версию.


