myTracker - друг программиста

Сейчас я хочу рассказать вам не о компиляторе и не об отладчике, и даже не об интегрированной среде разработки приложений. Тем не менее, эта программа, не являясь ничем из перечисленного, крайне полезна для тех, кто зарабатывает себе на хлеб тяжким трудом программиста. Что же такое myTracker? Я постараюсь ответить на этот вопрос максимально полно, но если у вас останутся вопросы, пишите.


Немного о терминологии

Сам разработчик myTracker'а называет этот программный продукт "collaboration system" - если дословно перевести, получится "система сотрудничества". Звучит тяжеловато и аляповато, и в качестве альтернативного варианта встречается "система управления проектами". Термин тоже не самый, на мой взгляд, удачный, поскольку очень уж расплывчатый. Проекты, сами знаете, бывают разные, и вовсе не обязательно они относятся к индустрии программного обеспечения. Если отталкиваться от слова tracking или tracker, получается и вовсе худо - система слежения за проектами или что-то в этом же духе.

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

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

 


myTracker вблизи: сервер и консоль администратора

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

Всё необходимое для работы myTracker'а можно скачать с официального сайта программы, который расположился во Всемирной паутине по адресу mytracker.sourceforge.net. Как видно по адресу сайта, который расположился на известном портале SourceForge.net, эта программа имеет открытый исходный код. Распространяется она по лицензии GNU GPL.

Для установки программы на одном единственном компьютере не нужно дополнительно скачивать дистрибутив Firebird, но если предполагается сетевое использование myTracker'а, то дистрибутив СУБД окажется нужным. Можно пользоваться myTracker'ом не только внутри локальной сети, но и через Интернет: для этого серверная часть должна взаимодействовать с web-сервером через SOAP. Естественно, сама программа web-сервер не установит и не настроит, так что этим придётся заниматься администратору.

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

Впрочем, для многих проектов база данных, поставляемая вместе с программой, практически не нуждается в дополнительной корректировке. В ней содержатся описания различных событий, для которых можно создать обработчики на Delphi-подобном скриптовом языке; описания форм, которые будет заполнять разработчик в ходе работы с программой; графики, которые будут строиться для наглядности тем, кто руководит проектом. Графики по умолчанию, кстати, тоже весьма неплохи: один показывает, какое количество заданий имеет каждый из ответственных за них разработчиков, второй называется "Effort Graph" и, по всей видимости, отражает усилия, прикладываемые программистами для как можно скорейшего завершения проекта. Есть в базе и разные типы того, что там названо ёмким словом "issue", то есть, фактически, параметров задач: например, приоритета, стоимости, "дедлайна". Содержатся внутри базы данных также и шаблоны отчётов, запросы к ней же самой, таблицы стилей отображения параметров в клиенте, уведомления пользователей и, само собой, информация об этих самых пользователях.

Так что, как видите, настроить с помощью консоли администратора можно если не всё, то практически всё, что только душа или начальник пожелают. Однако у пользователя тоже есть своя консоль, и к разговору о ней мы с вами прямо сейчас и перейдём.


myTracker вблизи: клиент и консоль пользователя

Клиентская часть myTracker'а имеет тоже весьма удачный интерфейс, который, впрочем, во многом определяется конфигурацией самой базы данных: ведь формы, с которыми работает конечный пользователь, сиречь разработчик, хранятся именно в базе. Однако, если посмотреть на главное окно программы, то впечатление всё равно складывается хорошее: все задачи в рамках проекта скомпонованы по категориям, к каждой из которых можно очень быстро получить доступ. Среди категорий - баги, улучшения, новые возможности, требования, проданные релизы, поддержка, тесты. Можно добавить и свою категорию, если перечисленных не хватит. Формируется категория путём задания её названия и создания SQL-запроса к базе данных, который будет показывать относящиеся к ней элементы.

По результатам усилий разработчика можно создать отчёты. Стандартный отчёт предусмотрен один, он называется "Effort Report". Он показывает, сколько и чего реализовал разработчик на момент создания отчёта, однако, конечно, динамику он не показывает. Но всегда можно добавить собственные отчёты - об этом я, кажется, уже говорил.

Очень полезная опция просмотра элементов в категориях - фильтры. Поскольку и багов, и новых возможностей, и проданных копий программы может быть очень много, то без фильтров зачастую обойтись бывает непросто. Однако главное не то, что фильтры присутствуют, а то, как реализовано их построение. На мой взгляд, генератор фильтров из myTracker'а мог бы служить эталоном для любой программы, работающей с базами данных. Думаю, тем, кто проектирует или разрабатывает приложения, где есть фильтры среди запросов к БД, стоит скачать myTracker хотя бы специально для того, чтобы посмотреть, как элегантно это в нём реализовано. Фильтры, кстати, можно сохранять в файлы и потом снова открывать, что также может быть очень удобно при определённых обстоятельствах.

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


Другие возможности

Есть ещё некоторые возможности у этой всесторонне замечательной программы, о которых я пока ещё не упомянул. Самая интересная из них (и, одновременно, самая полезная) - отправка уведомлений разработчикам по электронной почте. Настраивается эта опция в консоли администратора. Письма можно отправлять как при помощи какого-либо установленного на компьютере почтового клиента, взаимодействующего с myTracker'ом через интерфейс MAPI (в качестве примера такого клиента могут выступать Thunderbird, Eudora, Outlook Express...), так и напрямую через SMTP-сервер. Для работы с почтой программа умеет использовать прокси-сервер.

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


Вывод: myTracker - это хорошо!

В общем, посмотрел я эту программу, покрутил, повертел, можно сказать, раздел на ваших глазах, и пришёл к выводу, что она мне нравится. Причин тому много. Первая из них состоит в потрясающей гибкости myTracker'а: можно настроить если не всё подряд, то очень-очень многое, начиная от задач, которые хранятся в базе данных, заканчивая тем, какие формы используются для ввода параметров этих задач. Такая гибкость, с одной стороны, хорошо, но она имеет побочный эффект: кривыми руками испортить можно тоже практически всё. Однако для множества проектов - и я уже об этом говорил - вполне подойдут "заводские" настройки базы данных. Вторая причина, по которой мне понравился myTracker, это простота. Минимум абстракции, максимум конкретики, что зачастую и нужно разработчикам. Ведь это не основной инструмент разработчика, а дополнительный, значит, он должен отвлекать на себя меньше внимания. И myTracker соответствует этому требованию. Ну и, в-третьих, чем подкупает эта программа, - лицензией GPL, суть бесплатностью и открытыми исходниками. Если что-то чуточку не так работает, можно поправить. Ещё к программе прилагается хорошая документация, но можно отлично разобраться без неё. Плюсом можно назвать также очень неплохую масштабируемость: одна и та же версия myTracker'а работает и на локальном компьютере, и по локальной сети, и через Интернет. Как говорит сам разработчик по этому поводу, "myTracker растёт вместе с вашим проектом".

Думаю, myTracker - хороший выбор, особенно для тех, кто ещё не пользуется подобными программами.

Вадим СТАНКЕВИЧ,
dreamdrusch@tut.by

Версия для печатиВерсия для печати

Номер: 

50 за 2007 год

Рубрика: 

Software
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!
 

Комментарии

Аватар пользователя Mi
Какой-то монстро-велосипед от испорченных Дельфёй программеров.

Посмотрите лучше в сторону trac ( http://trac.edgewall.org/ ).

Аватар пользователя Енкохнета
угу... испорченных дельфёй... ещё один корифей, который знает лучше всех, что кому надо. вам в парламент, батенька!
Аватар пользователя Savely
Итак, это некое CVS-средство. Чем оно отличается от общеупотребительных?
Аватар пользователя Вадим Станкевич
Ну, я бы не сказал, что myTracker - это CVS-средство. Всё-таки CVS и tracking system - вещи немного разные.