2013-09-27 2 views
6

Я работаю в гибкой команде.Как обрабатывать «билеты» во время планирования спринта

У нас есть выпущенный продукт, и мы по-прежнему работаем над будущим выпуском.

Каждый спринт мы получаем от 0 до 5 билетов, чтобы исправить ошибки в выпущенном продукте.

Наша команда состоит из инженеров-программистов (для обработки новых разработок) и инженеров по обслуживанию программного обеспечения (для обработки билетов).

Мой вопрос: как вы учитываете часы обслуживания во время планирования спринтов.

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

Я чувствую, что это не хороший проворный способ делать что-либо, любое предложение?

ответ

9

подхода Вы упомянули также охватываются Mike Cohn в Should Story Points Be Assigned to the Agile Defect Story?, где он пишет:

Иногда команда написать историю пользователя для этой деятельности, таких как: «Как пользователя, я хочу по крайней мере, Исправлено 15 ошибок »или« Как пользователь, я хочу, чтобы вы потратили около 50 часов на устранение ошибок при спринте, чтобы приложение постепенно становилось более качественным ». Даже команда, которая не , явно пишет такую ​​историю пользователей обычно будет содержать строку на своей панели , чтобы сделать гибкие дефекты и исправление ошибок видимыми, и до отслеживать его.

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

Там могут быть и другие варианты тоже, как

  • Установка некоторое время ошибка фиксации в каждом спринте. Это может быть заданное время дня/недели, когда каждый член команды имеет дело с ошибками.
  • Включая каждую ошибку в том же отставании от спринта, рассматривая их как частично реализованную функцию. Это обсуждается Марк Летом в Managing Bugs in Scrum.

Что делать в случае чрезвычайных ситуаций/исправлений?

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

В словах Geoff Watts из Production Support and Scrum:

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

Владелец продукта может осуществлять любого из 3 вариантов:

  • Добавить насущный дефект отставания, потому что он/она решила, что в настоящее время спринта цели имеет более высокий приоритет
  • Добавить настоятельные дефект в текущий спринт, потому что это достаточно критический, которые могут поставить под угрозу даже спринт цель
  • Отмены текущего спринта, сделать исправление, а затем начать новый спринт после этого
+0

Что делать, если во время спринта мы получаем горячий/срочный билет, который нужно фиксировать как можно скорее, нам нужно исправить его во время спринта, что нам делать тогда? – Kam

+0

Я просто хочу указать, что пользователи не дают @ # $ @ #, исправлены ли 15 ошибок. Разработчики могут заботиться, и владелец продукта может заботиться, но пользователи просто хотят: покупать/делать/есть/сохранять/etc – Kzqai

3

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

Часть неписаного контракта Scrum заключается в том, что бизнес соглашается не прерывать команду разработчиков. Частично это может улучшить производительность.

Если у вас есть горячий/срочный билет, который НЕ МОЖЕТ дождаться продолжительности Sprint, вам нужно убедить владельца продукта, который затем будет вести переговоры с командой разработчиков, чтобы наилучшим образом ввести горячий элемент.

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

2

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

Я бы сделал еще один шаг от того, что предложил Дерек, - и используйте Kanban AND Scrum вместе - Scrumban все больше и больше нащупывает! Поскольку вы сказали, что у вас может быть от 0 до 5 дефектов в любом спринте, очевидно, что ваш «спрос на отказ» является переменным, и поэтому это необходимо для ваших «инженеров-технологов». Что они делают, когда есть 0 или 1 или 2 дефекта? Я полагаю, что они также вносят свой вклад в «спрос на стоимость» - новые истории пользователей.

Здесь Канбан сияет. В то время как фактический дизайн вашей платы Kanban должен быть проанализирован вашей командой, вы можете начать с простой 2 плавательной панели, которая отражает ваш текущий процесс для выполнения вашей работы. Простой пример показан ниже -

enter image description here

Здесь у вас есть все ваши инженеры доступны для работы либо в дорожках. По мере того, как происходит работа, в зависимости от того, кто может ее принять, и МОЖЕТ принять ее - они работают над ней и работают над ней. Вы все еще играете вещи для спринта в постановке - и развертывайте партию за один раз.

В качестве альтернативы, вы можете иметь совершенно отдельные полосы для пользовательских историй и дефектов -

enter image description here

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

Преимущества либо из этих подходов -

  1. Вы получаете больший пул людей работать на любой ситуации.
  2. Вы можете получить более быстрое время отклика, лучшую производительность SLA, на дефекты.
  3. Вы получаете более счастливую команду, где каждый может работать над новым материалом. Большинство инженеров не хотят быть «обслуживающими» парнями :-)

Конечно, это только на основе базового анализа. Если вы не знакомы с Канбаном или Скрумбаном, вам следует прочитать книги Дэвида Андерсона (Канбан) и документы Кори Ладаса (Скрумбан) и некоторых других, таких как Юваль Йере, Джим Бенсон, Маса Маэда и подготовиться к лучшему. Вы также можете связаться с нами по адресу www.swiftkanban.com, и мы тоже можем помочь.

Надеюсь, это поможет!

+1

Ваши ссылки больше не работают. Я предполагаю, что это были фотографии. Пожалуйста, отредактируйте свой ответ и вставьте его. – Navarr

+0

Ваш сайт WordPress, содержащий изображения, не позволяет гостям! – Heliac

+1

Спасибо, я исправил проблему с изображением. –