diff --git a/docs/work-items/ET-011/01-brd.md b/docs/work-items/ET-011/01-brd.md new file mode 100644 index 0000000..2348e90 --- /dev/null +++ b/docs/work-items/ET-011/01-brd.md @@ -0,0 +1,67 @@ +# BRD: ET-011 (untitled) + +**Статус:** BLOCKED — недостаточно входных данных + +## Входные данные + +Источник: `docs/work-items/ET-011/00-business-request.md` + +Содержимое business request: + +``` +# Business Request: untitled + +Work Item ID: ET-011 + +## Description + +TBD +``` + +Title: `untitled`. +Description: `TBD`. + +## Заключение аналитика + +Business request не содержит: + +- бизнес-цели (зачем делаем); +- описания проблемы или пользовательской боли; +- целевой аудитории и сценариев использования; +- ожидаемого результата / value; +- scope (что входит, что не входит); +- связи с фазой roadmap (PH-1..PH-9) или с существующими ET-задачами; +- ограничений (бюджет, сроки, технические). + +Title `untitled` не позволяет даже предположить домен изменения +(routing, terrain, UI, GPS-tracks, PWA, инфраструктура и т. д.). + +В таком виде BRD написать невозможно: любая формулировка цели, +acceptance criteria и test plan будет фабрикацией со стороны аналитика +и нарушит правило проекта №3 ("Никогда не комментировать ТЗ задним +числом — если ТЗ не годится, возвращай в Анализ"). + +## Что нужно от заказчика + +Минимальный набор для разблокировки: + +1. **Title** — короткое имя задачи (вместо `untitled`). +2. **Бизнес-цель** — одно предложение: какую проблему решаем и для + кого. +3. **Контекст** — к какой фазе относится (PH-1..PH-9) или какой ET-NNN + расширяет/исправляет. +4. **Scope** — список того, что должно появиться/измениться (UI, + API, БД, тайлы, pipeline, документация). +5. **Out of scope** — явно перечислить, что НЕ делаем. +6. **Acceptance hint** — как заказчик поймёт, что задача готова + (видимый артефакт, поведение, метрика). + +## Рекомендация + +Вернуть work item ET-011 на этап **Backlog / Refinement** для +заполнения `00-business-request.md`. После заполнения — повторный +запуск этапа `analysis`. + +Все остальные артефакты пакета (`02-trz.md`, `03-acceptance-criteria.md`, +`04-test-plan.yaml`, `04b-ui-test-cases.md`) созданы в том же +статусе BLOCKED и не пригодны для передачи в Architect / Dev. diff --git a/docs/work-items/ET-011/02-trz.md b/docs/work-items/ET-011/02-trz.md new file mode 100644 index 0000000..9e42543 --- /dev/null +++ b/docs/work-items/ET-011/02-trz.md @@ -0,0 +1,35 @@ +# ТЗ: ET-011 (untitled) + +**Статус:** BLOCKED — недостаточно входных данных + +## Обоснование статуса + +Техническое задание не может быть сформулировано, потому что +вышестоящий артефакт `01-brd.md` находится в статусе BLOCKED: +business request содержит только `TBD` и `untitled`. + +ТЗ без BRD — это спекуляция. Аналитик не имеет права придумывать +функциональные и нефункциональные требования за заказчика, особенно +при полном отсутствии контекста (домен задачи не определён). + +## Что заблокировано + +Все стандартные разделы ТЗ невозможно заполнить: + +| Раздел | Причина блокировки | +|---|---| +| Функциональные требования | нет описания фичи в BRD | +| Нефункциональные требования | нет SLA/performance целей в BRD | +| Затрагиваемые компоненты | scope не определён (src/api, src/web, migrations, scripts, OSRM, tiles — неизвестно) | +| Интеграции | нет указания на внешние системы | +| Данные / миграции | не ясно, нужны ли изменения схемы | +| UI/UX требования | не известно, есть ли UI часть | +| Совместимость / миграция данных | scope изменений не определён | +| Логирование / мониторинг | не известно, что мониторить | +| Безопасность | не известна модель угроз | + +## Действие + +Не передавать в `architect` и `dev`. Вернуть в `analysis` после +заполнения business request — см. `01-brd.md` § "Что нужно от +заказчика". diff --git a/docs/work-items/ET-011/03-acceptance-criteria.md b/docs/work-items/ET-011/03-acceptance-criteria.md new file mode 100644 index 0000000..96540f8 --- /dev/null +++ b/docs/work-items/ET-011/03-acceptance-criteria.md @@ -0,0 +1,32 @@ +# Acceptance Criteria: ET-011 (untitled) + +**Статус:** BLOCKED — недостаточно входных данных + +## Обоснование + +Acceptance criteria выводятся из BRD (`01-brd.md`) и ТЗ +(`02-trz.md`). Оба артефакта в статусе BLOCKED, поскольку +исходный `00-business-request.md` содержит только `TBD`. + +Без сформулированной бизнес-цели и scope невозможно определить, +какое поведение системы считать "приёмлемым". + +## Что было бы здесь при наличии BRD + +Шаблон, который нужно будет заполнить после разблокировки: + +``` +## AC-1: <короткая формулировка> +Given <предусловие> +When <действие пользователя/системы> +Then <наблюдаемый результат> +``` + +Минимум 1 AC на каждое функциональное требование из ТЗ + отдельные +AC для нефункциональных (performance, доступность, тёмная тема, +mobile viewport, deploy на test). + +## Действие + +Дождаться заполнения `00-business-request.md`. Повторно запустить +этап `analysis`. diff --git a/docs/work-items/ET-011/04-test-plan.yaml b/docs/work-items/ET-011/04-test-plan.yaml new file mode 100644 index 0000000..4d533ec --- /dev/null +++ b/docs/work-items/ET-011/04-test-plan.yaml @@ -0,0 +1,25 @@ +--- +work_item: ET-011 +title: untitled +status: BLOCKED +reason: | + Business request (docs/work-items/ET-011/00-business-request.md) + содержит только "TBD". BRD и ТЗ не сформулированы. Test plan не + может быть составлен без функциональных требований и acceptance + criteria. + +unit: [] +integration: [] +e2e: [] + +next_action: + type: return_to_refinement + owner: product + required_fields: + - title + - business_goal + - context_phase_or_parent_work_item + - scope_in + - scope_out + - acceptance_hint + reopen_stage: analysis diff --git a/docs/work-items/ET-011/04b-ui-test-cases.md b/docs/work-items/ET-011/04b-ui-test-cases.md new file mode 100644 index 0000000..1ea0f14 --- /dev/null +++ b/docs/work-items/ET-011/04b-ui-test-cases.md @@ -0,0 +1,44 @@ +# UI Test Cases: ET-011 (untitled) + +**Статус:** BLOCKED — недостаточно входных данных + +## Обоснование + +UI-тест-кейсы создаются по правилу system prompt'а: +> Когда создавать 04b-ui-test-cases.md: ... Если сомневаешься — создавай. + +Файл создан, но в статусе BLOCKED. Причина: business request пуст +(`TBD`), и невозможно определить: + +- затрагивает ли задача UI вообще; +- какой именно UI элемент (новая кнопка, панель, слой, layout, тема, + mobile поведение); +- какие CSS-селекторы проверять; +- какой viewport (desktop, mobile, both). + +Любой тест-кейс, написанный сейчас, будет фабрикацией. + +## Что было бы здесь при наличии BRD + +Шаблон, который нужно будет заполнить: + +``` +### TC-UI-01 — <название> +- type: ui +- viewport: desktop | mobile | both +- steps: + 1. navigate: https://openclaw.mva154.duckdns.org/enduro/ + 2. wait: 5000 + 3. click: + 4. screenshot: + 5. check-visual: <что проверяем> +``` + +Типичные селекторы, доступные сейчас в `src/web/index.html` +(на момент создания этого файла): `#sheet-gpx`, `#unit-toggle`, +`#terrain-toggle`, `#poi-checkbox`, `#map`. Их актуальный список +нужно перепроверить на момент разблокировки задачи. + +## Действие + +Не запускать UI-тесты. Дождаться заполнения `00-business-request.md`.