Уровень строгости определяют два вопроса: 1) сколько это проживёт и кто будет пользоваться? 2) что случится, если оно сломается? Дорогого внимания заслуживает только то, что дорого исправлять потом.
Определи уровень до старта – по фактам, не по мечтам:
Правило перехода. Уровень меняют факты, а не планы: появился первый чужой пользователь – это уже У2; появился первый рубль или чужие персональные данные – это У3. Прототипы имеют привычку становиться продуктами. Заметил переход – остановись и доплати долг строгости из таблицы, прежде чем строить дальше.
| Тема курса | У0 эксперимент | У1 для себя | У2 для людей | У3 деньги и данные |
|---|---|---|---|---|
| Проблема и критерий успеха урок 4 | ✓ | ✓ | ✓ | ✓ |
| Не строй лишнего (YAGNI) урок 5 | ✓ | ✓ | ✓ | ✓ |
| Скучные технологии урок 11 | ✓ | ✓ | ✓ | ✓ |
| Ревью работы агента урок 17 | ~взгляд на дифф | ✓ | ✓ | ✓✓ |
| Спека и цикл работы уроки 20–21 | ~один абзац | ~полстраницы | ✓ | ✓✓+ ревью плана |
| Модель данных урок 8 | – | ✓если есть данные | ✓✓ | ✓✓ |
| Безопасность урок 15 | ~секреты не в коде | ~секреты + доступ | ✓ | ✓✓+ security-ревью |
| Режимы отказа и бэкапы урок 13 | – | ~бэкап данных | ✓ | ✓✓+ проверка восстановления |
| Краевые случаи урок 6 | – | ~топ-3 края | ✓ | ✓✓ |
| Модули и границы уроки 2, 3, 7 | – | ~крупными мазками | ✓ | ✓✓ |
| Источник правды урок 9 | – | ~не плодить копии | ✓ | ✓✓ |
| Готовое или своё, двери урок 12 | – | ~только про данные | ✓ | ✓✓ |
| Компромиссы вслух урок 10 | – | ~ | ✓ | ✓✓ |
| Философия ошибок урок 14 | – | ~fail fast, не глотать | ✓ | ✓✓ |
| Тесты урок 16 | – | ~ключевая логика | ✓ | ✓✓ |
| Наблюдаемость урок 18 | – | – | ✓лог ошибок + health | ✓✓+ алерты, бизнес-метрики |
Три вещи стоят минуты и окупаются на любом уровне, даже в эксперименте:
какую проблему решаем и как поймём, что решили?почему мелкая правка тронула столько файлов?Заметь: «вечный минимум» – это минуты. Многодневное планирование оправдано только на У3, и то потому, что там ошибка стоит дороже недели работы.
Ты перепланировал, если: у одноразового прототипа есть тесты и наблюдаемость; спека длиннее будущего приложения; неделя планирования – и ни одного пользователя.
Ты недопланировал, если: чужие деньги идут через систему без проверенного бэкапа; первый чужой пользователь появился, а процесс остался «как для себя»; модель данных рисуется после того, как накопились данные.
Начинай проект с фразы: Это проект уровня У2: чужие пользователи, без платежей. Применяем: спека, модель данных, краевые случаи, обработка ошибок, лог + health check. Пропускаем: алерты, строгие тесты всего подряд. Агент получает не только задачу, но и планку строгости – и перестаёт как перестраховываться, так и халтурить.