Как управлять журналом регистрации проблем


10

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

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

Какой лучший способ отслеживать проблемы такого рода?

Часть проблемы заключается в том, что некоторые из этих проблем имеют настолько низкий приоритет, что они могут никогда не быть решены. Я ненавижу терять эти предметы (похоже на нежелание выбрасывать что-то из моего дома на случай, если мне это когда-нибудь понадобится); нужно ли их выбрасывать независимо (пометив их как wontfix) и предположить, что я смогу найти их в будущем, если они мне когда-нибудь понадобятся?


200 для всей команды заставили меня смеяться. :-) У меня только 120 открытых проблем, большинство из которых я никогда не найду, чтобы исправить! - Итак, подведем итог: отличный вопрос! Я просто хотел спросить то же самое.
Мартин Ба

Ответы:


6

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

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

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

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

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

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

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


3

У Trac есть настройка приоритетов? Что-то вроде 1 для главных шоу-стопперов и 5 или около того для вещей, которые было бы неплохо сделать когда-нибудь?

Если вы можете сортировать по приоритету, вы можете игнорировать вещи с более низким приоритетом.


1
Все, что находится на уровне "приятно сделать когда-нибудь", никогда не будет сделано. Выдерни это.
Аарон Макивер

1
@ Аарон: Я бы предпочел оставить это на всякий случай, если мы когда-нибудь захотим повысить приоритет. Ясно, что это никогда не будет сделано с таким приоритетом, если только у разработчиков не будет слишком много времени (и они уже сделали gopher-клиент для программного обеспечения и сделали его совместимым с хайку).
Дэвид Торнли

У Trac действительно есть установка приоритетов, хотя мы накопили достаточно отставания, которое я только что решил, что нам все еще нужен подход "вырвать его".
Джош Келли

3

прочитайте: http://en.wikipedia.org/wiki/5S_%28methodology%29

Положите их на чердаке, подождите год, затем переезжайте. Это то, что я делаю.

Серьезно, если вы не собираетесь это исправить, то забудьте об этом. Смотрите Экстремальное Программирование.

Но для предметов о коде. Вы можете поместить их в систему проверки кода, как незначительные наблюдения. Эта система может быть настроена так, чтобы отмечать проблемы при редактировании этой части системы. Я обнаружил, что это не работает в качестве коллег, думал, что это то, что ожидалось, и не рассматривал обзорные наблюдения.

Единственный способ сделать это - безжалостная расстановка приоритетов. Сделай это сейчас или не беспокойся.


Можете ли вы рассказать о том, как 5s относится к отслеживанию ошибок SW, статья в Википедии, кажется, сосредоточена на мануфактуре
jk.

@jk все связано. Мы можем учиться на всем. Бережливое производство и гибкая разработка программного обеспечения - это почти одно и то же. За одним серьезным исключением. В производстве неповторяемость является дефектом, в дизайне повторение является дефектом (перестаньте писать один и тот же код снова и снова). Хотя есть части процесса, которые следует повторить (процесс).
Ctrl-Alt-Delor

2

Это на самом деле не вопрос контроля версий, а скорее вопрос рабочего процесса и приоритета бизнеса. Отслеживание вещей, которые, как известно, являются неправильными, является хорошей идеей, даже если они вряд ли когда-либо будут исправлены, имеет несколько преимуществ. Во-первых, это означает, что QA (если у вас есть отдельная команда QA) знает, не регистрировать новую ошибку для него. Еще одно преимущество заключается в том, что если возникает новая проблема, но ее основная причина связана с одной из этих проблем «мы знаем об этом, но она имеет низкий приоритет», любой анализ исправления уже отслеживается - что может сделать более новую, более высокую - Приоритетная версия ошибки гораздо проще исправить.

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

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


1

Это действительно зависит от нескольких вещей.

  1. Насколько велика команда? Если команда достаточно велика, вы можете назначать билеты таким образом, чтобы можно было выполнить задания с более низким приоритетом.
  2. Как часто вы делаете релизы: Если цикл выпуска достаточно длинный, вы можете избежать добавления новых вещей или задержки релиза до тех пор, пока не будут решены все заявки.
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.