Как решить проблему доставки производственных исправлений в Scrum?

Скажем, в бэклоге продукта 90 историй и около 30 историй, которые составляют часть функциональности приложения, разработанного и доставленного в ходе предыдущих спринтов. PO решает выпустить эту предоставленную функциональность и запустить ее в производство.
В настоящее время я нахожусь в спринте 6, а продолжительность спринта составляет 3 недели. Спринт начался примерно с 5 историй, так как это элементы бэклога спринта, и к настоящему времени прошла одна неделя спринта.

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

К настоящему моменту, надеюсь, вы видите ситуацию, в которой находится заказ на покупку. Даже если команда разработчиков (поскольку только DT может изменить журнал спринта, а не заказ на заказ) готова внести это исправление / функциональность в свой журнал спринта, его доставка займет еще 2 недели (поскольку прошла только одна неделя из 3-х недель спринта) и ЗП не может ждать так долго.

Что может сделать ОП в этой ситуации.
1) Может ли он инициировать еще один новый спринт, который длится всего несколько часов или максимум день (я бы назвал это микроспринтами). Итак, вот часть вопроса - могут ли спринты длиться несколько часов или максимум день или два. (из того, что я где-либо читал, самая короткая продолжительность спринта, которую я читал или слышал, составляет 1 неделю). Поэтому у меня есть сомнения, возможно ли иметь короткие спринты в несколько часов или день, и являются ли они действительными и приемлемыми в схватке. .
2) что вы предлагаете о том, как заказ на покупку должен обрабатывать это первоочередное и срочное исправление / функциональные возможности, которые требуют немедленной доставки.

Примечание: все в проекте должно выполняться только в рамках формального процесса схватки.

Нет. Спринты всегда должны планировать один и тот же размер для временного окна. Однако вы можете прервать текущий спринт и начать новый 3-недельный спринт по усмотрению PO.
спасибо за «Нет. Спринты всегда должны планироваться одинакового размера для временного окна». уточнение. Но отменив текущий спринт и запустив еще один 3-недельный спринт, проблема все равно не будет решена, поскольку PO хочет немедленной доставки критического исправления/функциональности, которая, как он знает, займет всего несколько часов. Он не может ждать 3 недели ради нескольких часов работы. Итак, что ему лучше сделать. Ответ Кемпета добавляет пояснение, если вы не хотите указывать на другой подход.
Sprints must always schedule the same size for a time boxявляется проблематичным грамматически и неправильным. Спринт — это тайм-бокс. Хотя рекомендуется, длина спринта не обязательно должна быть постоянной. Потому A new Sprint starts immediately after the conclusion of the previous Sprintчто следующий не запускаетсяat the PO's discretion.

Ответы (6)

Отличные ответы выше.

Но я добавлю... Найдите время с PO & DT, чтобы обсудить исправления производственных ошибок и попытаться разработать политику, чтобы ваша команда лучше понимала исправления Scrum Vs Emergency.

Обычно команды применяют методологию… «Если это так важно… Исправьте, разверните, вернитесь к спринтерским задачам».

Затем следите за скрытым изменением PO как чрезвычайными ситуациями, когда на самом деле это просто пропущенные требования.

Удачи!

«Если это так важно… Исправьте, разверните, вернитесь к задачам спринта». Gr8 Я действительно согласен. Таким образом, мне не нужно прерывать весенний отставание и не нужно беспокоиться о регрессии из-за новых функциональных возможностей, добавленных в продукт ... которые могут не требоваться в фиксированной версии продукта. Теперь, как я могу назвать этот механизм доставки... еще один короткий спринт.
+1 за бдительность. Я подумал упомянуть об этом в своем ответе.
Это рой... вы роите проблемы... но это не спринт в спринте... это "Нет-Нет"

Scrum — это средство, позволяющее быстрее и комфортнее добраться до места назначения. Не дубина, чтобы бить друг друга по голове...

В Scrum ничто не мешает вам пересмотреть рамки этого спринта или выпустить новую версию во время спринта. SCRUM говорит только о том, что спринты должны быть достаточно короткими, поэтому обычно в таких вещах нет необходимости (т. е. PO может ждать следующего спринта для всего, что приходит). Но весь смысл Agile в том, что вы можете адаптироваться к меняющимся обстоятельствам. Кроме того, Scrum не говорит, что вы можете выполнить только в конце спринта, но что вы должны быть в состоянии выпустить в конце спринта.

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

Люди и взаимодействия важнее процессов и инструментов

Работающее программное обеспечение над исчерпывающей документацией

Сотрудничество с клиентами в ходе переговоров по контракту

Реагирование на изменение вместо следования плану

gr8, так как PO решает эту проблему, позволяя добавлять исправления/функциональные возможности в текущий спринт с одобрением DT. Затем позвольте DT исправить или добавить функциональность. И когда это будет сделано, вместо того, чтобы ждать окончания спринта, PO может принять работающее программное обеспечение во время спринта и выпустить его.
Ничто в Scrum не мешает вам выпускать релизы ежедневно или даже ежечасно (или когда угодно), если хотите.

Я видел, как люди добавляли аварийную полосу на свою канбан-доску, и эти заявки получали приоритет.

Это предотвращает нарушение концепции Канбана, но, как уже красноречиво ответил Кемпет , инструменты управления проектами существуют для облегчения (и, надеюсь, ускорения) процесса доставки, в конечном счете, в надежде сделать компанию богатой. :-)

Глупо рассматривать PjM как непреложные правила, хотя вы должны быть осторожны, чтобы у вас не было бесконечного списка « чрезвычайных ситуаций », разрушающих всю концепцию.

Я бы сказал, что есть несколько разных вещей, которые нужно решить.

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

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

Что касается развертывания, Scrum говорит, что в конце спринта у вас должен быть инкремент продукта. Это не говорит о том, что вы должны развертывать функциональность только в конце спринта. У вас может быть столько развертываний, сколько вы хотите, нужно или можете сделать во время спринта.

Есть много способов справиться с этим, но, на мой взгляд, следующие два являются наиболее устойчивыми:

  1. Если скорость команды составляет 50 историй, начните спринт с 35 историями. Остается 15 для исправления ошибок и/или постоянного улучшения/обучения.
  2. Максимально укоротите спринт. Нет смысла отвлекать команду багами. Большинство ошибок можно будет дождаться планирования следующего спринта, чтобы получить приоритет.

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

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

Что мы делаем на данный момент.

У нас запланирован спринт, состоящий из 2 частей.

  • новостройка (70%)
  • Исправление багов/инцидентов/горящего производства

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

Это ситуация, когда продукт живой и у нас много багов (купил чертову штуку по фиксированной цене). Это работает довольно хорошо для нас.

Не забывайте называть это небольшими спринтами или около того. Если это действительно проблема, возможно, вам нужно немного сократить спринты. 1 (или максимум 2) недели. Таким образом, вы также можете быстрее решить эти надоедливые производственные проблемы.

При таком подходе коренная проблема качества не решается.