Представьте, что у Stack Overflow есть руководящие указания: вместо того, чтобы задавать один вопрос, вы приходите и спрашиваете в том же вопросе все, что вам приходит в голову, все ваши проблемы, которые у вас были за последние две недели. Что будет означать повышение и понижение? Каковы будут названия вопросов? Как принять лучший ответ? Как отметить вопрос?
Система отслеживания ошибок сделана, чтобы ... отслеживать ошибки. Отслеживание ошибки означает:
Создание записи о том, что ошибка может существовать, с информацией о том, как ее воспроизвести,
Подтверждая, что действительно, ошибка существует и является ошибкой, а не чем-то разработанным,
Утверждая, что ошибка теперь решена,
Подтверждая, что ошибка была устранена.
В очень упрощенной модели 1 и 4 будут выполнены заказчиком, а 2 и 3 - разработчиком.
Представьте себе следующий журнал:
День 1 [Клиент] При нажатии на кнопку «Удалить» в окне «Сведения о продукте» приложение зависает. Перезапуск приложения показывает, что продукт не был удален. Ожидаемое поведение - удалить продукт.
День 4 [Разработчик] <Выпуск воспроизведен>
День 5 [Разработчик] <Проблема решена в ревизии 5031>
День 12 [Заказчик] <Билет закрыт: проблема решена>
Журнал прост и понятен . Вы можете легко отслеживать, что было сделано и когда , какая ревизия решила какую ошибку и т. Д. Например, если система отслеживания ошибок интегрирована с контролем версий, когда вы просматриваете конкретную ревизию, вы можете проверить, какие ошибки были устранены в ней.
Это легко найти информацию . Легко увидеть его состояние (воспроизводится ли? Если билет был закрыт, почему?). Легко фильтровать тикеты (я хочу отображать тикеты, которые касаются только пользовательского интерфейса плагинов, учитывая, что я хочу только тикеты, которые открыты, старше одной недели и назначены мне нашим дизайнером взаимодействия и имеют средний или высокий приоритет).
Легко переназначить тикет или изначально определить, кто именно должен отвечать за ошибку.
Теперь представьте следующий журнал:
День 1 [Клиент] Приложение зависает, когда я нажимаю кнопку «Удалить» в окне «Сведения о продукте». Кроме того, цвет фона левой панели темно-синий, в то время как он должен быть фиолетовым. Я также отметил, что текст окна «Сведения о продукте» плохо переведен на немецкий язык; это ожидается? Когда будет доступен окончательный перевод? Кстати, вы получили новый значок, который я отправил для действия «Опубликовать продукт»? Я не вижу его в окне «Синхронизация данных».
День 6 [Разработчик] Я изменил цвет на фиолетовый.
День 7 [Разработчик] Да, это нормально, что перевод на немецкий язык является неполным.
День 8 [Заказчик] Хорошо для немецкого языка. Как насчет итальянского? Люсия отправила вам файл XML два дня назад.
День 9 [Разработчик] Теперь все в порядке.
День 10 [Клиент] Хорошо для кнопки «Удалить»? Странно, на моем компьютере он все еще зависает.
День 11 [Разработчик] Нет, я хотел сказать, что это нормально для итальянского перевода.
День 12 [Заказчик] Понятно. Спасибо. Но есть проблема с цветом. Вы изменили его на темно-фиолетовый, но он должен быть светло-фиолетовым, как верхняя панель в главном окне.
День 13 [Разработчик] Я обновил иконку.
День 14 [Клиент] Иконка? Какой значок?
День 15 [Разработчик] Значок, который вы попросили меня обновить.
День 16 [Клиент] Я никогда не просил вас обновить какой-либо значок.
День 17 [Разработчик] Конечно, вы спросили. Смотрите этот билет. Вы написали, что значок публикации продукта должен быть обновлен. Я сделал это.
⁞
День 100 [Клиент] Итак, что насчет записей в журнале?
День 101 [Разработчик] Понятия не имею, о чем ты говоришь. Это даже не в этом билете, а в 6199. Я закрываю этот как решено. <Билет закрыт: проблема решена>
День 102 [Клиент] Извините, что снова открыл его, но проблема не решена. Я говорю о записях в журнале: я говорил вам на прошлой неделе, что текст иногда недействителен, если он содержит символы Юникода. Ты помнишь? <Билет возобновлен>
День 103 [Разработчик] Я смутно помню что-то подобное, но после поиска на последних трех страницах этого билета я не могу найти никаких следов. Вы можете написать еще раз, в чем была проблема?
⁞
День 460 [Разработчик] Я потратил два часа на поиск следов того, что вы сказали о файлах, отправленных в зашифрованном виде по сети. Я не уверен, что смогу найти точный запрос.
День 460 [Клиент] Вы, ребята, действительно должны быть более организованными. Я уведомил вас четыре раза об этой проблеме за последние две недели. Почему ты все забываешь?
⁞
О чем этот журнал? Это было решено 43 раза и вновь открыто 43 раза. Означает ли это, что разработчик настолько глуп, что не может решить эту проблему за 460 дней? Ах, нет, подождите, этот билет был назначен тем же 11 разработчикам. В чем дело? Как искать конкретную проблему? Это фактически назначено Ванессе, но ее пять коллег обеспокоены также семью из одиннадцати проблем в этом билете. Когда билет должен быть закрыт? Это когда половина вопросов решена? Или, может быть, десять из одиннадцати?
Примечание: вы можете поверить, что такие журналы не существуют. Поверьте мне, я видел их не один раз.