Max
Реклама курсов очевидна, исходя из источника статьи. Но интересных мыслей там много, как по мне. Понравилась идея для PO уходить в сторону приоритезации в условиях высокой нагрузки. Список аргументов неприятия идеи иметь одного PO довольно полный и полезен для обдумывания. Ну и другой список - потенциальных проблем при разделении роли PO.
Max
Да, и особенно интересна идея повышения уровня владения продуктом у devteam, чтобы упростить жизнь PO. Чаще наблюдается ситуация, когда в PO видят PdM.
Levon
Pavel
Pavel
И лучше сделать тот процесс управляемым и способствующем развитию продукта, чем игнорировать и получить ad-hoc в момент возникновения дефицита PO :)
Sergey
Sergey
Но тут надо понимать, что это LeSS, с его практиками Multiteam PBR, когда все команды знают каждый PBI и решение о том кто будет делать конкретный элемент принимается на планировании. В отличии, например от Nexus, где как раз на PBR команда выбирает себе конкретный элемент для работы в последующих Спринтах.
Dеfault
Sergey
Нет, бэклог единый для Продукта, PO тоже один
Sergey
LeSS это Scrum. Появляется лишь пятая петля инспекции адаптации - Общая Ретроспектива с представителями команд.
Sergey
Ну и есть некоторые практики (тот же Multiteam PBR) и ограничения (например Scrum не против компонентных кросс-функциональных команд, а LeSS говорит о кросс-компонентных кросс-функциональных фиче командах)
Sergey
Введение в LeSS с русским переводом от Игната Маркина из Леруа https://m.youtube.com/watch?v=iJJ26v3tWFU&feature=youtu.be
Dеfault
Благодарю
Max
Особенно, если про помощь от team прям в гайде и написано :)
Это да. Но в гайде целое одно предложение на этот счёт =) Как часто Вам в своей практике доводилось работать с командами, в которых devteam (почти) самостоятельно расписывала истории и только изредка обращалась к PO с вопросами "а что должно быть"?
Max
Мне кажется тезис одного беклога не просто так защищается в гайде. Более того, там полно других мест, которые на практике сложно реализуются.. Но это не повод отменять предписания.
Sergey
По идее также в однокомандном Скраме.
Konstantin
Konstantin
На уровне Программ все PO могут в команде помогать друг другу
Max
Тут скорее вопрос - кто поможет самим PO =) Мы в обсуждении исходим из того, что они перегружены.
Konstantin
Mikhail
Konstantin
выстраивайте уровень программ ...
Konstantin
командный уровень легче всего сделать. весь геморр - на следующем этаже ;)
Max
Что Вы под уровнем программ понимаете? (продукт один)
Max
Для меня это термин из Project management..
Konstantin
Да, ничего нового. Agile Project Management.
Konstantin
Скорее это не только способ работы с несколькими продуктами, но и правильная организация процесса - в первую очередь. Ведь один продукт - это частный случай.
Max
Частный случай чего? Разработка одного продукта может вестись посредством нескольких проектов. Один проект может включать несколько продуктов..
Konstantin
Частный случай одновременной разработки нескольких продуктов ;)
Pavel
По-моему звучит излишне рационально для фреймворка, основанного на эмпиризме =) Можно ведь и не пускать на самотёк, но придерживаться рекомендаций. В данном случае строгой рекомендации иметь один беклог и одного PO. Если в команде PO становится очевидным бутылочным горлышком, то продумать как отработать это ограничение - например, делегировать часть функций devteam.
Проблема не всегда в будтылочном горлышке.
Даже в условиях единого продуктового бэклога, если над продуктом работает несколько команд, то появляется несколько командных бэклогов. Да, "командный бэклог" не существует в гайде, но он всегда появляется в реальности:
1. Команды проводят ретроспективу и формируют action items в бэклог, специфический для команды. Далеко не факт, что эти элементы имеет смысл включать в product backlog
2. Команда взяла PBI и провела декомпозицию. Декомпозиция выявила спайки, часть из них команда забрала в спринт. Принятые по результатам технические решения могут быть непонятны остальным командам и решения останутся у команды
3. Команда взяла PBI в спринт, недооценила и не смогла заделиверить. Останки работы намного проще выполнить этой же команде, чем передавать в новую
4. Со временем команды начинают специализироваться на каки-то частях продукта. Или на специфических user journeys: лучше знают пользователей, лучше понимают методы работы, лучше знают связанный код и проблемы и т.п.
И можно приводить еще массу причин, почему образуются командные бэклоги. С каждой из причин по отдельности можно бороться, но когда их накапливается много - борьба будет отнимать слишком много времени и тормозить команды.
Я придерживаюсь мнения, что если не можешь предотвратить - возглавь. Команде нужен PO, который будет полноценным PO для бэклога конкретной команды. У прдукта может быть единый PO, который отвечает за приоритеты на уровне всего продукта и который выступает в роли key stakeholder для командного PO.
Sergey
Проблема не всегда в будтылочном горлышке.
Даже в условиях единого продуктового бэклога, если над продуктом работает несколько команд, то появляется несколько командных бэклогов. Да, "командный бэклог" не существует в гайде, но он всегда появляется в реальности:
1. Команды проводят ретроспективу и формируют action items в бэклог, специфический для команды. Далеко не факт, что эти элементы имеет смысл включать в product backlog
2. Команда взяла PBI и провела декомпозицию. Декомпозиция выявила спайки, часть из них команда забрала в спринт. Принятые по результатам технические решения могут быть непонятны остальным командам и решения останутся у команды
3. Команда взяла PBI в спринт, недооценила и не смогла заделиверить. Останки работы намного проще выполнить этой же команде, чем передавать в новую
4. Со временем команды начинают специализироваться на каки-то частях продукта. Или на специфических user journeys: лучше знают пользователей, лучше понимают методы работы, лучше знают связанный код и проблемы и т.п.
И можно приводить еще массу причин, почему образуются командные бэклоги. С каждой из причин по отдельности можно бороться, но когда их накапливается много - борьба будет отнимать слишком много времени и тормозить команды.
Я придерживаюсь мнения, что если не можешь предотвратить - возглавь. Команде нужен PO, который будет полноценным PO для бэклога конкретной команды. У прдукта может быть единый PO, который отвечает за приоритеты на уровне всего продукта и который выступает в роли key stakeholder для командного PO.
LeSS в помощь :)
Max
Проблема не всегда в будтылочном горлышке.
Даже в условиях единого продуктового бэклога, если над продуктом работает несколько команд, то появляется несколько командных бэклогов. Да, "командный бэклог" не существует в гайде, но он всегда появляется в реальности:
1. Команды проводят ретроспективу и формируют action items в бэклог, специфический для команды. Далеко не факт, что эти элементы имеет смысл включать в product backlog
2. Команда взяла PBI и провела декомпозицию. Декомпозиция выявила спайки, часть из них команда забрала в спринт. Принятые по результатам технические решения могут быть непонятны остальным командам и решения останутся у команды
3. Команда взяла PBI в спринт, недооценила и не смогла заделиверить. Останки работы намного проще выполнить этой же команде, чем передавать в новую
4. Со временем команды начинают специализироваться на каки-то частях продукта. Или на специфических user journeys: лучше знают пользователей, лучше понимают методы работы, лучше знают связанный код и проблемы и т.п.
И можно приводить еще массу причин, почему образуются командные бэклоги. С каждой из причин по отдельности можно бороться, но когда их накапливается много - борьба будет отнимать слишком много времени и тормозить команды.
Я придерживаюсь мнения, что если не можешь предотвратить - возглавь. Команде нужен PO, который будет полноценным PO для бэклога конкретной команды. У прдукта может быть единый PO, который отвечает за приоритеты на уровне всего продукта и который выступает в роли key stakeholder для командного PO.
Спасибо за пояснение. Теперь давай переместим эти причины на уровень команды разработки. И порассуждаем чем эта ситуация отличается от PO - почему в одном случае мы боремся за единство, а в другом полагаем, что беклог/PO нужно контролируемо разделить.
1. Команда проводит ретроспективу и разработчики формируют action items в личный бэклог, специфический для каждого специалиста. Далеко не факт, что эти элементы имеет смысл включать в sprint backlog (равно как и выносить за пределы своей специализации)
2. Команда взяла PBI и провела декомпозицию. Декомпозиция выявила специфические подзадачи, часть из них некоторые разработчики забрали себе в спринт. Принятые по результатам технические решения отдельных разработчиков могут быть непонятны остальным членам командам и решения останутся у специалистов
3. Разработчик взял сабтаску из PBI в спринт, недооценил и не смог заделиверить. Останки работы намного проще выполнить этому же разработчику, чем передавать другому
4. Со временем разработчики начинают специализироваться на каких-то частях продукта. Или на специфических user journeys: лучше знают инструменты, лучше понимают практики, лучше знают связанный код и проблемы и т.п.
Pavel
Спасибо за пояснение. Теперь давай переместим эти причины на уровень команды разработки. И порассуждаем чем эта ситуация отличается от PO - почему в одном случае мы боремся за единство, а в другом полагаем, что беклог/PO нужно контролируемо разделить.
1. Команда проводит ретроспективу и разработчики формируют action items в личный бэклог, специфический для каждого специалиста. Далеко не факт, что эти элементы имеет смысл включать в sprint backlog (равно как и выносить за пределы своей специализации)
2. Команда взяла PBI и провела декомпозицию. Декомпозиция выявила специфические подзадачи, часть из них некоторые разработчики забрали себе в спринт. Принятые по результатам технические решения отдельных разработчиков могут быть непонятны остальным членам командам и решения останутся у специалистов
3. Разработчик взял сабтаску из PBI в спринт, недооценил и не смог заделиверить. Останки работы намного проще выполнить этому же разработчику, чем передавать другому
4. Со временем разработчики начинают специализироваться на каких-то частях продукта. Или на специфических user journeys: лучше знают инструменты, лучше понимают практики, лучше знают связанный код и проблемы и т.п.
Макс, любую аргументацию можно довести до абсурда.
Что с самой ситуацией делать? какие конкретные шаги предпримет ПО, чтобы не допустить образования бэклогов помимо продуктового и как конкретно будут решаться описанные мной выше проблемы.
И, замечу, практика показывает, что даже если не признавать разделение бэклогов в мултикомандной среде, они все равно разделятся. В самом оптимистичном случае - по специализации команды.
Pavel
LeSS в помощь :)
При всем уважении к LeSS, он тоже проблемы с разделением бэклога не решает. Но хотя бы декларирует :)
Max
Sergey
Но я соглашусь в одном. Действительною система все время пытается уйти в сторону нескольких бэклогов. И чтобы удержать ее в рамках требуются усилия, тем меньшие, чем опытнее команды и старше система.
Pavel
Sergey
Скилы перебор. Согласен. В остальном все так. И это работает ;)
Pavel
Я подумаю обязательно над каждым из четырёх кейсов, чтобы предложить что-то конкретное. До абсурда совсем не хотел доводить =) только провести аналогию.
Единый беклог мне напоминает строгую рекомендацию иметь одно средство личного task-tracker'а. То есть плохо когда у человека один список задач для работы, один для семьи и т.д. Это из GTD.
Макс, сравнение работы нескольких команд и людей внутри одной команды не вполне корректно.
И, уточню, когда я говрю о разных бэклогах, я не говорю о разных бэклогах продукта или о разделении на технический и бизнес бэклог. Я говорю строго о бэклоге одного продукта в условиях нескольких команд.
Если не предпринимать осознанные усилия, команды сами разделят бэклог продукта на командные так, как им удобно. Если предпринимать, можно попробовать этого избежать, путем немалых усилий, растущих по мере увеличения количества команд, а можно управляемо разделить бэклог продукта на бэклоги команд.
Sergey
Sergey
Чтобы не специализировались, можно по очереди элементы на планировании брать, есть и такая практика.
Pavel
Pavel
Вот после ретро решила команда сделать спайки на какие-то внутренние инструменты или практики. В следующем спринте на все эти спайки "места" нет. Куда писать?
Sergey
КУда их записывать?
Ну после командной ретроспективы улучшения берутся в бэклог Спринта, Ты это лучше моего знаешь.
Artem
Pavel
Sergey
Сергей, а если их больше, чем на спринт?:)
Ну мечтать не вредно. Я учу формулировать небольшие шаги, эксперименты, чтобы было по SMART. Ну и естественно в Спринте их пробовать. Если что-то глобальное - идите в соответствующее сообщество или выносите на Общее ретро.
Pavel
Сергей, я не напрягаясь могу вспомнить ретроспективы, на которых генерили PBI, размерами больше, чем спринт.
Pavel
В смысле суммарным количеством больше :)
Pavel
Вот пример: техническая проблема со скоростью деплоя из-за того, что в деплое "задействован" мейнфрейм. У команды есть набор идей, как можно в условиях мейнфрейма сделать нормальный CD, но для проверки этих идей им надо прогнать спайки.
Sergey
Бейте га мелкие, если проблема неограниченная. Я учу проблему формулировать в терминах разрыва. Типа «Мало денег» этотне проблема. Проблема «Заработать 100 тысяч за месяц» это проблема. И то ее надо проверить на Реальность. Т.е. тот же SMART
Pavel
Спайков... больше, чем один.
Pavel
Куда записать?:)
Pavel
Команда сгенерила, условно, 5 потенциальных решений, каждое из которых проверяется спайком от 1 до 3 дней.
Sergey
Sergey
Sergey
Если ему это зайдет и Вы начнете деплоить быстрее, продастся :)
Sergey
У них другой код?
Pavel
Продукт один, код другой.
Sergey
Я же говорю, все команды равны должны быть. Общее владение кодом
Pavel
Сергей, вот у тебя есть кобол, джава и дажваскрипт.
Sergey
В этом смысл LeSS
Pavel
Из 50 разработчиков в кобол умеет только 3, они же владеют занинями обо всем легаси
Sergey
Ну у нас джава, питон и джиэс сейчас.
Sergey
В Каждой команде. Они ОДИНАКОВЫЕ по составу
Pavel
Сергей, поверь, с 3 кобольщиками это будет... неэффективно :)
Pavel
Мягко говоря.
Pavel
Или вот, продукт: c#, жаваскрипт, ассемблер + сугубо инженерные скилы, вроде оптики, радио и т.п.
Pavel
Группа в 120 человек, софтовых людей где-то 3\4
Pavel
Продукт один, cyberphysical system
Pavel
Я к тому, что в идеальном мире можно сделать команды совершенно одинаковыми по скиллам, в реальности у тебя запросто появится специализация.
Pavel
И лучше, чтобы эта специализация была по фичам, а не по компонентам (потому что без управления будет по компонентам)
Sergey
Значит строй водопад. Будет эффективно :) Я не предлагаю строить в этом случае LeSS. Я просто рассказал как в нем это решается. У нас так.