Баг системы что это
Отчеты о багах
После ручного закрытия приложения в диалоговом окне пользователя появляется автоматический отчет для разработчика, именуемый » bug report» (отчет об ошибке). При автоматическом завершении сеанса работы приложения появляется окно » crash report» (отчет об аварийном завершении).
Только программисты знают, что такое баг, как его локализовать, отладить и протестировать приложение.
Происхождение термина
Также термин «баги» применялся во времена Второй мировой войны. Тогда только военные знали, что такое баг, называя условно этим термином неполадки в работе радарной электроники.
Классификация багов
В отношении этапов программирования ошибки разделяют на следующие группы:
По своему объему баги бывают:
В зависимости от времени баги бывают:
В зависимости от места выявления ошибки бывают:
Каждая ошибка может проявиться в любое время. Это зависит от ее характера, загруженности системы пользователя, настроек. Возникающие баги делают компьютер более уязвимым для несанкционированного доступа или DoS-атаки.
Типы сбоев
«Плавающий» и часто изменяющий свой свойства сбой, который сложно отследить, именуют гейзенбагом.
Критический сбой, приводящий к полному прекращению функционирования системы, называют шрединбагом.
Что такое баги, ворнинги и исключения в программировании
[править] История
И здесь они тоже водятся
Впоследствии слово баг было перенято всеми хоть каким-то образом приобщенными к компьютерам людьми и его значение в каждом конкретном случае стало разным. Но понятие ашипки по-прежнему является обобщающим для всех этих значений, алсо, 9 сентября отмечается День тестировщика.
Видео
Игровые баги
Баги есть не только в программах, они довольно часто встречаются и в играх. Баг игры — это недоработка разработчиков, из-за которой игровой процесс идет не так, как задумывалось изначально. За всю историю гейм-индустрии выходило тысячи забагованных проектов. О самых известных и занимательных мы и поговорим в этом разделе.
Пожалуй, самым забагованным проектом за последние несколько лет можно назвать Assassin’s Creed: Unity. Проекты «Юбисофт» никогда не славились своей оптимизацией, но Unity — это настоящая энциклопедия багов. Порой персонажи находятся в очень странных и неестественных позах, проваливаются в текстурки, проходят через стены или же попросту зависают. Чего только стоит баг, который в считаные часы облетел весь интернет (у персонажей просто пропадали лица, из-за чего выглядели они довольно жутко). Даже сама «Юбисофт» признала свою ошибку, выпустила патч, который фиксит баги, и возместила покупателям ущерб.
Порой игроки воспринимают баги в качестве фичи, особенности игры. Так произошло с мегауспешной серией игр под названием Mortal Kombat. В первой части игры был баг, который перекрашивал Скорпиона (одного из основных персонажей игры) в красный цвет. При этом имя героя заменялось на сообщение об ошибке Error Macro. Игроки посчитали, что эта недоработка является задумкой разработчиков, а красный ниндзя — это дополнительный секретный персонаж. Эду Буну (создатель МК) понравилась данная затея, и в последующей части он добавил в игру этого героя под именем Эрмак (сокращение от той самой Error Macro).
Кто первым употребил слово «баг» в нынешнем значении слова?
Однако, как выяснилось, на самом деле данный термин куда старше XX столетия. Его можно встретить, например, в дневниках Томаса Эдисона. Так, в 1878 году он писал о том, что:
«Это повторялось снова и снова со всеми моими изобретениями. Первым шагом была интуиция, за ней следовала вспышка, затем возникали препятствия — и они исчезали, потом возникали Баги — так называются маленькие недочеты и трудности — и необходимы месяцы постоянного поиска, исследований и тяжелого труда до успеха или неудачи».
А в 1889 году во многих газетах появились сообщения о трудностях, которые испытывал Эдисон, тестируя свой новый фонограф. По словам самого изобретателя, он: «не спал две ночи подряд, пытаясь обнаружить баг». Далее в тексте говорилось о том, что этим багом было постоянное шуршание, возникающее через некоторое время после включения прибора. Любопытно, что именно тогда данный термин впервые попал в Оксфордский словарь английского языка, причем в качестве примера употребления приводилась та самая выдержка из газетной статьи. А в 1943 году это значение слова «баг» было приведено в словаре Вебстера, и опять-таки со ссылкой на Эдисона.
Впрочем, вряд ли данный смысл в слово «баг» вложил сам изобретатель. Согласно другим свидетельствам, его в то время вовсю использовали служащие различных телеграфных компаний. Поэтому точно сказать, когда же оно было введено в оборот, и кто конкретно это сделал, увы, не представляется возможным. Впрочем, не исключено, что таковых «новаторов» было несколько.
Происхождение термина
В оригинальном переводе bug (баг) – это жучок, применялся он для обозначения технических неполадок, не поддающихся выявлению на стадии написания кодов, в телеграфах и телефонах до момента ввода в эксплуатацию компьютеров.
Так, известный изобретатель Томас Эдисон еще в 1878 году говорил, что каждое его изобретение так или иначе было связано в багами. Создание устройств – это дело техники, но неизбежно каждое из них рано или поздно начинало отказываться работать. Тогда Эдисон и ввел понятие «жучков». По его словам баг – это мелкая трудность или ошибка, которую можно устранить только спустя долгое время и на основании результатов наблюдений, замеров и опытов.
Также термин «баги» применялся во времена Второй мировой войны. Тогда только военные знали, что такое баг, называя условно этим термином неполадки в работе радарной электроники.
В программировании баг – что это такое? Определение его впервые ввела Грейс Хоппер в 1946 году. В то время она работала над программированием вычислительной машины в Гарварде. Однако в какой-то момент работы устройство отказывалось реагировать и отключалось. Тогда Грейс решила отследить сбой изнутри машины. К ее удивлению, причиной ошибки в вычислениях стал мотылек, который застрял между контактами реле. Мотылек до сих пор хранится в техническом дневнике под скотчем под записью: «Первый действительный случай нахождения жука».
[править] Тестирование
Основная статья: Тестировщик
Для отлова багов в программах используют специально обученных охотников во все возможные дыры, называемых тестировщиками. Первой их задачей является сломать программу любыми средствами. У идеального тестировщика в вакууме на компьютере не работает ничего, потому что он всё сломал. У обычного тестера должна не работать только одна конкретная программа. Также является профитом, если тестер ломает мебель, бьёт стёкла и рвёт занавески. Пример.
Как известно, программисты очень сильно любят тестеров, поэтому тестер должен обладать разрядом по боксу для общения с особо неадекватными их представителями. А также тестер должен обладать рефлекторным умением посылать фаербол в ответ на заклинание «это фича».
Выбираем подходящий баг-трекинг
Я общался с десятками QA-инженеров из разных компаний и каждый из них рассказывал о том, что у них используют разные системы и инструменты для баг-трекинга. Мы тоже пробовали несколько из них и я решил поделиться решением, к которому мы пришли.
Интро
Буду банален. Ошибки появляются и обнаруживаются на различных этапах процесса разработки. Поэтому можно разделить баги на категории, в зависимости от времени их обнаружения:
С чего мы начинали, или Jira
Два года назад у нас была выделенная команда тестировщиков, которые вручную тестировали продукт после интеграции кода всех команд. До этого момента код проверялся разработчиками на девелоперских стендах. Ошибки которые находили тестировщики заносились в бэклог в Jira. Баги хранились в общем бэклоге и переезжали из спринта в спринт с другими задачами. Каждый спринт два-три бага доставались и чинились, но большинство оставалось на дне бэклога:
У меня есть подозрения, что за все время работы нашей сети, никто, кроме тестировщиков не воспроизводил эту ошибку. Такого рода ошибки и составляют большинство багов, которые не исправляются.
При таком подходе, когда заносятся все найденные баги, некоторые из них дублируются и большинство из этих багов не чинится возникают проблемы:
Прощай Jira, да здравствует Kaiten
Весной 2018 года мы отказались от Jira и перешли в Kaiten. Смена инструментов была вызвана причинами, о которых Андрей Арефьев написал в статье «Почему Додо Пицца стала использовать Kaiten вместо связки Trello и Jira». После перехода в Kaiten наш подход к работе с багами не изменился:
Время экспериментов, или нет
Мы решили поэкспериментировать с форматами и создали отдельную доску в Kaiten, на которой хранили баги и меняли статусы. Мы упростили заведение баг-репорта, чтобы тратить меньше времени. При добавлении карточки в Kaiten тестировщики помечали разработчиков. Об этом им на почту отправлялось уведомление. Мы вывели эту доску на монитор, который висел в проходе рядом с нашим рабочим местом, чтобы разработчики видели прогресс и процесс тестирования стал прозрачным. Эта практика тоже не прижилась, потому что основной канал общения – Slack. Наши разработчики не проверяют почту часто. Поэтому это решение быстро перестало работать и мы снова вернулись к Slack.
Верните муравьишек
После неудачного эксперимента с доской в Kaiten, некоторые разработчики всё ещё были против формата с сообщением в Slack. И мы стали думать как трекать баги в слаке и решить проблемы, которые мешали разработчикам. В результате поисков наткнулись на приложение для Slack, Workast, которое помогает организовать работу с тудушками прямо в мессенджере. Мы подумали, что это приложение позволит управлять процессом работы с багами более гибко. У этого приложения были свои плюсы: смена статусов и назначение на разработчиков по одному нажатию кнопки, завершенные задачи скрывались и сообщение не разрасталось до огромных размеров.
Так выглядели решенные задачи в приложении Todo и просьбы вернуть «муравьишек». После окончания пробного периода приложения Workast мы решили от него отказаться. Потому что пользуясь этим приложением, мы пришли к тому же, что было во время, когда мы пользовались Jira. Оставались некоторые баги, которые кочевали в этом списке из регресса в регресс. И с каждой итерацией их становилось больше. Возможно, стоило доработать процесс работы с этим расширением, купить его и пользоваться, но мы этого не сделали.
Наш идеальный способ по работе с багами сейчас
Во-первых, у нас не стало выделенной команды тестировщиков. Все тестировщики разошлись в команды разработчиков, для усиления компетенции тестирования команд. Благодаря этому мы стали находить ошибки раньше, до того как произойдет интеграция кода команд.
Во-вторых, мы отказались от ручного регрессионного тестирования в пользу автоматического.
В-третьих, мы приняли «zero bug policy». В статье «#zerobugpolicy или как мы баги чиним» bevzuk подробно рассказывает как мы выбираем баги, которые чиним.
Сегодня процесс работы с багами выглядит следующим образом:
Итоги
Коротко говоря, мы отказались в принципе от баг-трекинговой системы. С помощью такого подхода работы с багами мы решили несколько болей:
А как в вашей компании устроен процесс работы с багами?
Что такое «компьютерная баг» и откуда взялся этот термин
В ы, наверное, слышали это раньше: в программном обеспечении есть «баг», из-за которого что-то работает неправильно. Что такое компьютерный баг и откуда появился этот термин? Мы объясним.
Баг- это непреднамеренная ошибка в компьютерном программном обеспечении
«Компьютерный баг» или «программный баг» — это термин, обозначающий непреднамеренную ошибку программирования или дефект в компьютерном программном обеспечении или оборудовании. Баги возникают из-за человеческой ошибки в конструкции оборудования или где-то в цепочке программных инструментов, используемых для создания компьютерных приложений, прошивок или операционных систем.
Программная ошибка возникает, когда программист либо делает ошибку при написании программного обеспечения, либо пишет код, который работает, но имеет непреднамеренные последствия, которые не были предвидены программистом. Устранение ошибок в программном обеспечении называется «дебаг».
В сегодняшнем мире ошибки в программном обеспечении — серьезное дело. Почти 20 лет назад Национальный институт стандартов и технологий подсчитал, что ошибки в программном обеспечении обходятся экономике США почти в 60 миллиардов долларов в год (около 0,6% ВВП в 2002 году), и с тех пор эта цифра, вероятно, увеличилась. Хотя точно количественно оценить негативные последствия ошибок сложно, легко представить, как неисправное программное обеспечение может повлиять на производительность. Это может даже подвергнуть опасности жизнь людей на транспорте или поставить под угрозу жизненно важную инфраструктуру, такую как электростанции.
Почему мы называем их багами
Термин «баг» появился еще до изобретения компьютеров, и мы точно не знаем, кто изначально придумал термин «баг» для обозначения инженерного дефекта. В письменных источниках историки проследили это до Томаса Эдисона не ранее 1870-х годов.
Эдисон использовал этот термин в своих личных заметках и переписке для обозначения сложной проблемы, которая требовала решения, или инженерного дефекта, который требовал исправления. Он даже пошутил о том, что этот термин имеет отношение к насекомым, написав в письме 1878 года:
«Вы были частично правы, я действительно обнаружил «баг» в своем аппарате, но не в самом телефоне. Он принадлежал к роду callbellum. Похоже, насекомое находит условия для своего существования во всех телефонных аппаратах».
Хотя некоторые считают, что примеры Эдисона означают, что он ввел термин «баг», но вполне возможно, что он произошел от кого-то еще раньше и что он просто популяризировал этот термин среди своих друзей и соратников-инженеров. Оксфордский словарь английского языка цитирует пример 1889 года, связанный с Эдисоном, который описывает ошибку как метафору насекомого, заползающего в элемент оборудования и вызывающего его неисправность, предполагая, что настоящая ошибка, делающая именно это, могло первоначально послужить источником этого термина, похожего на термин «ложка дегтя».
Отбросив на мгновение слово «баг», первым известным человеком в истории, который осознал, что программное обеспечение может работать неправильно из-за ошибок в программировании, была Ада Лавлейс. Она писала об этой проблеме еще в 1843 году в своем комментарии к аналитической машине Чарльза Бэббиджа.
«На это можно ответить, что процесс анализа в равной степени должен быть выполнен для того, чтобы снабдить аналитическую машину необходимыми оперативными данными; и в этом также может заключаться возможный источник ошибки. При условии, что реальный механизм безошибочен в своих процессах, карты могут отдавать ему неправильные приказы».
В этой цитате Лавлейс говорит о том, что настоящий вычислительный механизм не содержит ошибок в том, как он обрабатывает данные, но оговаривает, что данные, передаваемые ему людьми (как в то время запрограммированы на карточках), могут дать машине неправильные инструкции и таким образом дают неправильные результаты.
Бабочка Грейс Хоппер
На протяжении десятилетий книги, журналы и веб-сайты ошибочно сообщали, что термин «баг» был придуман легендарным компьютерным ученым Грейс Хоппер, когда моль влетела в реле компьютера Harvard Mark II и вызвала его неисправность. Как гласит история, она затем записала мотылька в журнал и сделала историческую заметку: «Первый реальный случай обнаружения бага».
Хотя в 1947 году в Mark II действительно залетела моль, она не была источником терминов «баг» или «дебаг», которые предшествовали инциденту. Кроме того, не совсем ясно, действительно ли моль привела к неисправности компьютера, или это была просто забавная находка, пока они исправляли другие дефекты. Хоппер сделала эту историю известной, рассказав ее в широко цитируемом интервью от ноября 1968 года.
Хоппер нашла эту историю забавной, потому что после частых поисков ошибок в компьютере (например, аппаратных и программных дефектов) ее команда наконец нашла настоящего насекомого (bug) внутри компьютера. Отсюда надпись: «Первый реальный случай обнаружения жука».
Интересно отметить, что Хоппер описывает мотылька Mark IV как «забитого до смерти», вероятно, из-за повреждений, вызванных движением электромеханических реле компьютера, что позволяет предположить, что компьютер продолжал функционировать, пока моль была там.
Историки не знают, был ли это дневник Хоппер или кто на самом деле написал запись, но сегодня журнал Harvard Mark II находится в Национальном музее американской истории в Смитсоновском институте в Вашингтоне, округ Колумбия.
Хотя бабочка Mark II (назовем его «Марк») не была первой компьютерной ошибкой, она, тем не менее, остается физическим и культурным символом очень реальной и сложной проблемы, с которой борются все программисты.
Обзор популярных систем bug-трэкинга
Содержание статьи
Рано или поздно в растущих компаниях бесплатная система управления проектами (читай: Redmine) перестает справляться с потоком приходящих задач, а ее минусы перевешивают все существующие плюсы. И именно тогда нужно сделать правильный выбор и заплатить за ту систему, которая будет соответствовать всем необходимым требованиям.
Что такое Agile и Scrum?
Agile-методы — это методы разработки программного обеспечения, ориентированные на разработку по итерациям (планирование обновлений и контроль их выполнения).
Как гласит Википедия, основных идей гибкой методологии разработки четыре:
Суть методологии заключается в том, что разработчики от итерации к итерации выполняют требования заказчика, постоянно улучшая свой продукт. Есть несколько популярных методов работы по Agile. Одним из них является Scrum.
Scrum — это методология управления проектами, позволяющая планировать изменения, которые будут выполнены, и контролировать их выполнение.
Для контроля выполнения задач в Scrum используется доска (рис. 2), по которой можно отслеживать процесс выполнения задач. Доска может иметь много состояний, у каждой команды они называются по-своему, но основные из них три:
Также на доске есть диаграмма, по которой можно отслеживать ход выполнения задач во время итерации и корректировать список задач.
Зачем что-то менять?
Конечно, когда количество задач в системе около двух тысяч и все пользователи привыкли к ней, никто не хочет ничего менять. Для того чтобы решиться на переход, нужно быть уверенным, что текущая система не справляется, и четко знать, что нужно найти.
Что не устраивало в Redmine?
Безусловно, Redmine заслуживает внимания и имеет большое количество плюсов, и при этом еще и бесплатный. Можно как душе угодно настраивать права, статусы, трекеры и любые другие поля, достаточно удобно делать выборки, создавать задачи по почте и так далее. Очень удобна сквозная нумерация задач, хотя тут есть и плюсы, и минусы. Но приспособить его к Scrum не представляется возможным (кроме плагинов, которые являются платными и тормозят систему): доски нет, отслеживать время крайне неудобно, чтобы расположить задачи в произвольном порядке, нужно вводить дополнительные поля и сортировать по ним, нет нормальной интеграции c Git и SVN и так далее.
Что хочется увидеть в новой системе?
Перед тем как изучать системы, нужно четко определить критерии, по которым системы будут оценены:
Кандидаты
После изучения рынка и чтения большого количества статей и отзывов было отобрано пять вариантов для сравнения: популярная и раскрученная JIRA Agile, Trello, Targetprocess, Assembla и YouTrack от питерской компании JetBrains. Соответствие всем критериям оценено по 10-балльной шкале.
Assembla
Соответствие критериям
Язык: теоретически русский
Интеграция с Git: Есть и не требует дополнительных программ
Доска: 7 (из 10), не очень понятная, на 2/3 на английском
Настраиваемые поля: 8 (из 10) есть
Фильтрация: 9 (из 10)
Создание задач по email: есть
Права доступа: теоретически нормально настраиваемые
Локальная установка: нет
Цена: 30 пользователей — 49 долларов в месяц, 50 пользователей — 99 долларов в месяц
Впечатления
Плюсов у системы достаточно много. У них очень хорошая служба поддержки: в 19:30 по Москве задал вопрос по возможностям программы и ответ получил в течение пяти минут. Очень качественная статистика: можно прослеживать любые действия разработчика и видеть, что и когда он делал. Все изменения статусов, открытие/закрытие задач и коммиты отображаются в статистике. Можно прямо в системе заполнять ежедневные отчеты для Stand Up. Хорошо реализован поиск.
Один из главных минусов программы — перевод. Он сделан некачественно, и переведено далеко не все. В программе нужно долго разбираться. Вряд ли получится понять что-то, зайдя в нее первый раз. Задачи нельзя переносить между проектами, установить баг-трекер на свой сервер нельзя, что неудобно для больших компаний.
Trello
Язык: только английский
Интеграция с Git: нет
Доска: 6 (из 10) хорошая, но не переведена
Настраиваемые поля: 6 (из 10) есть
Фильтрация: 5 (из 10)
Создание задач по email: есть
Права доступа: теоретически нормально настраиваемые
Локальная установка: нет
Цена: 5 долларов в месяц
Впечатления
Система удобна тем, что она вся построена на основе доски и все, что в ней есть, находится на одном экране: и задачи, и история изменений, и любые комментарии. Но это же и главный минус программы. Она слишком простая и не предназначена для больших команд. Задачи банально не имеют номера, не говоря уже о переводе или установке на свой сервер. Конечно, такой подход удобен для заказчиков, которые могут увидеть все задачи в одном месте, не делая сложных поисков и не разбираясь в системе, но, как только количество открытых задач приблизится к пятистам, это, даже для заказчиков, из плюса превратится в минус.
Баг-трекер недорогой и подойти может только небольшим командам, у которых мало задач. В таком случае система будет справляться со своими обязанностями и помогать разработчикам следить за выполнением задач.
YouTrack
Интеграция с Git: есть, с помощью TeamCity
Доска: 8 (из 10) хорошая
Настраиваемые поля: 8 (из 10)
Фильтрация: 9 (из 10)
Создание задач по email: есть
Права доступа: хорошо настраиваемые
Локальная установка: да
Цена: 25 пользователей — 500 долларов в год, 50 пользователей — 750 долларов в год
Впечатления
Плюсов у YouTrack значительно больше, чем минусов. Не очень удобной кажется нумерация, так как номер задачи меняется при переносе ее в другой проект, поиск и подписка на обновления вообще требуют отдельной статьи — описать их в несколько строчек невозможно. Но с этими проблемами разобраться несложно, и сделать это должен только администратор баг-трекера, у пользователей этих проблем при правильной настройке не возникнет. Доска, как и диаграмма, очень удобные, статусы и приоритеты можно выделять так, чтобы сразу было видно то, что нужно ярко выделить, все удобно настраивается. Что также очень полезно — есть скрипт для импорта задач из большинства баг-трекеров, что сильно облегчает работу менеджера при переходе (хоть импорт и имеет свои минусы). Также минусом является отсутствие техподдержки. Если программа стоит 750 долларов, то можно как-то выделить человека, который будет отвечать на вопросы, а из помощи существует только англоязычный форум и собственно YouTrack, в котором можно создавать задачи по системе и писать о багах.
JIRA Agile
Интеграция с Git: есть
Доска: 7 (из 10) хорошая
Настраиваемые поля: 8 (из 10)
Фильтрация: 8 (из 10)
Создание задач по email: есть
Права доступа: хорошо настраиваемые
Локальная установка: да
Цена: 25 пользователей — 600 долларов в год, 50 пользователей — 1100 долларов
Впечатления
Для тестирования была выбрана не обычная версия JIRA, а JIRA Agile, имеющая доску и диаграмму для Scrum. Эта версия программы стоит дороже обычной. Баг-трекер не переведен на русский язык.
В системе очень много возможностей для настройки. Может быть, даже слишком много. По каждому проекту можно посмотреть подробную статистику, доска хорошая, но кажется менее удобной, чем в YouTrack. Что действительно удобно — сами задачи и список задач находятся в одном окне, то есть для переключения между задачами достаточно одного клика. В Assembla и YouTrack это реализовано хуже.
Можно сделать вывод: система сделана программистами для программистов, что имеет свои плюсы и минусы. К примеру, заказчик будет разбираться с системой долго, и вопросов возникнет очень много.
Targetprocess
Интеграция с Git: нет
Доска: 8 (из 10) хорошая
Настраиваемые поля: 6 (из 10)
Фильтрация: 4 (из 10)
Создание задач по email: есть
Права доступа: настраиваемые, но плохо
Локальная установка: да
Цена: 25 долларов в месяц за каждого пользователя, при локальной установке 249 долларов за каждого пользователя
Впечатления
Система очень дорогая, и тяжело понять, почему она так дорого стоит. Доска удобная, а размещение задач сделано по такому же типу, как в Trello, только более приспособлено к большим командам и большому количеству задач. Диаграмма тоже хорошая, ничего лишнего, и все понятно. Возможности по настройке полей хуже, чем у других систем. Видно, что баг-трекер хотели сделать как можно более простым и удобным, но вместо того, чтобы сделать всю функциональность как можно более простой, похоже, решили просто ее обрезать. Конечно, удобно заходить и видеть все задачи, легко переключаться между досками проектов и менять статусы, но, как только требуется сделать какие-то более сложные действия, возникают проблемы. На русский язык Targetprocess также не переведен.
Итоги
В ходе выбора нового баг-трекера было изучено пять программ. Система Trello оказалась непригодной для больших компаний и большого количества задач, система красиво выглядит и может подойти небольшим командам, но не более того. Четвертое место занял Targetprocess: система похожа на Trello, но более приспособлена для работы с большими объемами задач. Доска сделана качественно и просто, но, когда дело доходит до более тонкой настройки, появляется много сложностей и деталей, с которыми Targetprocess не справляется. Широких возможностей по настройке система не дает, а стоимость больше, чем остальных систем, что кажется необоснованным.
Популярная система JIRA с плагином Agile заняла третье место. В ней очень много возможностей для настройки, хорошая статистика по проектам, удобно смотреть задачи и неплохо реализована доска. Но разобраться в системе достаточно сложно, заказчикам изучение этого баг-трекера будет стоить немало труда, и администратору придется постоянно отвечать на возникающие вопросы. Если баг-трекером будут пользоваться только программисты, ее можно рассматривать как реальный вариант, но в компании, где половину пользователей составят заказчики, система должна быть такой, чтобы при первом входе было хотя бы приблизительно понятно, что нажимать, чтобы найти нужные задачи или создать новую.
Из всех вариантов больше всего понравились две системы: Assembla и YouTrack. Они очень отличаются друг от друга, что сильно усложнило выбор. Assembla ведет прекрасную статистику каждого пользователя, по ней можно изучать работу программистов и оценивать ее, видно все коммиты и к каким задачам они относятся. В YouTrack такого нет. Время, потраченное разработчиками на задачи, отслеживать можно, но для этого нужно заставить их писать это время в каждой задаче. Также Assembla не требует сторонних программ для интеграции с Git. YouTrack здесь отстает несильно, для него есть бесплатное приложение TeamCity, которое предоставляют разработчики, но с ним нужно будет дополнительно разбираться. Также в Assembla очень удобно следить за Stand Up отчетами разработчиков, чего вообще нет в YouTrack.
Если сравнивать качество перевода, то здесь, без сомнения, с большим отрывом выигрывает YouTrack. Баг-трекер переведен полностью и качественно (хоть перевод появился и достаточно недавно). Assembla переведена далеко не полностью, а там, где переведена, некоторые названия вызывают улыбку. Скорее всего, это временное явление и, если бы система выбиралась через полгода, возможно, этой проблемы уже бы не было. Что точно останется в ближайшем будущем, так это сложность самой системы для понимания и изучения. Если о YouTrack можно хоть что-то рассказать в нескольких словах и пользователь приблизительно поймет, как работать с системой, то с Assembla дела обстоят сложнее. Первые полчаса совершенно непонятно, что делать и что вообще происходит. Конечно, YouTrack тоже не сразу понятен, и для новых пользователей придется писать инструкцию, но он более нагляден и прост в использовании, хоть и дает меньше возможностей по администрированию. Выбирая между этими двумя системами, нужно решить, что важнее — возможность контролировать разработчиков и вести статистику их работы или, настроив систему самостоятельно и потратив на нее немало времени, получить простой в использовании и наглядный баг-трекер (где некоторые действия придется делать самостоятельно и не будет некоторых возможностей, но от постоянных вопросов по работе системы ты будешь избавлен).
После раздумий был выбран второй вариант, и первое место в обзоре систем управления проектами занял YouTrack.