Разбор полётов: как эффективно собирать и агрегировать требования

Разбор полётов: как эффективно собирать и агрегировать требования

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

Но что же это такое?

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

Что такое агрегация требований?

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

Понимание потребностей и целей

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

Данному пункту может помочь Mind map, в которых можно описать потребности и цели проекта.

Возьмем пример, как наша команда составляет потребности и цели клиентов:

Сбор данных

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

Ниже приведены некоторые которые могут использоваться для сбора требований:

  • Интервью с заинтересованными сторонами:

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

  • Сессии брейншторминга:

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

  • Анализ конкурентов:

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

  • Разработка прототипов:

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

  • Опросы пользователей:

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

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

Анализ требований продукта

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

Рассмотрим в пример один из наших кейсов:

Компания получила заказ от клиента на разработку программного продукта для управления документооборота на портале.

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

1. Изучение заказа:

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

2. Выделение основных функций:

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

3. Определение требований к пользовательскому интерфейсу: Разработка интерфейса является важным аспектом программного продукта. В данном случае необходимо определить требования к UI, чтобы обеспечить удобство использования программы пользователями.

4. Анализ технических требований:

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

5. Выявление ограничений:

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

6. Проверка требований на реализуемость:

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

Вот, что мы получаем на практике:

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

Документирование агрегации требований

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

Управление агрегацией

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

Заключение

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