Эволюция продукта
«Работающий прототип» и «готовый продукт» — разные обещания, и путаница между ними дорого стоит обеим сторонам. Здесь этапы названы своими именами, и отмечено, на каком из них платформа находится сегодня.
Семь этапов зрелости
| Этап | Главная цель | Доступ и аудитория | Стабильность и архитектура |
|---|---|---|---|
| POCпройден | Проверить техническую выполнимость гипотезы | Только внутри команды | Код-однодневка, «на коленке» |
| Prototypeмы здесь | Проверить интерфейс и пользовательский сценарий | Команда, стейкхолдеры, респонденты | Часто без бэкенда — кликабельный макет |
| MVP | Проверить ценность на реальном рынке | Первые реальные пользователи | Базовая архитектура, минимальный функционал |
| Alpha | Найти внутренние дефекты и проверить интеграции | Внутренняя команда, тестировщики, закрытая группа | Нестабильно, структура данных может меняться |
| Beta | Проверить нагрузку, удобство и краевые сценарии | Внешние пользователи: закрытый или открытый тест | Стабильные API и база, доработка мелочей |
| Release Candidate | Финальная проверка перед запуском | Тестировщики, стейкхолдеры | Заморозка кода, только исправление блокеров |
| Release / GA | Коммерческая эксплуатация | Все пользователи | Полная стабильность, SLA, поддержка |
Где мы сейчас
Платформа — работающий прототип, который по объёму функций уже перерос иные MVP: три роли со своими кабинетами, полный цикл проверки данных Ассоциацией, расчёт индекса племенной ценности с настраиваемыми профилями весов, родословная вглубь до девятого колена, выпуск племенных документов с журналом выдачи.
И всё-таки это не MVP. MVP — не про объём функций, а про проверку ценности на реальном рынке. Пока в базе синтетическое стадо, построенное по реальным распределениям, и нет ни одного хозяйства, которое ведёт здесь настоящий учёт, называть систему MVP было бы преувеличением. Отметка сдвинется, когда появятся реальные данные и первые пользователи, — и не раньше.
Что это значит на практике: показать можно всё, положиться пока не на что. Отсюда и порядок ближайших работ — не новые разделы, а то, что превращает прототип в продукт.
Переход: прототип → продукт
Прототип становится продуктом, когда выполнены четыре условия. Ниже — что они означают и как обстоит дело у нас. Наполовину сделанное отмечено как наполовину сделанное: страница, где всё зелёное, не сообщает ничего.
Архитектурная устойчивость
сделаноЛогика и база спроектированы под масштаб, а не как временный костыль
Схема прошла ревизию: 28 правил целостности в самой базе, история оценок отдельно от снимка, журнал правок карточки. Проверено на 280 тысячах записей — страница книги открывается за 0,4 секунды, карточка за 0,1.
Обработка ошибок
частичноСистема отвечает внятно на нештатное, а не падает с невнятным стеком
Импорт объясняет каждую непринятую строку, миграции и осмотр окружения дают команду починки, ошибки устаревшей схемы отвечают инструкцией. Общего перехвата на уровне приложения пока нет.
Безопасность и разграничение прав
частичноРоли, изоляция данных между хозяйствами, защита персональных данных
Роли работают, изоляция хозяйств проверяется отдельным скриптом-ревизией, роль эксперта Ассоциации не может править чужие данные. Впереди — точечный доступ вместо нынешнего «открыть карточку целиком» и аудит персональных данных.
Инфраструктура и CI/CD
впередиАвтоматическая сборка, тесты, мониторинг и логирование
Есть Docker, проверки готовности (/healthz) и набор служебных ревизий, запускаемых вручную. Автоматической сборки, тестов и мониторинга нет — это ближайшая работа, и без неё говорить о продукте рано.
Что означают буквы в версиях
Alpha, Beta, RC
Alpha — ключевой функционал есть, но продукт далёк от завершения: много ошибок, интерфейс меняется, структура базы может сбрасываться. Задача этапа — найти сбои во взаимодействии компонентов.
Closed Beta — доступ по приглашениям. Смысл не в количестве, а в качестве обратной связи: специфические сценарии, которые внутри команды не воспроизвести.
Open Beta — доступ всем желающим. Здесь проверяется инфраструктура под потоком пользователей и собираются метрики: частота падений, время ответа.
Release Candidate — версия, которая станет релизом, если в ней не найдут критических дефектов. Объявлена заморозка кода: новые возможности не добавляются категорически, только исправления.
Семантическое версионирование
Формат МАЖОР.МИНОР.ПАТЧ — три числа, каждое со своим обещанием:
- Мажорная (1.0.0) — ломающие изменения: обратная совместимость API или структуры данных нарушена.
- Минорная (1.1.0) — новая функциональность без нарушения совместимости.
- Патч (1.1.1) — исправление ошибок, новых возможностей нет.
Путь выглядит так: 0.1.0-alpha → 0.9.0-rc.1 → 1.0.0 — первый коммерческий релиз.
Текущая версия платформы — 0.16.0-alpha. Ноль в начале говорит прямо: публичного обещания совместимости пока нет, структура данных может измениться. Что именно появлялось в каждой версии — на вкладке «Версии».
Что нужно, чтобы двинуться дальше
До MVP — первое хозяйство, которое ведёт в системе настоящий учёт, и его данные вместо синтетических. Ценность проверяется пользователем, а не объёмом функций.
До закрытой беты — автоматическая сборка, тестирование и мониторинг. Пускать внешних пользователей туда, где о падении узнают от них же, нельзя.
До релиза — интеграции, ради которых система и задумана: ФГИАС ПР, ВетИС и ICAR. Без них хозяйству придётся вести учёт дважды, а это ровно то возражение, с которого продукт начинался.
Конкретные работы со сроками — на вкладке «Дорожная карта», технические подробности — на вкладке «Документация».