2010-07-14 1 views
2

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

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

Кто-нибудь нашел механизм для отслеживания этого типа без нарушения поведения? Можно ли ожидать полезных данных от членов команды, если мы объясним команде аргументацию данных (не для того, чтобы вести индивидуальные показатели производительности, но показатели успеха проекта)? Есть ли другой, лучший способ сделать такие вещи (возможно, более срочная посмертная или открытая дискуссия по вопросам)?

ответ

1

Многие пакеты управления версиями имеют такие вещи, как svn blame. Это не является прямой метрикой для отслеживания ошибки, но она может сказать вам, кто проверял изменения в релизе, в котором есть основная ошибка.

Существуют также программы, такие как http://www.bugzilla.org/, которые помогают отслеживать события со временем.

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

  • Плохо написанные спецификации
  • Бросились сроки
  • низковольтного умения программировать
  • Bad Морали
  • Отсутствие беты или QA тестирование
  • Отсутствие подготовки программного обеспечения, чтобы было возможно выполнить бета-тест или тест QA
  • Плохое соотношение времени, затраченного на очистку ошибок, и получение новой функциональности ou т
  • Плохого отношения времени, потраченного делая улучшения безглючности против получения функциональности
  • превышения сложной системы, которая легко сломать
  • изменения окружающей среды, которая находится вне базы коды, такие как управление машиной
  • Винить за ошибки, влияющие компенсации программисту или продвижение

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

+0

@stimy: были ли какие-либо из этих ответов полезными для вас? – eruciform

+0

Я полагаю, что мое беспокойство связано с тем, что происходит, когда вы просите разработчиков предоставить эту информацию. Они неохотно ... они в конечном итоге борются за вину ... они в конечном итоге не хотят принимать дополнительные недостатки, потому что вина является отрицательной категорией. Это то, о чем я беспокоюсь. – Stimy

+0

@stimy: ты точно прав. это должно быть настроено не угрожающим образом, где отчеты об ошибках используются для отслеживания вещей, чтобы облегчить их исправление и, следовательно, проще для программистов; в противном случае это то же самое, что указывать пальцы. если что-то прослеживается, что включает какую-то характеристику вины, тогда все заинтересованные стороны должны быть в равной степени ответственны. т. е. кричать продавцы и бедные руководители проектов должны одинаково обрабатываться предотвратимыми ошибками и серьезными ошибками в выпусках или тестировании. – eruciform

0

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

Присвоение причин - хорошая техника, чтобы увидеть, есть ли у вас проблемная область. Типичные показатели, которые я видел и Встретившиеся даже раскол между:

  • ошибки Спецификация (нет, incorrec и т.д.)
  • ошибок приложений (inccorrect кода, отсутствие кода, плохие данные и т.д.)
  • Неправильные тесты/отсутствие ошибок (как правило, неверные ожидания или спецификации еще не реализованы)

Выявление и проверка причин дефектов могут быть полезными.