Логотип StingRay

Социальные сети
FacebookInstagramRSSTwitterYouTubeВ контактеОдноклассники
FacebookInstagramRSSTwitterYouTubeВ контактеОдноклассники
Силуэт человека

Сравнение систем управления изменениями: ClearQuest, VSTS, Redmine и BugTracker.NET

Сфера разработки ПО сегодня немыслима без использования систем управления изменениями (change management systems) – систем, с помощью которых осуществляется регистрация всех изменений в разрабатываемом или сопровождаемом ПО, их планирование и отслеживание. Здесь под термином «изменения» подразумеваются различные изменения в дизайне, архитектуре, программном коде, пользовательской функциональности, возможностей интеграции и т. п., в частности:

  • дефекты (defects), или ошибки (bugs) – обнаруженные несоответствия ПО предъявляемым к нему требованиям, которые нужно исправить;
  • улучшения (enhancements), или новшества (features) – предлагаемые новшества, расширяющие функциональность ПО, повышающие его качество и/или удобство использования (usability);
  • задачи (tasks) – различные задачи в рамках проекта разработки или сопровождения ПО, например, настроить резервное копирование исходного кода.

Я не планирую в рамках данной статьи заниматься обсуждением необходимости использования систем такого класса в практике профессиональной разработки ПО (впрочем, они полезны и в других отраслях народного хозяйства) – считаю, что это очевидно, – но если у вас есть желание высказаться, прошу оставлять свои комментарии. А я пока расскажу Вам о четырёх таких системах…

Сравнение систем управления изменениями: ClearQuest, VSTS, Redmine и BugTracker.NET

Итак, речь пойдёт о сравнении следующих систем управления изменениями (перечислены в порядке убывания «тяжести»):

  • Rational ClearQuest, входящий в состав мегапакета Rational Suite и являющийся «родным» инструментом для реализации методологии Rational Unified Process (RUP), – мы его изучали и в рамках учебных дисциплин в вузе, и для ведения проектов для американских заказчиков.
  • Microsoft Visual Studio Team System (VSTS) 2008 Team Suite, также известный по названию его части, Team System Foundation Server (TFS) – он стал доступен нам как компании-разработчику, являющейся золотым партнёром Microsoft;
  • Redmine – одна из бесплатных альтернатив, больше относящаяся к системам более широкой функциональности – к системам управления проектами.
  • BugTracker.NET – ещё одна бесплатная альтернатива, существенно более простая, но при этом вполне функциональная для небольших проектов.

Я планирую провести сравнение этих систем с учётом нашей практики их использования по следующих критериям:

  • цена;
  • язык интерфейса;
  • наличие веб-интерфейса;
  • возможность настройки жизненного цикла;
  • поддерживаемые механизмы аутентификации;
  • интеграция с электронной почтой;
  • возможность создания отчётов;
  • интеграция с системой управления исходным кодом;
  • пользовательские поля;
  • используемая база данных (БД).

А вот и сама таблица сравнения:

Система Цена Язык Веб-интерфейс Жизненный цикл Аутентификация Электронная почта Отчёты Интеграция с исходниками Пользовательские поля БД
ClearQuest $1810 En Да Настраиваем Своя Отлично CSV, Excel Свой ClearCase Да DB2, Oracle, SQL Server, Sybase
VSTS $13790 En Да, TeamPlain Настраиваем WAD Удовлетворительно, отлично совместно с TeamAlerts Excel, HTML, Project, Reporting Services Своя Source Control (с Subversion возможно) Да SQL Server
Redmine $0 En, Ru, и другие Да Настраиваем Своя/WAD Удовлетворительно Atom, CSV, HTML, PDF Bazaar, CVS, Darcs, Git, Mercurial, Subversion Да, без операций над ними MySQL, PostgreSQL, SQLite
BugTracker.NET $0 En Да Полный граф WAD/своя Хорошо Excel, HTML Subversion Да, 3 выпадающих списка SQL Server

Некоторые комментарии по значениям в ячейках данной сравнительной таблицы:

  • Redmine и BugTracker.NET стоят $0 потому, что они относятся к категории ПО с открытым исходным кодом (open source software), что является как их преимуществом (минимизация TCO, развитие заинтересованным сообществом и своими силами), так и их недостатком (заинтересованное сообщество не всегда исправит найденные ошибки, а если нет своих сил или квалификации…).
  • Redmine является единственной системой из четырёх сравниваемых, которая обладает многоязычным интерфейсом. И хотя можно говорить о том, что, мол, зачем разработчикам ПО русскоязычный интерфейс такой системы (тем более что у Redmine он чуть-чуть не допереведён), если всё остальное у них по-английски, на самом деле это важно, так как часто авторами новых задач, а иногда и авторами дефектов являются «простые смертные» (клиенты, заказчики, руководители).
  • Redmine и BugTracker.NET изначально были веб-приложениями, что для систем такого класса в наше время не просто удобно, но и необходимо. ClearQuest чаще всего использовался как настольное приложение, но также изначально имел веб-интерфейс, написанный на Java (к сожалению, это приводит к невозможности сохранять содержимое в виде HTML). VSTS также чаще всего использовался как настольное приложение (Team Explorer в Visual Studio), но с появлением стороннего веб-интерфейса TeamPlain (впоследствии купленного Microsoft и названного VSTS Web Access) популярность перешла к нему.
  • Возможность настройки жизненного цикла (когда матрицей переходов задаются все возможные переходы из одного состояния в другое для всех ролей) позволяет добиться большей управляемости и лучшего контроля над правами доступа, но в небольших «демократических» (самоорганизующихся) командах вполне хватает и возможности переводить артефакты из одного состояния в любое другое (если вообще есть права на запись), как это сделано в BugTracker.NET.
  • Пусть меня «закидают шапками» все фанаты Linux-образных и других операционных систем не-Microsoft, но Windows-аутентификация (Windows Active Directory, WAD) – это большое благо при де-факто преобладающем числе Windows-клиентов и доменов. У того же Redmine поддержка WAD-аутентификации есть (заявлена), но добиться её работоспособности почему-то пока не удалось… :-( Конечно, в идеале это должна быть более общая LDAP-аутентификация, но уж точно что-то лучше своей собственное базы пользователей («опять придётся запоминать ещё одно имя и пароль…»).
  • Уведомления по электронной почте существенно уменьшают время реакции всех участников команды и повышают эффективность каждого в отдельности и всей команды в целом. Лучше всего с ними дела обстоят у ClearQuest – в нём настраивается как подробнейшая схема уведомлений, так и шаблоны самих писем. У BugTracker.NET с этим хорошо, потому как есть возможность подписаться практически на все желанные изменения, а фиксированных формат письма хоть избыточен, но содержит всё, что только может прийти в голову. Удовлетворительно – у VSTS и Redmine. У последнего – вообще какая-то загадочная схема уведомлений, с которой пока толком не удалось разобраться. У VSTS скудный штатный механизм подписки (лишь чуть улучшенный в TeamPlain) и фиксированный и скудный формат писем, но всё становится просто отличным, если совместно с VSTS использовать наше собственное веб-приложение TeamAlerts.
  • Хотя интеграция с системой управления исходным кодом является сомнительным преимуществом для общего случая (в частности, когда система управления изменениями «смотрит наружу» и используется клиентами и заказчиками), для разработчиков она может быть вполне удобной (увязывание описания изменений в системе с версиями исходного кода). Наверное, самой распространённой системой управления исходным кодом является Subversion (SVN) – именно поэтому его поддержка по умолчанию есть в Redmine и BugTracker.NET; впрочем, во время использования VSTS в одном из наших проектов нам удалось интегрироваться и с ним. А вот ClearQuest навязчиво предлагает использовать свою же (от Rational) систему ClearCase.
  • Возможность добавлять в артефакты свои собственные (пользовательские) поля есть у всех рассматриваемых систем (на практике мы их не использовали только в BugTracker.NET). Из известных ограничений: в Redmine с пользовательскими полями нельзя производить арифметические операции (не дописывая никаких модулей), а в BugTracker.NET вообще могут быть всего 3 пользовательских поля, да и те в виде выпадающих списков с предустановленными значениями.
  • Используемая БД частично влияет на инфраструктурное удобство (если какой-то сервер БД в вашей сети уже используется), а частично – на общую стоимость (TCO) системы управления изменениями (так как коммерческие серверы БД могут стоить существенно больше самой системы, особенно если она бесплатная). Лидер по числу охваченных серверов БД – ClearQuest, из перечисленного в таблице на практике мы использовали SQL Server, который, кстати, является лидером по популярности среди четырёх систем управления изменениями. При этом VSTS «намертво завязан» на «тяжёлый» SQL Server, а вот BugTracker.NET, кажется, может работать и с бесплатным SQL Server Express. Лидер по бесплатности – Redmine.

Всё! А вы думали, я сейчас тут вам глобальный вывод сделаю? :-) Нет, вывод весьма прозаический: всё определяется контекстом, то есть вашими конкретными задачами, участниками команды и, конечно же, бюджетом!.. И хотя про бюджет я написал самым последним, на самом деле чаще всего именно он и определяет выбор той или иной системы (не только системы управления изменениями, кстати).

Добавьте свой комментарий, почитайте уже добавленные комментарии или войдите, чтобы подписаться/отписаться.
OpenId
Предпросмотр Улыбка Подмигивание Дразнит Оскал Смех Огорчение Сильное огорчение Шок Сумасшествие Равнодушие Молчание Крутизна Злость Бешенство Смущение Сожаление Влюблённость Ангел Демон Вопрос Восклицание Жирный Курсив Подчёркивание Зачёркивание Размер шрифта Гиперссылка Цитата
Загрузка…