Роль лидера продукта
Коротко Леффингуэлл и Уидриг считают, что каждому проекту нужен лидер продукта (product champion): один человек или небольшая группа, для которых видение продукта — главный приоритет и у которых достаточно веса, чтобы разрешать конфликты и останавливать разрастание функциональности. Это роль уровня всего проекта, и её не следует путать со сторонниками продукта от классов пользователей, которых описывают Вигерс и Битти.
По материалам: Д. Леффингуэлл, Д. Уидриг, «Принципы работы с требованиями к программному обеспечению», гл. 18. Сравнение опирается на книгу: К. Вигерс, Дж. Битти, «Разработка требований к программному обеспечению», 3-е изд., гл. 6.
На этой странице
Главные идеи#
Зачем нужна эта роль#
Документ «Видение» — ключевой артефакт для определения продукта (см. Документ «Видение» в RUP). Кто-то должен его написать, поддерживать в актуальном состоянии и отстаивать. Ответ Леффингуэлла и Уидрига — лидер продукта. Должность значения не имеет: эту роль может играть менеджер продукта, руководитель проекта, менеджер по маркетингу или руководитель ИТ-проекта.
Что делает лидер#
Обязанности по списку авторов, здесь сгруппированные для удобства:
- Видение и границы. Владеть видением продукта и защищать его. Проверять, что спецификации ему по-прежнему соответствуют. Управлять изменениями приоритетов и набора функций. Сопротивляться разрастанию функциональности.
- Заинтересованные стороны. Вести выявление, пока требования не станут достаточно полными. Разрешать противоречивые запросы. Находить компромиссы, которые дают наибольшую ценность наибольшему числу заинтересованных сторон. Управлять ожиданиями всех участников.
- Коммуникация. Быть официальным каналом между заказчиком и разработчиками. Вести переговоры с руководством, пользователями и разработчиками. Уравновешивать то, чего хочет заказчик, и то, что команда может сделать за отведённое время.
В компаниях — производителях ПО#
Здесь лидер обычно приходит из маркетинга или управления продуктом, а не из разработки: эта функция ближе всего к клиентам, от которых зависит успех продукта, и отвечает за выручку. Авторы советуют чёткое разделение: менеджер продукта решает, какие функции нужны и зачем; руководитель разработки решает, как их создать. Каждый отвечает за то, в чём разбирается лучше всего.
Во внутренних ИТ-подразделениях#
Здесь сложнее. Маркетинга нет, все заинтересованные стороны — внутренние подразделения с противоречивыми потребностями, и никто явно не уполномочен решать за всех. В случае, который описывают авторы, решение состояло из двух частей:
- Назначить лидера, например руководителя проекта, который владеет документом «Видение» и процессом выявления и приоритизации требований.
- Создать совет по управлению изменениями (change control board, CCB) — небольшой орган принятия решений из руководителей затронутых подразделений. Лидер готовит и представляет рекомендации; добавлять или убирать функции может только CCB.
Авторы подытоживают: лидер продукта плюс совет по управлению изменениями. Как совет оценивает влияние изменений, описано на странице Управление изменениями требований.
Без лидера#
Требования дрейфуют, сроки сдвигаются, а решения под давлением дедлайна принимаются плохо, потому что никто не берёт на себя ответственность за трудный выбор и не решает, когда пора остановиться. Авторы рассказывают о менеджере по маркетингу, который мог в любой момент попросить новую функцию и ни разу не услышал «нет».
Один английский термин — две роли#
Вигерс и Битти называют тем же английским термином product champion другую роль — сторонника продукта:
- Вигерс и Битти: по одному стороннику продукта на каждый класс пользователей; это реальный пользователь, который доносит до аналитика потребности своего класса и проверяет требования. См. Классы пользователей и сторонники продукта.
- Леффингуэлл и Уидриг: один лидер (или небольшая команда) на проект; владелец общего видения, который выступает арбитром между всеми заинтересованными сторонами и ведёт переговоры о границах.
В проекте могут — и часто должны — быть обе роли: несколько сторонников продукта от классов пользователей передают потребности одному лидеру уровня проекта, который принимает решения.
Как применять#
- Назовите лидера в начале проекта и запишите его права на решения: что он решает сам, а что только рекомендует.
- Выберите площадку для решений. В продуктовой компании объедините менеджера продукта («что») и руководителя разработки («как»). Во внутреннем ИТ создайте CCB из руководителей всех затронутых подразделений.
- Передайте документ «Видение». Лидер владеет им, и изменения в него проходят через лидера.
- Договоритесь о маршруте новых запросов. Каждый запрос новой функции попадает к лидеру, который сверяет его с видением и базовой версией, прежде чем что-либо обещать.
- Объявите, кто лидер, чтобы заинтересованные стороны перестали обращаться напрямую к разработчикам.
Если вы бизнес-аналитик, вы можете сами вести выявление и анализ, но право решения остаётся у лидера. Если этого права нет ни у кого, зафиксируйте это как риск проекта и обсудите со спонсором.
Пример#
В «Мастерской», вымышленной сети веломастерских, владелец назначает операционного менеджера лидером продукта в проекте онлайн-записи и статусов ремонта. CCB из владельца и двух управляющих мастерскими собирается раз в две недели; руководитель команды разработки участвует как советник.
В середине проекта механик просит добавить учёт запасов запчастей по каждой мастерской. Лидер сверяет запрос с видением (онлайн-запись и обновления статуса), видит, что он за текущими границами, вместе с разработчиками оценивает влияние и рекомендует релиз 2. CCB соглашается. Запрос механика записан, а не потерян, и дата релиза не сдвигается.
Подводные камни#
- Лидер без полномочий. Если руководители регулярно отменяют его решения, никто не будет считать их окончательными.
- Несколько неофициальных лидеров. Заинтересованные стороны лоббируют разных людей; назовите одного.
- Лидер как сборщик функций. Работа включает умение говорить «нет».
- Смешение двух ролей. Сторонник продукта от класса пользователей говорит за один класс; не ждите, что он будет арбитром между классами.
Источники и что почитать#
- D. Leffingwell, D. Widrig. Managing Software Requirements: A Unified Approach. Addison-Wesley, 2000. Рус. изд.: Д. Леффингуэлл, Д. Уидриг. Принципы работы с требованиями к программному обеспечению. Унифицированный подход. М.: Вильямс, 2002. Гл. 18.
- K. Wiegers, J. Beatty. Software Requirements, 3rd ed. Microsoft Press, 2013. Рус. изд.: К. Вигерс, Дж. Битти. Разработка требований к программному обеспечению, 3-е изд. М.: Русская редакция; СПб.: БХВ-Петербург, 2014. Гл. 6 (product champion в значении представителя класса пользователей — «сторонник продукта»).