Проводятся ли исследования о недостатках использования систем отслеживания проблем? [закрыто]

9

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

  • Требуется слишком много времени, чтобы описать проблемы в нем. Это препятствует его использованию.
  • Вы создаете место для хранения ошибок. И если для них есть место, люди обычно не слишком заботятся об исправлении ошибки, потому что они могут ее исправить, чтобы когда-нибудь кто-то мог ее исправить (или нет).
  • Со временем списки ошибок становятся настолько длинными, что никто больше не может с ними справиться, отнимая у нас много времени.

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

Я здесь один? Существуют ли исследования (книга / статья / что угодно) о недостатках (или больших преимуществах) использования систем отслеживания проблем?

user1062120
источник
5
Голосование по закрытию тоже локализовано. Проблема здесь, похоже, не в системах отслеживания ошибок, а в процессе обработки ошибок в компании.
P.Brian.Mackey
1
Какие системы отслеживания проблем вы пробовали (кроме заметок и досок)? Каков был процесс вокруг их использования?
FrustratedWithFormsDesigner
1
Из них я использовал только Jira (я согласен, что у него много накладных расходов, пока вы не привыкнете к его «ритму»). Не фанат веб-интерфейса, но он выполняет свою работу. Здесь мы также используем MKS, который также осуществляет контроль версий. Это лучше, чем Джира. Ни один из них не идеален, но они все еще лучше, чем бумажные заметки и подверженные ошибкам органические воспоминания людей.
FrustratedWithFormsDesigner
15
Я думаю, что смущен вопросом. Использование после его на доске IS система отслеживания ошибок. Если ваш проект / команда / кодовая база достаточно малы и работает «один на один», вам, вероятно, будет непросто убедить себя добавить дополнительные издержки к процессу. Существует множество недостатков в использовании подобной системы, как указано ниже. Как только проект и команда растут, особенно когда члены команды могут не находиться в одном здании, городе или стране, другие системы начинают светиться, как отмечено в ответах ниже.
s_hewitt
2
как вы прикрепляете трассировку стека к записи? или скриншот? или сообщение об ошибке?
JK.

Ответы:

41

Требуется слишком много времени, чтобы описать проблемы в нем. Это препятствует его использованию.

Если вы даже не можете описать ошибку, как начать исправлять ее?

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

Это проблема вашей команды, а не программного обеспечения.

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

Опять вы описываете проблему с вашей командой.

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

Том Сквайрс
источник
Программное обеспечение для отслеживания также помогает отслеживать ошибки, которые нужно исправить. Липкая записка может упасть, и если к вам подойдут четыре человека с ошибками, над которыми вы можете поработать правильно, то вы можете исправить три и забыть четвертое. Это полезно, даже если вы не обращаете внимания на причины ошибок.
Дэвид Торнли
и чтобы решить проблему с вашей командой, вы можете использовать gamification -> en.wikipedia.org/wiki/Gamification
marc.d
11
@JoaoBosco: рукописные билеты теряются, нацарапываются, выбрасываются случайно ... личные беседы великолепны, за исключением случаев, когда вы описываете сложные ошибки людям, у которых нет фотографической памяти. Люди будут забывать вещи из разговоров, не потому, что они хотят, а потому, что это просто то, что происходит.
FrustratedWithFormsDesigner
3
@JoaoBosco: А как насчет скриншотов ошибок графического интерфейса? Будете ли вы перерисовывать их вручную? Примеры неправильного вывода данных (если это ошибка базы данных, готовы ли вы написать n строк с m столбцами неверных данных вручную)? Другие формы цифровых артефактов, которые связаны с дефектом, которые просто плохо переводятся на заметки? Все это можно легко прикрепить к заявке в системе отслеживания проблем. И если вы собираетесь позже преобразовать заметку в текстовые файлы, почему бы не создать базу данных, которая позволяет сортировать, упорядочивать, классифицировать ваши билеты, а затем немного продвинуться к отслеживанию проблем.
FrustratedWithFormsDesigner
10
@ user1062120: «Если нет места для хранения ошибок, люди начинают исправлять его чаще» - или они начинают игнорировать и забывать ошибки. Это не «трюк для мотивации людей», а абсурдная попытка превратить слабость в силу.
Майкл Боргвардт
12

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

Однако, если разработчикам все равно, и проект больше, чем тривиальный по размеру, и в нем больше одного разработчика, и в нем задействовано какое-то управление (все это довольно часто встречается в реальных проектах). ), скоро возникнут вопросы типа:

  1. Какие из открытых ошибок должны быть исправлены в первую очередь? (примечание: в нормальном проекте это должен решать владелец продукта и / или руководство, а не разработчик - для чего они должны знать в первую очередь обо всех открытых ошибках!)
  2. Сколько открытых ошибок у нас есть и какой серьезности?
  3. Что из этого должно быть исправлено, прежде чем мы будем готовы к выпуску?
  4. Сколько времени нужно запланировать для этих исправлений, что часто приводит к тому, сколько времени в среднем требуется для исправления ошибки?
  5. сколько ошибок было сообщено клиентами в последнем выпуске?
  6. Кто исправил эту ошибку, когда и какие изменения (код / ​​конфигурация / данные) были связаны с исправлением?
  7. Какие исправления включены в релиз, который мы только что опубликуем?
  8. ...

Можете ли вы ответить на такие вопросы [обновить] повторно, надежно и эффективно [/ update] на основе ваших заметок?

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

Петер Тёрёк
источник
Пост не будет отвечать на все. Это просто инструмент. Вы по-прежнему можете расставлять приоритеты, составлять статистику об открытых ошибках, исправленных и т. Д. Все, что я хочу сказать, это то, что я считаю, что системы отслеживания проблем могут быть более контрпродуктивными, чем помогать вам решать проблемы управления, которые у вас есть.
user1062120 23.11.11
7
@ user1062120: И все остальные говорят, что ты очень, очень неправ. Post-it - это система отслеживания ошибок, просто очень плохая, в которой отсутствуют многие важные функции.
Майкл Боргвардт
@ user1062120, конечно, теоретически на все эти вопросы можно ответить с помощью заметок - если вы добавляете уникальные идентификаторы к каждому, продолжайте добавлять подробные комментарии к истории (так что через некоторое время вы начнете нуждаться в довольно больших заметках :-), и потратьте огромное количество времени на сортировку, повторную сортировку и реорганизацию их в соответствии с текущим вопросом (для чего вам может потребоваться нанять нового парня в более крупном проекте ;-).
Петер Тёрёк
@ user1062120, например, планирование дает Вопрос 1 выше - давайте переставим заметки в соответствии с приоритетом. Вскоре PM спрашивает Q2: упс, переставь по серьезности. Но Q1 все еще открыт, так что теперь давайте снова рассортируем их по приоритетам. Ой, 3 поста были опущены, потому что они были на столе Джо - начните все сначала! Затем Q6 - давайте выкопаем ящики, в которых хранятся исторические посты, просматриваем их все вручную, чтобы найти нужный, затем попробуем прочитать каракули на его спине, чтобы описать изменения ... ой, кто-то открыл Окно рядом, спешите, чтобы спасти свой пост от побега ветра ... и т. д.
Péter Török
9

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

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

JW8
источник
1
Большое спасибо за ссылки. Я посмотрю на них. И да, он работает в 3 небольших командах здесь.
user1062120
2
+1 за ссылки, которые были заданы в вопросе.
Mattnz
4

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

  1. Команда разработчиков
  2. Пользователи системы

Кэл Хендерсон (ранее из Flickr) написал отличный пост о дизайне многих трекеров и почему он предпочитает трекер GitHub (как и я). Также Гаррет Даймон рассказал о дизайне Sifter и проиллюстрировал способ упрощения процесса для более эффективного отслеживания проблем . Я применил некоторые идеи из обеих публикаций, чтобы упростить процесс отслеживания проблем моей команды.

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

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

TL; DR Сконцентрируйтесь на своем процессе, выбирайте простые инструменты и решайте проблемы по мере их появления.

kstewart
источник
Это именно то, что я имел в виду. Мы также расставляем приоритеты для элементов, как только они появляются, и мы также удаляем не важные элементы. Важные вещи вернутся вовремя. Я обнаружил, что накладные расходы на отслеживание всего не достойны. Идея иметь небольшую белую доску для постов это в том, что вы физически не можете зарегистрировать все, только важные вещи. Так что этот трюк заставляет вас справиться с этим как можно скорее. Но это мой случай, поэтому я не уверен, будет ли это работать везде.
user1062120 23.11.11
2

убивать важные ошибки, как только они появляются

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

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

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

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

  • На самом деле, учитывая, что вы спрашиваете о f2f, кажется, что вы (не) используете трекер для обсуждения вещей - это не его цель. Чтобы понять его предполагаемое использование, просто назовите его имя медленно и четко: система отслеживания проблем .

списки ошибок становятся такими длинными

По моему опыту, выше это преимущество, а не проблема.

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

  • Я помню только один случай, когда длинные списки ошибок были проблемой. Это случилось, когда какой-то идиот из высшего руководства выбрал политику, которая заставляла разработчиков выбирать следующую ошибку из кучи 50-100 почти ежедневно. Какая трата. Нам потребовалось несколько месяцев боли, пока мы не поняли, как обострить это через его голову и исправить это.
    Через некоторое время после того, как нам удалось установить удобный рабочий процесс, мы обнаружили, что наше «бесконечное отставание» волшебным образом опустошилось.
комар
источник
2
Недавно я провел 2,5 дня, разбираясь с более чем 300 открытыми ошибками (в основном пользовательским интерфейсом), накопленными за год, причем все они были назначены либо давно ушедшим фрилансерам / стажерам, либо руководителю проекта, у которого не было времени для их устранения. Я обнаружил, что могу закрыть около половины из них, как уже исправлено или уже не актуально. Остальные исправляются с приличной скоростью после того, как я назначил их нужным людям. Система отслеживания ошибок использовалась плохо, но без нее все эти ошибки (без показательных пробок, но некоторые довольно уродливые) наверняка были бы забыты.
Майкл Боргвардт
1
@MichaelBorgwardt да, списки так долго, что никто не может справиться с этим, по моему опыту, всегда получается управляемым, если не замерзнуть страшно выглядящими числами, такими как 200, 400, 1000. Я просто быстро проверил любопытство - за прошлый год я исправил более 300 проблем - я один (!). Из любопытства я также проверил других парней в команде, думая, может быть, я уникален - нет, 200-400 исправлений в год кажутся просто средней скоростью. 500 ошибок, как бы страшно это ни выглядело, может быть всего пол года работы для 4-5 разработчиков, кусок пирога :)
комнат