Контекст
В Feature Flow уже есть REQ-*, MET-*, CON-*, EC-*, SC-*, CHK-* и другие идентификаторы, но не зафиксированы:
- минимальный набор основных видов требований с точки зрения системной инженерии;
- граница между функциональными требованиями, качественными/нефункциональными требованиями, ограничениями, интерфейсными, эксплуатационными, safety/security и regulatory requirements;
- правила классификации требования и его размещения по уровням
brief.md, design.md, implementation-plan.md и upstream-документам;
- обязательность требований для разных типов delivery-unit;
- единая связь требования с verification/validation method и evidence;
- необходимость пересмотра существующих мнемокодов и обратная совместимость со старыми пакетами.
Цель
Сделать типы требований явными, проверяемыми и трассируемыми в процессе feature delivery, не превращая каждый feature package в избыточную форму.
Что исследовать и решить
- Зафиксировать компактную taxonomy основных видов требований на базе системной инженерии.
- Определить canonical owner для каждого вида требования:
- stakeholder/product;
- system/feature;
- functional;
- performance/quality;
- interface/data;
- safety/security;
- operational;
- regulatory/compliance;
- constraints;
- verification/acceptance.
- Определить, какие виды обязательны всегда, а какие включаются по trigger/risk profile.
- Проверить текущие идентификаторы Feature Flow (
REQ-*, MET-*, CON-*, EC-*, SC-*, CHK-*, EVID-*, solution IDs) на:
- полноту;
- пересечения и неоднозначность;
- соответствие ownership boundaries;
- удобство трассировки;
- необходимость переименования, разделения или добавления мнемокодов.
- Решить, должны ли нефункциональные требования оставаться в
MET-*/CON-*/EC-* или получить отдельную явную taxonomy.
- Определить минимальные поля требования: формулировка, rationale/source, priority, owner, measurable threshold, verification method, acceptance/evidence reference.
- Обновить при необходимости:
flows/feature.md;
flows/templates/feature/brief.md;
flows/templates/feature/design.md;
flows/templates/feature/implementation-plan.md;
flows/feature-artifact-catalog.md;
- testing/validation guidance;
- priming manifests и lint/doctor checks, если потребуется машинная проверка.
- Описать миграцию существующих feature packages и правило для новых пакетов.
Критерии готовности
Не входит
- Реализация прикладной функциональности.
- Создание полноценного отдельного requirements-management продукта или базы данных.
- Обязательное добавление отдельного документа для каждого вида требований.
- Переписывание всех существующих feature packages без отдельного migration scope.
Вопросы для решения
- Нужны ли отдельные ID для
FR-* и NFR-*, или текущие problem-space IDs достаточно выразительны?
- Где проходит граница между requirement, constraint, design invariant и acceptance criterion?
- Должна ли validation profile определять обязательные requirement classes автоматически?
- Как проверять наличие requirement classes без превращения lint в domain-specific rules engine?
Контекст
В Feature Flow уже есть
REQ-*,MET-*,CON-*,EC-*,SC-*,CHK-*и другие идентификаторы, но не зафиксированы:brief.md,design.md,implementation-plan.mdи upstream-документам;Цель
Сделать типы требований явными, проверяемыми и трассируемыми в процессе feature delivery, не превращая каждый feature package в избыточную форму.
Что исследовать и решить
REQ-*,MET-*,CON-*,EC-*,SC-*,CHK-*,EVID-*, solution IDs) на:MET-*/CON-*/EC-*или получить отдельную явную taxonomy.flows/feature.md;flows/templates/feature/brief.md;flows/templates/feature/design.md;flows/templates/feature/implementation-plan.md;flows/feature-artifact-catalog.md;Критерии готовности
brief.mdпозволяет связать каждый обязательный requirement с acceptance scenario, check и evidence.git diff --check.Не входит
Вопросы для решения
FR-*иNFR-*, или текущие problem-space IDs достаточно выразительны?