Жизненный цикл требования (Requirement Life Cycle Management, RLCM) — упорядоченная модель состояний и переходов для одного элемента спецификации от фиксации идеи до архивирования. На проекте без явной state-машины требования «теряются» в бэклоге, baseline смешивается с черновиком, а изменения не попадают в аудит. Эта статья даёт каноническую модель состояний, правила переходов и роли BA и PM — без дублирования инструментов и процессов соседних заметок раздела 02.05.

1. Суть темы

Жизненный цикл требования — формальная модель, определяющая:

  • Состояния (статусы) элемента спецификации;
  • Правила перехода между состояниями, включая entry/exit criteria;
  • Атрибуты, обновляемые на каждом этапе;
  • События, инициирующие переход (решение PO, baseline, merge в main, результат теста).

Цели RLCM:

В отличие от 00.03 Жизненный цикл ПО и место аналитика (SDLC, STLC), RLCM описывает «микрожизнь» одного REQ/Story, а не фазы проекта. Один спринт может одновременно содержать требования в In Elaboration, In Development и Verified.

Два уровня согласования

Главный источник путаницы — смешение первичного одобрения и baseline. В канонической модели это разные gate:

GateСостояниеСмыслТипичный владелец перехода
Gate 1 — включение в работуApprovedПотребность валидна, соответствует целям, элемент включён в бэклог; полная спецификация ещё не обязательнаPO / бизнес-спонсор
Gate 2 — заморозка спецификацииBaselinedТекст спецификации согласован, присвоена версия (например v1.0); дальнейшие правки — только через change controlBA + стейкхолдеры; в жёстких процессах — CCB

После baseline требование может быть In Development с версией 2.0 — это новая версия текста после change request, а не «отсутствие baseline». Версия фиксируется при переходе в Baselined или при переутверждении из Changed; история хранится в VCS или audit trail (07.05 Системы контроля версий (Git) для документации).

RLCM и SDLC: что видит PM

Project baseline (объём релиза, сроки) и REQ baseline (версия текста) — разные артефакты. PM читает статусы REQ как сигнал готовности к планированию и поставке:

Статус REQОжидание PMСвязь с фазой SDLC
Proposed, DeferredНе в commit релизаИнициация, discovery
ApprovedВ бэклоге, нужна оценкаПланирование
In Elaboration, BaselinedГотовность к спринту / контракт baselineАнализ, проектирование
In Development, ImplementedРабота в потоке, риск срыва спринтаРазработка, сборка
Verified, AcceptedГотовность к демо / UATТестирование (STLC)
Closed, DeprecatedПоставлено в prod или выведеноЭксплуатация

Детали фаз SDLC — в 00.03 Жизненный цикл ПО и место аналитика (SDLC, STLC); здесь важна стыковка «статус одного REQ ↔ решение PM о включении в релиз».

2. Ключевые понятия

Гранулярность: Epic, Story, Task

Lifecycle не один на все уровни. Правило для Jira и аналогов:

УровеньWorkflowЧто отслеживается
Epic / FeatureУпрощённый: Proposed → Approved → In Progress → DoneБизнес-ценность, release, декомпозиция; детальный RLCM — на дочерних stories
Story / REQ / Use CaseПолная state-машина нижеСпецификация, AC, baseline, трассировка до тестов
Task / Sub-taskНаследует от родителя: To Do → In Progress → DoneИсполнение; смена Verified/Accepted — только на уровне story

Definition of Ready (DoR) и Definition of Done (DoD) из 05.02 Scrum и Kanban (аналитик в Agile) накладываются поверх статусов: story не переходит в In Development, пока DoR не выполнен, даже если PO формально нажал «Approved». Формат элемента (User Story, Use Case) не меняет машину состояний — см. 04.03 Use Case vs User Story — выбор подхода.

Когда вводить полную машину: контрактный baseline, регуляторика, мультикоманда — каноническая модель или её явный маппинг (05.01 Waterfall и V-model). В чистом Scrum на Story достаточно минимума статусов с маппингом на DoR/DoD; полный RLCM — когда без audit trail и версий текста нельзя восстановить «что было согласовано на момент релиза».

Каноническая state-машина

Модель обобщает BABOK RLCM и CMMI RDM; Baselined выделен явно, чтобы не смешивать backlog approval и заморозку спецификации. Диаграмму состояний можно использовать как артефакт спецификации — см. 03.02.04 Диаграмма состояний (State Machine Diagram).

stateDiagram-v2
    [*] --> Proposed
    Proposed --> Approved : gate 1: в бэклог
    Proposed --> Rejected : отклонение
    Proposed --> Duplicated : дубликат
    Proposed --> Deferred : отложено
    Deferred --> Proposed : возврат
    Approved --> In_Elaboration : детализация
    In_Elaboration --> Baselined : gate 2: baseline vX.Y
    Baselined --> In_Development : в итерацию
    Approved --> In_Development : hotfix / минор без re-baseline*
    In_Development --> Implemented : dev завершён
    Implemented --> Verified : тесты пройдены
    Verified --> Accepted : приёмка PO/заказчика
    Accepted --> Closed : в проде
    Closed --> Deprecated : вывод функции
    Deprecated --> [*] : архив
    Closed --> [*] : архив без deprecated
    Approved --> Changed
    In_Elaboration --> Changed
    Baselined --> Changed
    In_Development --> Changed
    Implemented --> Changed
    Verified --> Changed
    Accepted --> Changed
    Changed --> Approved : переутверждение
    Approved --> In_Elaboration : change: нужна re-elaboration
    Approved --> Baselined : change: re-baseline без re-elaboration
    Approved --> In_Development : change: минор, dev не завершён
    note right of Changed : Критерии выбора пути — см. §3
    note right of Baselined : Версия текста фиксируется здесь;\nchange → новая версия

*Переход Approved → In Development без Baselined допустим только по явной политике (мелкий дефект, spike) с записью risk acceptance в change log — тот же термин, что и «documented exception» в exit criteria ниже.

Словарь состояний

  • Proposed (New) — идея зафиксирована; источник и черновик описания есть. ИИ-черновики тоже начинают здесь, с меткой «сгенерировано AI» до проверки аналитиком.
  • Approved — gate 1: включено в бэклог, приоритет согласован (02.03.02 Приоритизация требований (MoSCoW, WSJF, Кано)); полная спецификация не обязательна.
  • In Elaboration — детальная проработка: AC, зависимости, модели (02.03.03 Спецификация требований (SRS, Use Case, User Story)).
  • Baselined — gate 2: спецификация согласована, версия зафиксирована; изменения — через 02.05.02 Управление изменениями (Change Control Board).
  • In Development — реализация в работе.
  • Implemented — артефакт поставлен в целевую среду сборки (PR merged, образ собран); это не обязательно prod. Автопереход из CI/CD допустим сюда, не в Closed (07.06 CICD и конвейеры — влияние на требования).
  • Verified — верификация: формальная проверка «сделано ли так, как написано» (исполнение тестов по трассировке REQ→test case) — см. 02.04.01 Верификация и валидация (V&V) и фазу STLC в 00.03 Жизненный цикл ПО и место аналитика (SDLC, STLC).
  • Accepted — валидация: PO/заказчик подтверждает «то ли сделали» по 02.04.02 Критерии приёмки (Acceptance Criteria).
  • Closed — развёрнуто в production (или иная согласованная operational-среда); новые правки только через change.
  • Deprecated — функциональность выведена или заменена; история сохраняется для аудита.
  • Deferred — не в текущем релизе; reprioritization — 02.05.02 Управление приоритетами в условиях изменчивости.
  • Rejected — терминально отклонено; причина обязательна.
  • Duplicated — терминально объединено с каноническим REQ; поле «заменено на ID» указывает на master-запись.
  • Changed — транзитный статус change request; детали impact analysis и решения CCB — в 02.05.02 Управление изменениями (Change Control Board).

NFR проходят тот же workflow, но gate 2 для них часто включает отдельные review (performance, security sign-off); критерии — в 08.02 Нефункциональные требования (НФТ) — классификация и стандарты. Performance-REQ baselined, когда согласованы измеримые пороги и способ проверки, а не «когда написали абзац в Confluence».

Verified vs Accepted

VerifiedAccepted
ВопросРеализация соответствует спецификации?Решает ли это нужную бизнес-проблему?
КтоQA / автотестыPO, заказчик
Связь с V&VVerifyValidate

При failed-тесте: Verified не достигается; дефект трассируется к REQ (02.03.04 Трассировка требований (концепция)). При reopen после Accepted — только через Changed с обязательным CR. Статус Reopened в Jira и аналогах не входит в каноническую модель: настройте его как alias перехода в Changed или локальный подстатус с тем же impact analysis.

Сквозной пример

REQ-AUTH-023 (вход по SSO): Proposed (интервью) → Approved (refinement) → In Elaboration → Baselined v1.0 → In Development → Implemented (PR в main) → Verified → Accepted → Closed (prod, Release 2.3). После baseline заказчик меняет AC по таймауту сессии → Changed → Approved → Baselined v2.0 (затронут контракт API) → In Development. Без смены статуса правка v1.0 «молча» потеряла бы audit trail.

Атрибуты lifecycle

АтрибутНазначениеПример
IDНеизменяемый ключREQ-AUTH-023
ТипКлассификация02.03.01 Классификация требований (БТ, ФТ, НФТ)
ПриоритетДля планирования PMMust have
Текущее состояниеСтатус машиныBaselined
Версия текстаSnapshot спецификацииv1.0 при baseline, v2.0 после change
Связанные требованияЗависимости02.05.01 Управление зависимостями между требованиями
Целевой релиз / спринтПлан PMRelease 2.3
Lead Time TargetSLA по статусам (метрика потока)5 дней In Elaboration — см. 08.01 Метрики и KPI процесса анализа

Принцип для любого инструмента (02.05.06 Инструменты управления требованиями (Jama, DOORS, Confluence)): смена статуса = событие с автором, временем и обоснованием.

3. Как применяется в работе аналитика

Роли BA и PM

ЗонаPM / POBA
Backlog gateProposed → Approved, Deferred, приоритет, releaseКонсультация, проверка на дубликаты и scope (02.05.03 Управление объёмом (Scope Creep) и ожиданиями)
СпецификацияУчастие в reviewВладелец Approved → In Elaboration → Baselined, качество текста (02.04.03 Управление качеством требований)
ChangeРешение о scope/costImpact analysis, обновление спецификации из Changed
ПриёмкаVerified → AcceptedПоддержка демо, актуальность AC
ПланированиеLead time, capacity по статусамОценка аналитической части (02.05.04 Совместная оценка трудоёмкости требований)

PM использует статусы для прогноза поставки; BA — для зрелости спецификации и трассировки.

Entry и exit criteria (ядро переходов)

ПереходExit criteria (минимум)
→ ApprovedСвязь с бизнес-целью; нет дубликата; предварительный приоритет
→ In ElaborationGate 1 пройден (Approved); PO включил в работу
→ BaselinedAC записаны; зависимости проверены; рецензия пройдена; версия присвоена (10.04 Чеклист аналитика перед стартом разработки)
→ In DevelopmentDoR выполнен; Baselined или documented exception (= risk acceptance в change log для hotfix/spike); блокирующие зависимости ≥ Baselined (02.05.01 Управление зависимостями между требованиями)
→ ImplementedPR merged / артефакт в целевой среде сборки (не prod)
→ VerifiedИсполнение тестов по трассировке REQ→test case (02.04.01 Верификация и валидация (V&V), STLC в 00.03 Жизненный цикл ПО и место аналитика (SDLC, STLC))
→ AcceptedДемо PO; AC подтверждены
→ ClosedРелиз в prod; документация актуальна
→ ChangedЗарегистрирован CR; impact analysis выполнен — процедура в 02.05.02 Управление изменениями (Change Control Board)

Путь после Changed → Approved

После переутверждения аналитик выбирает один следующий рабочий статус по impact:

Следующий статусКогда достаточно
In ElaborationМеняются AC, модели, границы scope; нужна повторная проработка
BaselinedТекст уточнён, но AC/контракт API/NFR изменены — нужна новая версия vX.Y и gate 2
In DevelopmentМинорная правка без изменения AC и внешних контрактов; dev ещё не завершён или hotfix на уже baselined v1.0

Если gate 1 затронут (отмена ценности, смена приоритета «в ноль») — не обходите Approved: CCB/PO принимает решение до возврата в рабочий поток.

Переходы с учётом зависимостей

Перед In Development проверьте граф 02.05.01 Управление зависимостями между требованиями: prerequisite-REQ должны быть минимум Baselined. Допуск In Development/Implemented у prerequisite — политика проекта: ускоряет старт, но переносит риск интеграции на PM (зависимость может измениться до Verified). Инструмент может блокировать переход автоматически; в Confluence-only процессах — чеклист в DoR.

Ролевая модель переходов

РольРазрешённые переходы
АналитикApproved → In Elaboration; In Elaboration → Baselined (после review); → Rejected/Duplicated; инициация → Changed; после Changed → Approved — выбор In Elaboration / Baselined / In Development
PO / бизнесProposed → Approved; Verified → Accepted; → Deferred
РазработчикIn Development → Implemented
QAImplemented → Verified; reopen через дефект → Changed
CCB / Change ManagerChanged → Approved

Внутренний черновик BA без gate 1 остаётся в Proposed до решения PO — переход Proposed → In Elaboration не каноничен. Автопереходы из CI/CD — только в Implemented (merge/build), не в Closed; prod — отдельный release gate.

ИИ и lifecycle

ИИ влияет на RLCM там, где меняется контроль перехода: черновики попадают в Proposed с меткой происхождения; переход в Approved — только после human-in-the-loop. Семантический поиск дубликатов поддерживает переход Proposed → Duplicated (с обязательной проверкой аналитиком). Генерация тест-кейсов и извлечение из протоколов — в 11.07 Практические кейсы применения LLM в анализе и 11.03 Промпт-инжиниринг для аналитика.

4. Типовые ошибки и ограничения

ОшибкаПоследствиеКак избежать
Один статус «Approved» на backlog и baselineНеконтролируемые правки в devРазделить gate 1 и Baselined
Lifecycle один на Epic и TaskШум в Jira, фальшивая отчётностьРазные workflow по уровням
Правка текста без ChangedПотеря audit trail, scope creepЛюбая post-baseline правка — через CR
Verified = «заказчик доволен»Путаница на аудите V&VРазвести Verified и Accepted явно
Implemented = «уже в prod»Ложная отчётность при CI/CDImplemented = сборка; Closed = prod
Игнор зависимостей при переводе в DevЗаблокированные stories в спринтеDoR + проверка prerequisite
Duplicated без ссылки на masterПотеря истории решенийОбязательное поле «заменено на REQ-XXX»
Автопереходы CI/CD без политикиЛожный Implemented / пропуск QAСогласовать с QA и BA

Упрощённый Agile-workflow (To Do → In Progress → Done) допустим на уровне Task, но на Story минимум фиксируйте: ready for dev (≈Baselined), in test (≈Implemented), done (≈Accepted) — иначе метрики и трассировка к релизу не восстановить. Полную state-машину вводите при контрактном baseline и аудите (05.01 Waterfall и V-model); в потоковом Scrum — маппинг на DoR/DoD (05.02 Scrum и Kanban (аналитик в Agile)).

Связи с другими разделами базы

Источники и дополнительные материалы

Книги и стандарты

  • BABOK Guide v3, IIBA — Knowledge Area «Requirements Life Cycle Management». Обзор: IIBA: BABOK (полный гид — по членству IIBA). См. 00.04 Основные стандарты и своды знаний (BABOK, SEBoK, ISO 29148).
  • ISO/IEC/IEEE 29148:2018 — Life cycle processes — Requirements engineering (актуальная редакция 2018, статус подтверждён в 2024). ISO 29148, IEEE 29148-2018.
  • CMMI V2.0 — Process Area Requirements Development and Management (RDM). CMMI Institute.
  • Karl E. Wiegers, Joy Beatty — Software Requirements, 3rd ed. (2013), гл. о жизненном цикле требований.
  • Suzanne Robertson, James Robertson, Adrian Reed — Mastering the Requirements Process, 4th ed. (Addison-Wesley, 2024). Pearson — 4th ed.
  • IREB CPRE Advanced Level — Requirements Management (2021). IREB CPRE.

Практика и инструменты

Дополнительно

  • Joy Beatty — Visual Models for Requirements (2021) — модели состояний в спецификации.