Перейти к содержанию

Как принимаются решения: OSS сначала, ADR, HowToDemo

Практика организации держится на одном шаблоне, который повторяется в десятках репозиториев. Его стоит перенять как «карту решений» команды.

Шаблон ADR

Каждое новое звено проходит одну и ту же процедуру до единой строки кода:

  1. Контекст — что нужно и почему сейчас.
  2. Кандидаты с открытым исходным кодом. Сравнение по таблице: покрытие требований, лицензия, живость проекта, стек, цена развёртывания и доработки.
  3. Решение и «Рассмотренные варианты». Почему отвергнуты остальные.
  4. Последствия.

С нуля пишут, только если подходящего OSS нет или он явно хуже; причина фиксируется в сравнении. Примеры решений организации:

Задача Выбрано Отвергнуто
Хранилище обещаний Backlog.md tududi, Vikunja, Memos
Доска задач агентов Hermes Kanban Plane, Multica, Kanboard
Поддержка клиентов Chatwoot Zammad (6+ ГБ), FreeScout
Календарь FullCalendar Schedule-X
Почтовый интерфейс Roundcube Свой UI
Чат в виджете assistant-ui Deep Chat, chatscope, nlux
MCP-сервер FastMCP 1MCP, ContextForge, MetaMCP

Решения владельца и пул вопросов

Принятые владельцем решения нумеруются (Q1–Q35, D1–D11) и «не пересматриваются без него». Интервью с владельцем идёт одним пулом вопросов: сначала собрать только действительные сомнения, затем работать автономно до результата.

Критерий готовности — HowToDemo

Готовность определяется сценарием, который можно пройти руками: у поддержки клиента — семь шагов, проверяемых тестом; у Инбокса — скрипт проверки под тестовой учёткой без записи в трекер; у каждого эпика — раздел HowToDemo, а граничный случай, не блокирующий демо, — отдельная подзадача. Итоговый отчёт строится по шагам сценария.

Правила гигиены

  • Конфигурация среды живёт вне git (в репозитории только *.example); перед отправкой хук блокирует рабочие данные.
  • Знание, содержащее имена людей, — в отдельном локальном репозитории, не в общем.
  • Прод — это слитый коммит. Деплой из main, а не патчами; несоответствие — повод для задачи.
  • Журналы действий агентов — только добавление.

Что это даёт методологии

Подтверждает «git как носитель истины» (раздел 14) и «делегирование» (П9): решения и их основания хранятся как файлы, а не как память людей. Нарушение принципа «прод = git» тоже встречается — см. где практика расходится.