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

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

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

Термины

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

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

Продуктовые задачи – функционал программного обеспечения, который позволяет реализовать бизнес-требования. Для предыдущего примера это может быть “Подключить он-лайн оплату” или “Добавить линейку товаров YYY”.

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

Подготовка

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

Второе, что потребуется – это создать в организации проект (Project) для управления представлениями issues. Мне нравится работать с табличным видом для создания и редактирования issues и канбан – для отслеживания прогресса.

Настраиваем Sub-Issues

1. Создаём типы задач

Для начала добавим типы issues. Они понадобятся для разделения issues по уровням. Создаём следующие типы:

  • `Business` – для бизнес-требований;

  • `Product` – для продуктовых задач;

  • `Development` – для задач разработки.

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

  2. Рядом с организацией щелкните “Settings”.

  3. На боковой панели в разделе "Code, planning, and automation" выберите  “Planning”, а затем нажмите кнопку "Issue types".

  4. Справа от типа проблемы, на который вы хотите внести изменения, щелкните иконку с тремя точками.

  5. В контекстном меню нажмите кнопку "Edit ", внесите изменения и нажмите кнопку “Save”.

2. Добавляем бизнес-требования

Создадим первый слой, который будет содержать бизнес-требования к продукту. Для этого создаём issue и назначаем ему тип Business.

Список бизнес-требований
Список бизнес-требований
Как это сделать
  1. В строке со знаком "+" введите заголовок issue и нажмите Ctrl+Enter (Comand+Enter для Mac)

  2. В открывшемся окне добавьте описание

  3. Под описанием, в строке параметров нажмите Issue Type

  4. В модальном окне выберите "Business"

  5. Нажмите "Create"

3. Добавляем продуктовые задачи

Теперь, чтобы создать следующий слой, состоящий из продуктовых задач, внутри issue типа Business создадим sub-issue с типом Product.

Привязка продуктовых задач к бизнес-требованиям
Привязка продуктовых задач к бизнес-требованиям
Как это сделать
  1. В карточке issue внизу блока описания нажмите "Create sub-issue"

  2. Под описанием, в строке параметров нажмите Issue Type

  3. В модальном окне выберите "Product"

  4. Нажмите "Create"

4. Добавляем задачи разработки

Повторяем операцию из пункта 3, но уже для следующего слоя – задач разработки. Их создаём внутри продуктовых задач и задаём тип Development.

5. Настраиваем представления

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

  1. Таблица со всеми issue с разбивкой по типам

  2. По одной таблице для каждого типа задач отдельно.

  3. Канбан для задач разработки.

Как настроить представление
  1. Нажмите "New view"

  2. Выберите тип представления: Таблицу или Канбан

  3. Если нужно, отфильтруйте представление по нужному типу issue

  4. В меню вкладки представления нажмите "Save"

Что получилось

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

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