Продолжаем изучение по работе с требованиями по Карлу Вигерсу. В этой статье рассмотрим разработку и управление требованиями.

Согласно Вигерсу более полезным будет разделение области разработки технических условий на разработку требований и управление требованиями. Также, необходимо учесть, что независимо от методологии проекта - водопадная, поэтапная, итеративная, гибкая или смешанная - есть вещи, которые надо выполнить в отношении всех требований. Однако, в зависимости от методологии эти операции могут выполняться в разное время жизненного цикла проекта и с разным уровнем глубины и детализации.

Составные части предмета разработки технических условий
Составные части предмета разработки технических условий

Составные части предмета разработки технических условий

Разработка требований

Разработка технических условий по Вигерсу подразделяется на:

  1. выявления

  2. анализ

  3. документирование

  4. утверждение

Выявление и сбор требований

Выявление и сбор требований охватывает все действия, связанные с выявлением требований, например:

  1. интервью,

  2. совещания,

  3. анализ документов,

  4. создание прототипов

  5. и другие

Ключевые действия по выявлению требований:

  1. определение классов ожидаемых пользователей продукта и других заинтересованных лиц

  2. понимание задач и целей, а также бизнес-целей которым соответствуют эти задачи

  3. изучение среды, в которой будет использоваться новый продукт

  4. работа с отдельными людьми, которые представляют каждый класс пользователей, чтобы понять их потребности и ожидания в отношении качества

Возникает вопрос: "На что ориентироваться: на использование или на продут?"

Вигерс дает следующий ответ

При сборе требований обычно используется подход, ориентированный на использование, или подход, ориентированный на продукт, хотя возможны и другие стратегии. В ориентированном на использование подходе упор делается на понимание и исследование задач пользователей, и на основе этой информации выводится необходимая функциональность системы. Ориентированный на продукт подход сфокусирован на определение функций, которые, как ожидается, приведут к успеху на рынке или успеху бизнеса компании. В стратегиях, ориентированных на продукт, есть риск реализовать функции, которые не будут активно использоваться, несмотря на то, что во время сбора требований они казались очень нужными. Мы рекомендуем сначала изучить бизнес-цели и цели пользователей, а затем на основе этой информации определить нужные функции и характеристики продукта.

Анализ

Анализ требований подразумевает получение более обширного и точного понимания всех требований и представление наборов требований в различном виде.

Также, Вигерс приводит основные действия по анализу требований:

  • анализ информации, полученной от пользователей, с целью отделения из задач от функциональных и нефункциональных требований, бизнес-правил, предлагаемых решений и другой информации;

  • разложение высокоуровневых требований до нужного уровня детализации;

  • выведение функциональных требований из информации других требований;

  • понимание относительной важности атрибутов качества;

  • распределение требований по компонентам ПО, определенным в системной архитектуре;

  • согласование приоритетов реализации;

  • выявление пробелов в требованиях или излишних требований, не соответствующих заданным рамкам.

Документирование

Под документированием требований подразумевается хранение и отображение полученной информации по требованиям в структурированном виде.

Действия по документированию:

  • отражение в письменном виде и в виде диаграмм полученных требований, на уровне достаточном для понимания заинтересованным сторонам.

Утверждение требований

На этапе утверждение требований необходимо подтвердить правильность набора собранных требований для дальнейшей их передачи в разработку для создания продукта, удовлетворяющего бизнес-целям.

Действия по утверждению требований:

  • выверка задокументированных требований для устранения всех недостатков до принятия требований группой разработки,

  • подготовка приемочных тестов и критериев приемки.

Также, при планировании необходимо предусмотреть не один цикл проверки требований для поступательного уточнения деталей высокоуровневых требований для поступательного уточнения деталей высокоуровневых требований и подтверждения правильности пользователями.

Управление требованиями 

Действия по управлению требованиями:

  • определение основной версии требования. В рамках данного действия фиксируются и утверждаются требования с основными заинтересованными лицами для выпуска конкретного продукта или итерации разработки (спринта)

  • оценка влияния предлагаемых требований и внедрение одобренных изменений в проект управляемым образом. В рамках данного действия анализируются изменения (источник запроса, тип изменения, приоритет), осуществляется оценка влияния изменений (сложность, сроки и бюджет, риски, зависимости), принимается решение о внедрении (принять, отложить, отклонить),

  • обновление плана проекта в соответствии с планируемыми изменениями,

  • обсуждение новых обязательств, возникших при оценке влияния требований,

  • определение отношений и зависимостей между требованиями (если они есть),

  • отслеживание отдельных требований до их проектирования, исходного кода и тестов. В рамках данного действия выстраивается система по трассировке требований,

  • отслеживание состояния требований и действий по изменению на протяжении всего проекта.

Целью управления требованиями является не в предотвращении изменений или усложнении их внедрения, а в предугадывании и приспосабливали к ожидаемым реальным изменениям, чтобы снизить их разрушительное влияние на проект.

Итого

В рамках данной статьи мы рассмотрели разработку и управление требованиями по Карлу Вигерсу. Подчеркну, что возможно его взгляды для какого-то устарели, но они активно применяются в крупных проектах и по сей день.

Комментарии (3)


  1. ruomserg
    15.08.2025 05:37

    Все эти наукообразные статьи об управлении требованиями - сами по себе прекрасны. Проблема в том, что картина мира авторов этих статей имеет мало отношения к реальности. Они исходят из того, что где-то в прекрасном мире идей уже известно какой продукт с какими свойствами нужно построить, и это знание доступно по крайней мере некоторым из людей. И, соотвественно, наша задача - найти этих людей, и пряником-ли, пыткой-ли - но достать из них сокровенное знание (и еще подписаться кровью что оно "вот прямо то самое!").

    Может быть где-то в отдельных отраслях и проектах (особенно где сроков нет, и денег дают сколько хочешь, а когда израсходуешь - еще столько же!) - это работает. В реальности - никакого мира идей с требованиями к ПО не существует, и эти требования людям недоступны. Соответственно, когда вы приходите к смертным за "требованиями" - они в лучшем случае честно говорят что не знают, а в худшем - врут как сивые мерины, и сами не знают, почему (полагаю, большинство сами верят в тот бред, который несут).

    Чтобы освоить эту мысль на практике - представьте что вы пришли к сапожнику шить сапог, а он вам предлагает составить список требований по которым он будет его шить: длина голенища, полнота свода стопы, и т.д., и т.п. А вы почем это знаете ?! С другой стороны - если вам дать образец и вы его натянете - то скорее всего взвоете, и тут же объясните где вам жмет, а где - натирает...

    Поэтому в 99% случаев, сбор требований можно опустить (достаточно удостовериться что большинство стейкхолдеров хотя бы сходятся на том, что шить будем сапог, а не кеды и не балетные пуанты). А сэкономленное время - пустить на изготовление MVP и сбор обратной связи. Так больше шансов сделать что-то такое, за что заказчик будет хотеть заплатить деньги.

    И нет, я не видел практически ни одной ситуации когда вы сделали не то что заказчик хочет, а когда он высказывает претензии - вы такие достаете список требований, и заказчик: "А, ну да - это мы лоханулись... Двойную оплату этому господину!". :-) Заказчик будет вам выклевывать мозг до тех пор, пока вы не переделаете. Кроме, пожалуй, госухи - там вам будут выклевывать мозг в любом случае (но там требования нужны и важны для другого - чтобы потом не посадили!)...


    1. IsaMarkova Автор
      15.08.2025 05:37

      В вашем примере про сапожника:

      1. снятие мерок с клиента, вопросы про желаемый цвет, форму, к какому случаю сапоги (сезон, событие и т.п.) и прочие вопросы - как раз и есть выявление и анализ требований

      2. прием заказа с указанием в соответствующем документе (договор, спецификация и т.п.) выявленных требований (с условием, что мы говорим о заказной работе) - документирование и утверждение требований

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

      Также, не стоит забывать о внутренней разработке, в данном случае заказчиками являются ваши же коллеги, и, возможно, в том числе и вы сами. Для понимания ожидаемого продукта необходимо собрать и задокументировать мнение каждого заинтересованного лица, чтобы по итогу реализации не сидеть и не вспоминать зачем была реализована та или иная функциональность.

      По итогу могу лишь ещё раз подчеркнуть, что этапы работы с требованиями должны присутствовать в любом проекте с учетом адаптации под конкретную методологию разработки продукта.


      1. ruomserg
        15.08.2025 05:37

        Вопрос не в том, чтобы в режиме стартапа - сделать хтоническую хтонь, а потом пытаться заставить это продаваться. Я говорю из области промышленной автоматизации и внутрикорпоративных разработок:

        • К вам будут приходить люди, и просить сделать "X", при том что им не только не надо "X", а они даже не разобрались в том, что это такое. Просто услышали слово или на конференции узнали что "X" в каком-то виде есть у конкурента. Где тут требования ?! Тут нужна психотерапия... Или генная терапия - если глупость наследственная...

        • Если вам смогли хотя бы сформулировать что болит - это уже прорыв. Если же вам сумели сформулировать еще и ограничения: "не успеваем лить молоко, есть место в углу цеха 3x5 метров" - это золотые люди!

        А в целом, конечно - это ведет к казуистике о том "что есть требования". И на моей памяти - если решение какой-то задачи зависит от терминологии - значит это фикция. Я понимаю классическое управление требованиями - это сбор и детализация до той степени, когда вы можете список требований дать разработчику (любому - нужной минимальной квалификации) - и каждый из них вам по этим требованиям сделает a) примерно одно и то же; и б) что-то за что вы будете согласны заплатить.

        Так вот - я утверждаю что требований в таком смысле (и управления ими) - в 99% случаев не существует в природе. Про исключение в виде госухи, где вы это будете предъявлять прокурору и следователю чтобы не сесть (или хотя бы не сесть реально), и не возвращать в поиздержавшийся бюджет все полученные платежи - я тоже честно написал!...