МОДУЛЬ 21 · Middle+ · 2.5 час

Лучший проект — тот, который не стали делать

Месяц до первой строчки кода. Пишем дизайн-док: где болит, сколько это стоит, чего мы делать не будем и при каком условии проект закрывается.

Пройти модуль в симуляторе Все 23 урока

Первые два модуля бесплатны, без карты. Остальные — по подписке $20/мес.

🏢 Ситуация

Вы — уже Middle ML Engineer. Виктор приводит вас на встречу с крупным клиентом: сеть «СуперМегаРитейл» (2000 магазинов, 47 распределительных центров) хочет систему прогноза спроса.

«Datacore берёт этот контракт, а ты — ведущий инженер проекта. Но код мы не пишем ещё месяц. Сначала — design document. Джуны начинают с модели, мидлы — с вопроса "а есть ли вообще проблема и стоит ли она решения?". Прочитай Бабушкина и Кравченко — и принеси мне первую версию дизайн-дока.»

🎯 Ваша задача

  1. Отличать problem space от solution space и находить настоящую проблему.
  2. Оценивать риски и цену ошибки до старта проекта.
  3. Составить структуру design document и провести его ревью.

📚 Теория

Problem space vs solution space

Классическая ошибка инженера — прыгать в пространство решений («сделаем градиентный бустинг с лагами!»), не изучив пространство проблемы («что на самом деле болит у бизнеса и почему?»).

PROBLEM SPACE Что болит? У кого? Сколько это стоит? • магазины теряют $800M/год на разрыве • overstock → списания скоропорта • out-of-stock → клиент уходит к конкуренту Здесь живут вопросы SOLUTION SPACE Как можно решить? Чем? Почём? • правила / скользящее среднее • ML-прогноз (бустинг, лаги) • купить готовое решение (buy) Сюда входим только после вопросов слева
Сначала исследуем проблему, потом перебираем решения. Прыжок сразу вправо — главный источник провалившихся ML-проектов.

Вопросы problem space для «СуперМегаРитейла»:

Цена ошибки — до модели, а не после

Прежде чем строить систему, выпишите, что случится, если модель ошибётся, и в обе стороны:

Ошибка Последствствие Оценка
Прогноз завышен (overstock) излишки, списание скоропорта легко посчитать из данных
Прогноз занижен (out-of-stock) пустая полка, потерянный клиент трудно: A/B или экспертная оценка

Асимметрия цены ошибок дальше определит и метрику, и лосс (квантильный!), и SLA системы.

Предварительное исследование: build vs buy и степень новизны

Design document: зачем и какой

Design doc — это документ, в котором решение проектируется и критикуется до того, как станет кодом. Мифы, которые мешают его писать:

  1. «Это для больших компаний» — стартапу дешевле поймать ошибку в документе, чем в проде.
  2. «Только для сложных проектов» — простой проект = короткий док.
  3. «Нужен шаблон» — важен не шаблон, а покрытие ключевых вопросов.
  4. «Каждый док должен закончиться системой» — вывод «не делать» — тоже успех дока (и очень дешёвый).

Скелет design doc для ML-системы:

  1. Проблема и цель — на языке бизнеса, с цифрами.
  2. Цели и антицели — что мы НЕ делаем, так же важно, как то, что делаем.
  3. Актуальность и причины — анализ текущего процесса, сколько теряем, кому ещё пригодится.
  4. Предыдущие попытки — что уже пробовали, почему не взлетело.
  5. Метрики и лоссы (модуль 22) · Данные · Валидация · Бейзлайны.
  6. Интеграция, мониторинг, владение (модуль 23).
  7. Риски и цена ошибки.

Что запомнить

  • Сначала problem space (что болит и почём), потом solution space (чем лечить).
  • Цена ошибки в обе стороны выписывается до выбора модели — она определит метрики и лоссы.
  • Design doc дешевле кода; вывод «не делать проект» — тоже результат.
  • Антицели защищают скоуп; док живёт и обновляется вместе с проектом.

Дальше в модуле: Практика

Пошаговый разбор решения, код и квиз на 5 вопросов.

Открыть модуль →

Соседние уроки

20 Финал: защита проекта перед CTO 22 Advanced · Метрики, данные, валидация, бейзлайны

Программа целиком — 23 урока