Хороший подход к группированию различных историй проекта в одних и тех же спринтах

Считаете ли вы, что это хороший подход — группировать разные пользовательские истории из разных проектов в один спринт? Вы когда-нибудь обнаруживали плюсы/минусы?

скажем

1. Project A (Start 2017-01-05 Estimate End 2017-05-30)
   US_A1
   US_A2
   US_A3
   US_A4
2. Project B (Start 2017-03-01 Estimate End 2017-07-30)
   US_B1
   US_B2
   US_B3
   US_B4

Спринт в 2 недели, когда даты проектов совпадают, и у вас одинаковое количество людей для всех ваших проектов, но у вас есть несколько мастеров Scrum (по одному на проект) и одна команда.

**Sprint 8 (Prj A & Prj B)**
US_A2
US_A4
US_B2
US_B3

Последнее обновление 25 июля 2019 г.

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

Сколько разработчиков (людей, которые производят приращение продукта в каждом спринте) у вас в одной команде?
@onedaywhen Около 8 разработчиков. Программное обеспечение - это всего лишь одно с дополнительными функциями для каждого проекта / клиента.

Ответы (4)

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

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

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

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

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

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

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

Кроме того, в заключение спросите себя, почему вы хотите это сделать. Буквально нет причин когда-либо рассматривать это; вы можете просто делать оба проекта последовательно. Завершите проект А, а затем завершите Б, как только будет выполнен А; если вы могли бы успешно выполнить оба задания параллельно, то вы всегда сможете выполнить их быстрее последовательно. Любые причины запуска обоих сразу, вероятно, коренятся в том, что вы уже признали себе, что вы все равно потерпите неудачу в обоих проектах, и пытаетесь смягчить ущерб, имея что- то , что можно показать в крайний срок, чтобы убедить людей, что вам нужно больше времени . /деньги без их вытаскивания. Потратьте свое время на решение этой проблемы и предоставьте своим людям возможность сосредоточиться на чем-то одном, так они будут работать лучше всего.

Все, что вы описали, о чем вы «спорили», должно было решить PO . Не должно было быть аргументов, по крайней мере, не со стороны команды. Я работал в многопродуктовых командах, и пока есть один ЗП с одним набором приоритетов, споров быть не должно. Это может быть не самая приятная работа PO с постоянными спорами с заинтересованными сторонами, но это не должно беспокоить команду.
@nvoigt достаточно честно. Я дополню это историей о том, как PO уволился, потому что необходимость делать два проекта с жалующимися заинтересованными сторонами утомляла его, когда у меня будет больше времени. Это должна быть работа PO, но PO возненавидит свою работу, если он будет защищать команду разработчиков, а команда разработчиков возненавидит свою работу, когда PO сдастся.
Я тоже это видел, я бы просто возложил вину на то, что PO не мог выполнять свою работу. Проблема не в двух (или более) проектах, потому что даже в одном проекте у вас могут быть заинтересованные стороны с разными приоритетами. Проблема в том, что PO не имеет поддержки со стороны высшего руководства, чтобы сказать своим заинтересованным сторонам, чтобы они конструктивно работали вместе или убирались к черту. Если PO должен уступать каждому требованию заинтересованной стороны... тогда он не является PO, как определено.

У вас может быть несколько проектов. У вас может быть несколько команд. Но:

  • Один человек может быть только в одной команде (1)
  • Скрам-мастер работает в команде , а не в проекте.

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

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

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

Спасибо за ваш ответ. Мы очень ограничены в людях. Платформа стандартная, но имеет разные модули для разных бизнес-подразделений. Scrum-команда — это эксперты, которые приходят к консенсусу для разработки историй из двух проектов за один спринт. Мы делаем оба проекта для разных клиентов. У нас есть владелец продукта и 3 менеджера проектов, которых мы неправильно переводим на Scrum master. К этому моменту мы должны подойти к ролям 3 PM (2 активных для prjs), 1 SM, 1 PO и 1 ST? 2 PM будут очень ограничены в своей роли, просто будут вести переговоры с клиентами?
Я не в том положении, чтобы указывать вам, как использовать ваших людей. Но в Scrum нет менеджеров проектов. Скрам-мастер имеет мало общего с управлением проектами. Ближайшим может быть PO, но даже это не прямой эквивалент. Вы можете использовать PM в качестве прокси для клиента, если клиент также не хочет быть гибким. Или вы могли бы переучить их , если они хотят . Или вы можете предложить им поискать работу PM в другой компании. Но вы не можете просто заставить их продолжать личные сообщения. Это не сработает. Agile — это или или. Ты делаешь это или нет. Микс провалится хуже, чем просто C&C.
Вот что я прочитал на прошлой неделе в книге: PM должен использовать гибкий подход, иначе он не должен отвечать за проекты. Как вы сказали, PM может работать как доверенное лицо с клиентом, который обычно не хочет работать итеративно. Некоторые да некоторые нет. Но давайте предположим, что команда Scrum предоставляет несколько быстрых результатов, и если руководитель проекта удерживает их, чтобы показать клиенту все в виде пакета, это создаст узкое место, и мы снова сможем работать как водопад, ломая философию Agile.
@MaximusDecimus IMO, вы должны превратить свои PM в PO, возможно, с «двойной обязанностью» в качестве традиционного интерфейса PM для клиента. SM — это совсем не та роль, к которой привыкло большинство менеджеров по проектам. Для SM вы должны найти кого-то, кто действительно увлечен и хорошо разбирается в Agile и Scrum. Если у вас есть клиент, который хочет увидеть все в одной версии, PO должен понять клиента достаточно хорошо, чтобы он мог управлять последовательными итерациями. Я бы все равно попытался заставить клиента проверить несколько предварительных версий, начиная примерно с перерыва.

Это ужасная идея

  • В команде есть только один скрам-мастер. Скрам-мастер не привязан к проекту, потому что он не менеджер проекта. Ваша установка предполагает, что ваша компания не понимает и не уважает скрам или людей, работающих в нем.
  • Нет никакого преимущества в смешении таких проектов. Очевидно, что руководство просто устанавливает произвольные сроки без оглядки на практичность. Нет никаких причин, по которым кто-либо мог бы предложить это вместо того, чтобы правильно выполнять проект А, а затем правильно выполнять проект Б, если только они не пытаются обмануть разработчиков, чтобы они взяли на себя больше работы, чем это возможно.
  • Переключение между работами неэффективно. Людям нужно время, чтобы освоиться, когда они начинают что-то новое. Тем более это касается переключения между совершенно разными проектами.
  • Если вы обойдете предыдущий пункт, разделив команду, то вы все равно не выиграете, так как вы потеряете большую часть синергии команды, заставив их работать над разными проектами.
  • Вы обязательно столкнетесь с конфликтами, как только смешаете проекты. Что такое «справедливое» распределение мощности спринта? Какие задачи имеют приоритет, если вы не можете закончить все? Проект А будет требовать большего внимания для его выполнения. Проект Б будет сопротивляться. Это будет не что иное, как драма.
  • У вас нет гарантии, что вы закончите проект А в предполагаемую дату. Что ты собираешься делать тогда? Отрезать? Если бы ваши менеджеры были готовы сделать это, вы могли бы с тем же успехом перенести этот крайний срок на месяц вперед и избежать такого смешения. Собираетесь ли вы продолжать работать параллельно? На сколько долго? Потому что это задержит проект Б, а кто-то выше по лестнице этому не обрадуется.

Это сценарий двойной связи из учебника.

Большое спасибо за весь список ресурсов о двойной привязке. Очень полезный!!! В основном все ответы сходятся в том, что сейчас мы поступаем неправильно, но мы делаем успехи в переходе от традиционного к гибкому подходу. В какой-то момент люди, которые годами работали таким образом, наконец-то примут agile.
Лично я гораздо меньше забочусь о том, чтобы «провести правильную схватку», чем некоторые другие. Но когда вы думаете пойти против стандарта, важно знать, почему стандарт такой, какой он есть. Несколько жесткая структура Scrum (для Agile-метода) предназначена для того, чтобы заставить заинтересованные стороны сделать этот трудный, неудобный, но необходимый выбор в отношении того, что имеет приоритет, сколько времени вы готовы инвестировать и когда сократить свои потери и двигаться дальше. Это то, что важно для любого проекта — гибкого или нет — но часто заметается под ковер. Часто с «умными» идеями, как в вашем вопросе.

Преимущества наличия историй из нескольких проектов в каждом спринте:

  • Вы увидите прогресс более чем в одном проекте
  • Разработчики могут наслаждаться разнообразием

Недостатки:

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

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

но у вас есть несколько мастеров Scrum (по одному на проект) и одна команда

Тогда вы не занимаетесь скрамом и не должны называть их скрам-мастерами. Одна из причин существования Scrum заключается в том, что было признано, что согласованность членов команды действительно помогает команде работать эффективно. Когда команда работает вместе, они учатся приспосабливаться к сильным и слабым сторонам друг друга. Если вы меняете членов команды (особенно такую ​​ключевую роль, как скрам-мастер), то ваша продуктивность снизится.

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