В настоящее время я работаю над проектом X, и мой владелец продукта продолжает добавлять новые функции в бэклог спринта, который должен быть завершен в этом спринте.
Проблема не в том, чтобы отправить новые функции в бэклог, проблема заключается в том, что он хочет, чтобы я и другие разработчики завершили их немедленно.
То, как наш PO справляется с этим, совершенно непрофессионально, поскольку мы обсуждаем важность текущих пользовательских историй на спринт-митинге для предстоящего спринта.
Как я могу обратиться с этим к моему PO на профессиональном уровне?
Agile Manifesto действительно приветствует поздние изменения, см. пункт 4:
Реагирование на изменение вместо следования плану
И в руководстве по схватке есть это:
Во время спринта:
Не вносятся изменения, которые могли бы поставить под угрозу Цель спринта ;
Цели в области качества не уменьшаются; а также,
Область действия может быть уточнена и повторно согласована между Владельцем Продукта и Командой Разработки по мере получения дополнительной информации .
Для вас важно, чтобы у вашей команды была скорость, и вы принимали истории в спринт, основываясь на этом.
Что вам теперь нужно сделать, так это заставить PO установить приоритет в бэклоге этой истории. Если он выше текущего этажа (или этажей), вы оцениваете его и перемещаете самые нижние этажи назад, пока не сбалансируете свою скорость. Если история ниже чего-либо в текущем спринте, то по определению она менее важна, поэтому ее придется подождать. Если история находится в конце спринта и на нее не хватает времени, начните ее и перенесите в следующий спринт.
Это (намеренно) так просто: либо это важнее, и вы отдаете ему приоритет над существующей работой, либо нет. Если PO тоже этого хочет, напомните им, что скорость — это показатель того, что вы можете сделать, а не цель , если они хотят загрузить это, они могут, но вы этого не добьетесь.
Другое дело – согласовать цель спринта с заказчиком/бизнесом согласно руководству. Если что-то приходит, вы также сравниваете это с этим (Помогает ли эта история нам достичь цели?), если нет, то это требует приоритетного вызова над работой, которую вы делаете. Таким образом, срочная ошибка может быть приоритетной, но что-то еще будет понижено в должности, поскольку это не является частью достижения цели, или, может быть, вы отказываетесь от спринта для работы с более высоким приоритетом).
Я согласен со всеми вышеприведенными утверждениями о том, что Agile допускает гибкость и возможность изменений.
Но (очень большое, но!) Я работал с PO, которые часто тушат пожары на протяжении всего Scrum-спринта. Если это произойдет, это может сильно отвлекать и/или деморализовать команду, постоянно адаптируясь к этим изменениям. Эта постоянная смена приоритетов также может серьезно повлиять на выпуск релизов и, как следствие, отрицательно сказаться на рентабельности инвестиций!
В этих случаях я был частью команд, где было принято решение отказаться от Scrum и поэкспериментировать с Kanban. Последний предлагает гораздо большую гибкость в определении требований, чем Scrum. Канбан также больше подходит для непрерывной доставки, чем для регулярных выпусков.
Для дальнейшего чтения с двух точек зрения взгляните на эти ссылки:
https://www.scrumalliance.org/community/articles/2014/july/scrum-vs-kanban
http://kanbantool.com/kanban-library/scrum-and-kanban/kanban-vs-scrum-how-to-make-the-most-of-both
Наконец, беря цитату из последней ссылки
... никогда не прекращайте ретроспекцию, чтобы учиться на своем опыте и продолжать экспериментировать, поскольку вы никогда не знаете, какое возможное решение может оказаться для вас лучшим.
Говоря как человек, который был и техническим директором, и руководителем продукта в разных организациях, я во многом согласен с @The Wandering Dev Manager, но хотел добавить больше, чем позволяет комментарий.
Этого не должно происходить, как описано. Я вижу много красных флажков как в частоте, так и в срочности запросов. Я предлагаю честно поговорить с владельцем продукта об их текущем процессе и о том, как он влияет на вашу работу. Я бы также начал искать другую работу, так как эта ситуация может не улучшиться.
Если владелец продукта просто плохо справляется со своей работой, это на самом деле хорошо — он может стать лучше или его можно заменить. К сожалению, во многих случаях подобные ситуации возникают из-за того, что Владелец Продукта на самом деле неплохо разбирается в том, что он делает, но был вынужден придерживаться определенных шаблонов из-за давления сверху. Не каждый может пригласить своего генерального директора уволить его в каждой битве. В этом случае ситуация не улучшится.
В целом изменения во время спринта — это нормально, но вы должны быть к ним готовы. Я всегда слежу за тем, чтобы мои продуктовые и технические команды набирали достаточно баллов для обработки «горячих исправлений» и ошибок. Когда я запускал продукт в медиа-компании, мои команды знали, что нужно резервировать определенное количество баллов за каждый спринт — всегда что-то всплывало, так как это было характером нашего бизнеса. Наша система работала, потому что мы всегда могли спланировать какое-то событие. Если прогнозируемое событие как-тоне случалось, то оставшееся время можно было использовать для личных проектов, ведения домашнего хозяйства или [ох!] продвижения вперед. Обработка последних функций/изменений всегда находилась на усмотрении менеджера по продукту и в консультации с менеджером проекта и техническим менеджером этой команды. Мы всегда следили за тем, чтобы мораль команды также была важным фактором. Бизнес-подразделениям не было обещано ничего, кроме «наилучшей попытки выполнить».
Иногда принимается чрезвычайно плохое бизнес-решение — и никто не осознает этого, пока не начнется спринт. Это часто случалось со стартапами, которые я советую. Справиться с такой ситуацией довольно просто — у вас есть общее собрание, чтобы пересмотреть, перерасставить приоритеты и перепланировать. Спринт прерывается; вы начинаете с нуля.
Заинтересованные стороны вашего бизнеса могут не понимать, что надлежащее планирование необходимо по многим причинам. Это сводит к минимуму административные издержки, позволяет создавать взаимосвязанные системы более эффективным образом, позволяет предвидеть и планировать разработку решения... Существует длинный список причин, но есть только два основных вывода, которые заинтересованные стороны и владельцы продукта должны понимать:
Когда заказчиком является внутренняя организация, это означает, что руководители отделов должны обсудить это. Если клиент является внешним клиентом, то компания должна решить, являются ли деловые отношения исправимыми или даже оправданными.
Теоретически я согласен с @The Wandering Dev Manager, но я думаю, что он / она делает потенциально легким для PO изменение спринта.
Задача PO — противостоять изменениям в спринте (а не предотвращать их) от внешних субъектов (клиентов). Если нет критической ситуации, то спринт следует считать неизменным.
Кроме того, цикл спринта должен быть коротким, чтобы все новое, что появляется, могло быть расставлено по приоритетам в следующем спринте, не затрагивая клиента. Если у вас есть несколько месячных спринтов, то вы на самом деле не занимаетесь agile. Цель — быстрое изменение с видимыми изменениями (2-4 недели).
Но спринт может измениться. Если это так, стоимость новых элементов должна быть рассчитана, а эквивалентный объем работы исключен из спринта для компенсации.
Что же делать? Ну это зависит. Работа PO - поддерживать спринт, он это делает? Он бросает соответствующую работу, чтобы компенсировать это? Если нет, то «Scrum Master» должен переговорить с PO.
Вот что вызывает ваш PO:
Я выполнял одну из задач в спринте. Я внес изменения в свою локальную кодовую базу. Я не совсем закончил. После того, как я закончил и убедился, что все в порядке, он отправляется на проверку кода, проходит контроль качества, а затем интегрируется в общий код разработки. Если между началом задачи и ее готовностью пройдет много времени, в общий код разработки будут внесены изменения, конфликтующие с моей работой, что создаст дополнительную работу и риск.
Ваш PO, если он получит то, что хочет, заставит меня прервать свою работу и заняться чем-то другим. Через некоторое время я возвращаюсь к первому заданию. К тому времени я уже половину забыл, так что мне нужно время, чтобы начать заново. Вещи, которые были в моем уме и которые нужно было сделать, отброшены. Качество падает. К тому времени, когда я закончу, в общем коде будет еще много изменений, еще больше конфликтов, больше потраченного времени.
В то же время это полностью уничтожает любую мотивацию. Начать задачу, а на полпути сказать, что она не нужна, полностью демотивирует. И демотивация точно не увеличивает продуктивность. Зачем вам прикладывать усилия к следующей задаче, если вы ожидаете, что она тоже будет выполнена?
Я не удивлюсь, если подобные вещи, происходящие регулярно, снизят производительность команды вдвое. Другими словами, новый материал, который был добавлен в спринт, не будет завершен быстрее, чем если бы PO был терпелив, в то время как исходный материал значительно задерживается. Вместо двух недель для исходных элементов и двух недель для новых элементов требуется одна неделя для запуска исходных элементов, три недели для новых элементов и две недели для завершения исходных элементов. Вместо четырех недель + счастливой команды требуется шесть недель + получается несчастная, демотивированная команда.
То, что делает ваш PO, может быть полностью законным. Я предполагаю, что вы занимаетесь коммерческим бизнесом, и деньги от ваших клиентов идут на оплату вашей зарплаты. Бывают случаи, когда ваши деловые люди говорят: «Хорошо, полное изменение плана», и когда вы должны принять это.
С другой стороны, вы несете ответственность перед владельцами компании за выпуск качественного продукта по стабильной цене, а не за разрушение вашей архитектуры из-за того, что каждую неделю у кого-то появляется новая идея.
В подобных ситуациях наличие процесса ожидания неожиданного является ключевым. Например, политика, при которой одна история обменивается на другую того же размера, — хороший способ сохранить баланс:
В Scrum-процессе
scope creep
это происходит, когда Владелец Продукта или любой другой член Scrum-команды вносит в спринт дополнительную работу (например, «позолотить» или скрыть технический долг) без обсуждения этого с Командой. Вся Команда всегда должна договариваться об изъятии пользовательской истории из Бэклога Продукта и переносе ее в текущий Бэклог Спринта. Однако, если команда завершила всю работу, которую они взяли на себя в текущем спринте, и у разработчика нет возможности помочь другому или тестировщику, они могут поднять проблему на следующей ежедневной встрече и попросить внести новые Работа.
Кроме того, обмен отзывами клиентов и показателями внутри команды помогает выяснить, необходимы ли изменения в самом продукте, в обмене сообщениями или в анализе данных. Ключевым моментом является наличие дорожной карты и ее соблюдение, но это работает только в том случае, если все знают план и изменения в нем двунаправлены:
Мы можем добавлять или изменять задачи в квартальном плане, но это отражается в расширении объема и явном изменении плана.
использованная литература
магия
пользователь48138
пользователь45590
пользователь45590
папарацци
пользователь48138
папарацци
пользователь45590
Джейн С
Странствующий менеджер разработчиков
пользователь48138
Странствующий менеджер разработчиков
пользователь48138
Странствующий менеджер разработчиков
Алан Лаример