Инженерия требований
«Самой сложной задачей при создании системы является точное определение того, что требуется создать… Ни одна задача не приносит такого же вреда конечной системе в случае ошибки. И нет ни одной задачи настолько же сложной в исправлении последствий.»
Фредерик Брукс (ученый в области вычислительных систем, виртуальной реальности).
Требования это основной источник данных для проектирования технических систем и от того на сколько эффективна реализована работа с требованиями, зависит успешность всего проекта.
В мире сложных технических систем, требования заинтересованных сторон могут иметь различную форму, от строго формализованных требований до малопонятных идей и "хотелок". Выявлением этих "хотелок", их превращением в набор валидированных и верифицированных требований, а также их управлением, занимается Инженерия требований.
Согласно ISO 29148 п 4.1.19 - Инженерия требований - комплексная дисциплина, в основе которой лежит посредничество между приобретающей стороной и поставщиком, устанавливающая и управляющая требованиями к системе, программному обеспечению и услугам.
Инженерия требований занимается выявлением, извлечением, разработкой, анализом, определением методов верификации, валидации, коммуникации, документирования и управления требованиями.
В Российской стандартизации, термин Инженерия требований был заменен на Управление требованиями. По мнению авторов данного материала, термин "Управление требованиями" семантически не отражает всех процессов инженерии требований, а является лишь частью комплексного процесса (см. рисунок ниже).

Инженерия требований возникла в процессе развития методологии системной инженерии как одно из средств удовлетворения потребности в разработке практических рекомендаций для системных инженеров.
В центре внимания инженерии требований находятся все аспекты работы с требованиями, необходимыми для поддержки полноценного жизненного цикла требований:
Выявление требований
Выявление требований, заключается в получении требований от заинтересованных сторон, нормативных документов или любых других возможных источников. Для успешности проекта, крайне важно определить все возможные требования, которые могут быть предъявлены к изделию, для минимизации упущенных требований, или поздно-выявленных требований, поэтому, по мимо непосредственного выявления требований, инженерия требований решает смежные задачи - например, выявление заинтересованных сторон.
Традиционным подходом к выявлению требований является экспертный метод и опыт, но они не гарантируют, что все требования будут выявлены. Именно неполнота требований, согласно исследованиям является одним из важнейших факторов, приводящих к неуспеху проектов.
Инженерия требований описывает формализованные методы, позволяющие минимизировать упущенные требования. Так, важным методом, поддерживающим выявление требований, является архитектурное проектирование.
Архитектурное проектирование, через создание моделей, анализ компромиссов и визуализацию, превращает разрозненные пожелания в полный, непротиворечивый и реализуемый набор требований, что критически важно для успеха сложных технических систем.
Процесс определения архитектуры и выявление требований являются интегральными, параллельными и итеративными процессами.
Взаимодействие процесса выявления требования и процесса определения архитектуры наглядно иллюстрирует модель двух вершин.

Подробное описание процесса выявления требований, можно найти в методологии управления требованиями, разработанной ГК "ПЛМ Урал".
Формулировка требований
Плохо сформулированное требование может свести на нет все усилия потраченные на выявление требований. Формулировка требований может быть двусмысленной и тогда исполнитель требования реализует его не так как требование замыслил автор. Формулировка требований может быть неполной, и тогда для его реализации потребуется множество уточнений, либо исполнитель домыслит его самостоятельно, что может привести к результату, отличному от ожидаемого.
Процесс формулировки требований заключается в преобразовании информации о требовании в структуру текста, отвечающую критериям качества (правилам).
Инженерия требований предлагает критерии качества, по которым можно оценить правильность формулировки требований, предлагает подходы к формулировкам требований (например на основе шаблонов), и таким образом позволяет выстроить эффективный процесс формулировки требований.
Подробное описание процесса формулировки требований, можно найти в методологии управления требованиями, разработанной Группой компаний "ПЛМ Урал".
Анализ требований
Анализ требований — это процесс, в рамках которого выполняется осмысление требований, полученных в результате процесса выявления требований.
Анализ требований, заключается в детализации, декомпозиции, уточнении требований и устранении противоречий. В процессе анализа, требования, по необходимости, моделируются, сортируются, ранжируются и, наконец, предаются на вход процессов формулировки и документирования. В конечном итоге, анализ требований позволяет подготовить спецификацию требований к формальным процессам проверки, согласования и утверждения. Далее, анализ требований выполняется в процессе проверки, согласования и утверждении требований, участниками этого процесса.
Инженерия требований описывает различные методы и инструменты, позволяющие выполнить анализ требований, например:
- Выявить нереализуемые требования;
- Выявить ненужные (лишние требования);
- Определить противоречивые требований.
Таким образом обеспечивается требуемое качество требований и набора требований.
Подробное описание процесса формулировки требований, можно найти в методологии управления требованиями, разработанной ГК "ПЛМ Урал".
Документирования требований
Документирование требований преследует следующие цели:
- Обеспечить необходимый объем и форму описания сведений о требовании;
- Зафиксировать описание требования в принятой всеми форме;
- Обеспечить доступ к требованиям всем заинтересованных сторон участвующим в процессах ЖЦИ.
Инженерия требований описывает способы и инструменты документирования требований, в частности обеспечивающих моделе-ориентированное представление требований.
Подробное описание процесса формулировки требований, можно найти в методологии управления требованиями, разработанной ГК "ПЛМ Урал".
Трассировка требований
Требование может быть связано с другими данными (другим требованием, доказательным документом, функцией, конструкторский документацией и др.). В процессах управления требованиями важно документировать существующие связи требований.
Информация о связях требований облегчает выполнение анализа влияния, помогая определить все рабочие продукты, которые вам может понадобиться изменить для реализации предложенного изменения.
Связи помогают следить за развитием требования в обоих направлениях – от первоисточника к реализации и наоборот.
В зарубежной практике работы с требованиями используется термин «Трассировка» и «Трассируемость».
Трассируемость - задокументированная взаимосвязь двух или более элементов процессов разработки. Например, взаимосвязь между требованием и его источником или методом верификации и проверяемым требованием. Термин «Трассируемость» относится к документированию связей между любыми элементам процесса разработки (используемых для доказательства соответствия требованиям), а не только к требованиям.
Реализация полноценной трассировки требований возможна только при управлении требованиями средствами PDM-системы (например ЛОЦМАН:PLM).

Внедрение процесса трассировки требований обеспечивает выполнение важных задач, например:
- Обнаружение пропущенных требований: обнаружение требования, которые не связаны с какими-либо дочерними требованиями или с проектными, отсутствие связи явно сигнализируете том отсутствует часть требований.
- Обнаружение необоснованных требований: обнаружение требований, которые не связаны с источниками в виде родительских требований или проектных решений, сигнализирует о том, что требование может быть лишним, не нужным или как минимум требует процесса обоснования.
- Контроль выполнения требований: трассировки требования с мероприятиями по оценке их выполнения позволяет автоматически формировать отчеты, которые можно использовать как для сертификации, так и для контроля процесса проектирования.
- Анализ влияния изменения: информационная прослеживаемость требований с другими информационными объектами позволяет выполнить быструю оценку влияния изменения требования на проектные данные или анализ изменения проектных данных на требование. Без информации о связях возрастает вероятность, что из внимания будет упущен системный элемент
Инженерия требований описывает подходы к трассировке требований, позволяя правильно выстроить данный процесс.
Подробное описание процесса трассировки требований, можно найти в методологии управления требованиями, разработанной ГК "ПЛМ Урал".
Верификации и валидации требований
Традиционно, требования, зафиксированные в технических заданиях, проходят процедуру проверки, согласования и утверждения. При этом, критерии, по которым требования проверяются и согласуются не формализованы. Для формализации процедуры проверки и согласования требований, как минимум, в стандарте предприятия должны быть зафиксированы критерии качества требований (но как отмечено ранее, стандарты по работе с требованиями практически не встречаются в отечественной практике).
Инженерия требований объясняет, что в рамках процесса проверки и согласования требований, выполняется их верификация и валидация.
Верификация требования - проверка содержания и оформления требований на соответствие установленным критериям качества. [ГОСТ 59194–2020, пункт 3.1.5]
Валидация требования - подтверждение того, что разработанные требования позволят создать объект, удовлетворяющий потребностям заинтересованных сторон. [ГОСТ 59194–2020, пункт 3.1.3]
Инженерия требований дает рекомендации по определению критериев, по которым можно сделать заключение о том что требование верифицировано и/или валидировано, описывает подходы и инструменты для верификации и валидации требований.
Постановка и внедрение процесса верификации и валидации требований, на основе рекомендаций инженерии требований, обеспечивает соответствие требований установленным критерием качества и дает гарантию того, что задокументированные требования позволят создать объект, удовлетворяющий потребностям заинтересованных сторон.
Подробное описание процесса верификации и валидации требований, можно найти в методологии методологии управления требованиями, разработанной ГК "ПЛМ Урал".
Структуризация требований
Привычным для работы способом группировки требований, является текстовый документ, менее распространенная, однако более информативная и функциональная форма, это табличное представление требований (например, в MS Excel). При использовании MBSE, представление требований в виде иерархической структуры информационных объектов является одним из распространенных способов. Формирование любых текстовых или табличных документов выполняется как отчет по структуре (или связям) требований - информационных объектов.
Структуризация требований – это процесс группировки требований (набора требований) в иерархические структуры (спецификации требований).
Инженерия требований описывает способы, инструменты и методики структуризации требований.
Подробное описание процесса структуризации требований, можно найти в методологии управления требованиями, разработанной ГК "ПЛМ Урал".
Управление изменениями требованиями
Управление изменениями требований, до 2020 года, сводилось к выпуску дополнений к Техническому заданию. Формальный анализ влияния изменений на конфигурацию не выполнялся. С появлением ГОСТ Р 59193 и ГОСТ Р 59194, процесс управления изменениями требований описали как часть процесса управления конфигурацией. Такой подход позволяет оценить влияние изменений каждого требования на конфигурацию изделия в целом (его функции, характеристики, эксплуатационные свойства и др.).
Инженерия требования описывает методики и инструменты управления изменениями требований, описывает подходы к организации процесса управления изменениями требований как часть процесса управления конфигурацией изделия.
Подробное описание процесса управления изменениями требований, можно найти в методологии управления требованиями, разработанной ГК "ПЛМ Урал".
Контроль выполнения требований
Процесс контроля выполнения требований подтверждает, что требования, предъявленные к объекту, выполнены
Контроль выполнения требований, по факту, является частью процесса верификации и валидации объекта.
- Для проверки выполнения требований необходим объект, реализующий предъявленные к нему требования;
- Для проверки объекта нужны предъявленные к нему требования.
Инженерия требования дает рекомендации по построению эффективного процесса контроля выполнения требований, описывает необходимые методики и инструменты.
Подробное описание процесса контроля выполнения требований, можно найти в методологии управления требованиями, разработанной ГК "ПЛМ Урал".
Постановка данных процессов крайне важна для минимизации проблем, возникающих по причинам связанным с плохой работой с требованиями.