Harvest: Core Questions of a First-Time dCMS Pheix User
Цель этого issue — зафиксировать и проработать ключевые вопросы, которые может задать первый внешний пользователь или разработчик dCMS Pheix при знакомстве с системой.
В рамках релиза Harvest важно не продвигать новые фичи, а сформировать доверие к системе через предсказуемость, явные инварианты и честно обозначенные границы ответственности.
Этот issue используется как контейнер для последовательной проработки вопросов, формирующих первичное доверие к dCMS Pheix.
Формат работы
- каждый комментарий посвящён одному вопросу из списка ниже;
- ответы формулируются как эксплуатационные и архитектурные утверждения, а не как маркетинговые обещания;
- допускается фиксировать ограничения и «неподдерживаемые» сценарии — это считается результатом.
Шаблон ответа
-
Краткий ответ
- короткая, однозначная формулировка на 2–4 предложения. Без вводных слов, без оправданий, без «в целом» и «обычно»;
- цель: пользователь должен понять позицию системы за 30 секунд.
-
Контекст и допущения
- подробности:
- В каких условиях этот ответ справедлив;
- Какие предположения делаются о пользователе, окружении или уровне доступа;
- Что не входит в этот ответ.
- цель: зафиксировать рамку, а не универсальность.
- подробности:
-
Инварианты системы
- подробности:
- Какие правила обязательны;
- Что считается нарушением модели;
- Что система никогда не пытается «исправить молча».
- цель: явно отделить корректное использование от некорректного.
- подробности:
-
Поведение системы при нарушении
- подробности:
- Fail-fast или fail-silent;
- Как выглядит ошибка / отказ;
- Меняется ли состояние системы.
- цель: убрать сюрпризы.
- подробности:
-
Граница ответственности
- подробности:
- За что отвечает система;
- За что отвечает пользователь;
- Где система перестаёт давать гарантии.
- цель: зафиксировать доверие через ограничения.
- подробности:
-
Практический сигнал пользователю
- подробности:
- Как понять, что ты всё делаешь правильно;
- Как понять, что ты вышел за пределы модели;
- Что делать дальше (остановиться, читать доки, упростить сценарий).
- цель: дать пользователю опору, а не инструкции.
- подробности:
Вопросы первого пользователя dCMS Pheix
- Какую проблему решает dCMS Pheix и в каких сценариях он не предназначен для использования?
- какие use-cases считаются «нормальными»;
- а где я буду бороться с системой.
- Какие ключевые инварианты системы я обязан соблюдать?
- Что всегда должно быть истинно, чтобы система работала корректно (и где это явно описано?):
- про версии;
- про публикации;
- про источники данных;
- про порядок действий.
- Что всегда должно быть истинно, чтобы система работала корректно (и где это явно описано?):
- Что произойдёт, если я нарушу инварианты или сделаю что-то “не так”?
- при ошибках;
- при некорректном состоянии;
- при конфликте версий?
- Является ли поведение системы fail-fast, и где проходят границы fail-silent зон?
- С какого минимального и безопасного сценария стоит начинать знакомство с системой?
- минимальный, «правильный» путь старта;
- простой сценарий, где сложно всё сломать?
- Какие части системы считаются стабильными, а какие — экспериментальными?
- Как понять, что проблема вызвана ошибкой пользователя, а не багом системы?
- как отличить misuse от дефекта;
- как правильно формулировать проблему;
- есть ли у системы позиция по этому поводу.
- Что Pheix гарантирует мне как пользователю, а что — нет?
- какие гарантии даёт система в отношении данных, целостности и восстановления после ошибок?
- какие свойства данных, версий, публикаций система гарантирует;
- какие сценарии я беру на себя.
- Насколько безопасно экспериментировать с системой без глубокого знания её внутреннего устройства?
- документации;
- логов;
- ошибок;
- примеров.
- Могу ли я использовать и развивать систему без прямого участия автора, и какие ограничения у этого подхода?
- Используется ли Pheix в реальном продакшне и как именно?
- в каких проектах;
- для каких задач;
- с какими ограничениями.
- Что происходит при обновлении версии Pheix?
- как часто ломаются контракты?
- есть ли миграции?
- могу ли я безопасно обновляться?
- Как выглядит типичный жизненный цикл контента в Pheix?
- от создания;
- до обновления;
- до публикации;
- до отката / исправления.
Ожидаемый результат
Результатом работы над этим issue должно стать:
- явное описание эксплуатационных ожиданий;
- снижение когнитивной нагрузки для внешнего разработчика;
- формализация неявных знаний автора;
- вклад в увеличение bus-factor в рамках релиза Harvest.
Edited by Konstantin Narkhov