Системы отслеживания ошибок и постановки задач

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

Нет кода без ошибок

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

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

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

Плоха та функция, которая не мечтает стать приложением

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

Отсутствие детального описания можно объяснить многими причинами:

  • собственные мнималистические представления о ТЗ
  • кажущаяся незначительность мелких деталей
  • подразумеваемые, но не описанные возможности
  • пожелания, возникающие по мере знакомства с реализацией

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

  • бизнес–логики
  • интерфейсов пользователя
  • логирования
  • безопасности
  • дизайна
  • смежных программных решений

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

Решения

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

  • Trac
  • Jira
  • Bugzilla

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

Как правило багрекер живет столько же, сколько работает обслуживаемое им ПО, позволяя упорядочивать задачи по:

  • этапу или ветке разработки
  • важности
  • компоненту программного комплекса
  • исполнителю

Менеджерам, ответственным за проект как со стороны заказчика, так и со стороны исполнителя, система постановки задач помогает отслеживать:

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

Интеграция

Большинство систем постановки задач поддерживают возможности интеграции с:

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

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

Я счастлив, когда протестую.

Ричард Столлман