Процесс реализации любых проектов связан с взаимодействием двух основных сторон: заказчика и исполнителя. Это касается работы с нуля, а также сопровождения и доработки готовых продуктов. Это взаимодействие должно быть четким, согласованным и задокументированным, так как устные договоренности труднее помнить и соблюдать.
Именно для этого предназначено управление требованиями — непрерывный процесс, протекающий на всех стадиях жизненного цикла проекта или продукта, куда входят документирование, анализ и отслеживание взаимодействия между заинтересованными сторонами: клиентом и исполнителем.
Если говорить простыми словами, то управление требованиями — это диалог между заказчиком и исполнителем, в ходе которого определяются и документируются требования к готовому продукту.
Проблемы формирования требований
В начале любого проекта заказчик создает техническое задание — документ или несколько документов, определяющих цель, структуру, свойства и методы какого-либо проекта и исключающих двусмысленное толкование исполнителями. В идеальном случае составители ТЗ должны предусмотреть все.
В процессе может возникнуть ряд проблем:
- Запрашивается нереалистичный результат, поскольку заказчик — не специалист в области, с которой связан проект или продукт.
- Неверная оценка объемов проекта. Но это не ошибка, а скорее заблуждение, что любой проект можно просчитать до мелочей. В процессе разработки в большинстве случаев появляется множество новых нюансов и требований.
- Недосказанность. Эту ошибку можно описать фразой «Мы думали, что это и так понятно». Заказчик подразумевает, что нечто должно быть выполнено, но не прописывает это перед началом проекта.
- Неточная формулировка требований. Например, пишем, что хотим черное, а оказалось, что нужно было еще чернее.
Все это приводит к мысли, что максимально полно описать все требования к новому продукту до начала его разработки очень сложно или невозможно.
Поэтому к процессу управления требованиями следует применять более гибкий подход. Например, методологию Agile, которая подразумевает признание начальных требований (ТЗ) недостаточными и выявляет необходимость работы с ними в течение всего жизненного цикла продукта.
Четкое и систематическое управление требованиями помогает:
- достигать ясности и понимания конечных целей проекта;
- определять область, в которой будет использоваться продукт;
- формировать пакет документации, с помощью которой можно отслеживать весь жизненный цикл и решать споры из-за недопонимания;
- вносить изменения согласованно и структурированно;
- четко определять текущие и конечные приоритеты;
- создавать продукт в соответствии с бизнес-целями компании;
- вовремя определять проблемы и снижать риски;
- обеспечивать коммуникацию между всеми сторонами проекта;
- отслеживать весь цикл от разработки до внедрения.
Приоритет и иерархия требований
Требования могут быть физическими, техническими, визуальными, экономическими и т. д. Поэтому необходимо тщательно подходить к администрированию (изменению, удалению и прочим аспектам).
Важно помнить, что требований много и они по-разному влияют на проект. Поэтому необходимо выявить иерархическую структуру, в которой будет четко видно приоритетность требований.
Модель, которую сегодня в разработке ИT-продуктов принято считать базовой, предложил Карл Вигерс. Ее можно использовать в любом проекте.
Модель состоит из следующих уровней (от первого до шестого, от вершины — к низу):
- Бизнес-цели и бизнес-правила. Определяют общие задачи проекта, а также описывают стандарты и ограничения, которым необходимо следовать при разработке.
- Пользовательские требования. Формируются на основе бизнес-целей и реальных ожиданий от продукта его конечных потребителей. Важно прописать их максимально четко.
- Функциональные и системные требования. Первые конкретизируют необходимый пользователю набор функций. Вторые — отражают, что для этого нужно в аппаратной части (производительность, защита, степень надежности и т.п.).
- Внешние интерфейсы и атрибуты качества. Первое определяет взаимодействия между системой, устройствами и пользователями. Второе регламентирует качественные характеристики — удобство, скорость и т.д.
- Полный список ограничений — например, законодательные.
- Спецификация требований к ПО. Это структурированный набор требований/запросов к программному обеспечению и его внешним интерфейсам, который предназначен для конечного разработчика.

В итоге получается иерархическая структура. Если убрать конкретные названия уровней, разбиение проекта происходит от общего к частному, по принципу декомпозиции. Нужно разделить проект на составляющие и вычленить требования к ним, при этом требования нижнего уровня не должны противоречить элементам верхнего. Поэтому следует рассматривать структуру сверху вниз, а не наоборот.
Для чего применяют имитационное моделирование
Разрабатывая приложения и любые другие продукты, важно понимать, как они поведут себя в реальных условиях. Для этого можно создать прототип с помощью имитационного моделирования. Это компьютерная модель, которая воспроизводит структуру и процессы функционирования реальной системы. В ней можно провести все необходимые тестирования и определить, соответствует ли она заявленным требованиям.
Решение проблем с требованиями
Чем крупнее проект или продукт, тем больше требований он будет содержать. Чтобы их выявить, нужна долгая и кропотливая работа, которую, в свою очередь, необходимо регламентировать.
В этом могут помочь следующие решения:
- Централизованный репозиторий. Это база данных, система, приложение, папка с файлами на компьютере или любой другой носитель, в котором хранятся все актуальные и исторические требования.
- Прослеживаемость. Поиск связей между отдельными элементами системы помогает соблюдать единые требования для всех компонентов.
- Контроль версий. Все изменения должны быть полностью описаны. Это позволяет определить, когда, кем, зачем и почему были внесены те или иные изменения.
- Отчетность. Классическое решение, которое дает разным сторонам возможность следить за ходом проекта. Главное — определиться с формой отчета, контрольными точками и ключевыми показателями.
- Тестирование на каждом этапе. В идеале продукт нужно тестировать на каждом этапе, чтобы минимизировать расходы на исправление ошибок.
- Приоритетность. Определение приоритетных требований позволит быстро разрешать противоречия и гарантирует реализацию ключевых задач.
- Гибкое управление. Необходимо подобрать эффективные инструменты, которые поддерживают всю нужную функциональность.
Для реализации последнего пункта необходимы системы управления требованиями. О них поговорим далее.
Системы управления требованиями
Система управления требованиями — это программный продукт или приложение, которые помогают аналитикам, проектировщикам и руководителям собирать требования, фиксировать их, систематизировать, выделять приоритетные и строить взаимосвязи.
Для этого программа должна обладать такой функциональностью:
- создание требований;
- анализ требований;
- управление изменениями;
- трассировка требований;
- отчетность.
Кроме того, хороший программный продукт должен быть удобным. Плохо подобранные цвета и неудобное расположение элементов управления могут значительно снизить эффективность применения программы.
Программа должна иметь возможность интеграции с различными сторонними сервисами. Это необходимо, чтобы работать с требованиями могли не только аналитики, но и другие участники проекта, например программисты и тестировщики.
Система управления требованиями Platform V Works::Wiki
Platform V Works::Wiki — один из программных продуктов комплексного решения для управления проектами Platform V Works от СберТеха. Решение позволяет выстроить архитектуру для всего цикла DevOps.
Platform V Works::Wiki — многофункциональный инструмент для управления требованиями в течение всего жизненного цикла продукта. Wiki обеспечивает прозрачный и контролируемый процесс работы с требованиями на всех этапах. Благодаря единому пространству для хранения и обработки информации система минимизирует риски потери данных и повышает эффективность взаимодействия между всеми участниками проекта.
Wiki идеально подходит для Agile-команд, которым важно быстро документировать, уточнять и согласовывать требования в процессе разработки. В отличие от жестких специализированных инструментов Wiki позволяет гибко структурировать информацию — от высокоуровневых бизнес-правил до детальных технических спецификаций. Благодаря версионированию, комментариям и ссылкам команды могут отслеживать изменения требований, обсуждать правки и поддерживать их актуальность без лишних согласований.
Преимущества
Platform V Works::Wiki входит в реестр российского программного обеспечения и легко интегрируется с любыми решениями экосистемы Platform V.
Основные преимущества продукта:
- с Wiki просто и удобно создавать документы за пару кликов. Каждая wiki-страница содержит список атрибутов, что позволяет управлять расположением, видеть автора, дату создания и многое другое;
- удобная иерархическая структура хранения данных позволяет систематизировать и упорядоченно работать с требованиями;
- Wiki поддерживает широкие возможности редактирования текста за счет использования WYSIWYG–редактора;
- совместная работа: несколько пользователей могут работать над документом одновременно, а функция версионирования позволяет сохранить все изменения и вернуться к любой из версий;
- функциональность сравнения версий страницы помогает отследить все изменения, а удобная цветовая подсветка сокращает время на поиск изменений;
- удобное управление контентом: пользователям доступно множество инструментов для организации и управления информацией;
- поддержка работы с различными макросами draw.io, plantUML, UI Button, UItabs, содержание и многое другое.
- разграничение прав доступа: к каждой ветке или структуре элементов будут допущены только пользователи с определенным набором прав, необходимым в конкретном случае;
- Wiki также позволяет общаться посредством комментариев к странице и inline-комментариев по тексту с функцией решения.
Эти и другие преимущества делают Platform V Works и в частности решение Platform V Works::Wiki отличной альтернативой многим зарубежным решениям.
Заключение
Управление требованиями — важнейший процесс, к настройке которого следует подходить серьезно. Это поможет не только получить качественный продукт, но и снизить расходы при его разработке. В этом лучше всего помогут системы управления требованиями, которые значительно упрощают такую работу.
