- - ведение нескольких проектов;
- - система отслеживания ошибок;
- - оповещение об изменениях посредством электронной почты и RSS-каналов;
- - настраиваемые статусы задач;
- - настраиваемые произвольные поля для задач, временных затрат, проектов и пользователей;
- - учет временных затрат (часов);
- - диаграммы Ганта и календарь;
- - Wiki для каждого проекта;
- - ведение новостей проекта, управление файлами и документами;
- - форумы для каждого проекта;
- - многоязыковой интерфейс, в том числе русский;
- - легкая интеграция с репозиториями (SVN, CVS, Git, Mercurial, Bazaar и Darcs);
- - система разделения доступа, основанная на ролях;
- - поддержка множественной аутентификации LDAP;
- - возможность самостоятельной регистрации новых пользователей;
- - расширение функциональности системы посредством установки дополнительных плагинов;
- - поддержка СУБД: MySQL, PostgreSQL, SQLite, MS SQL Server (с версии 2.3).
Рассмотрим систему Redmine более подробно. Ниже приведено несколько скриншотов, на первом из них - список задач по одному из проектов. Вкладка "Задачи" позволяет увидеть как текущие задачи проекта (по умолчанию), так и ранее закрытые задачи - возможна настройка пользовательских запросов (фильтров). Пользовательские запросы могут быть сохранены для последующего использования всеми пользователями системы (при установке флажка "Общедоступный" запрос) или для использования пользователем, создавшим запрос. После создания запроса можно настроить список задач в один клик, воспользовавшись ссылкой с названием запроса разделе "Сохраненные запросы" на боковой панели справа.
В системе реализованы механизмы слежения за задачами и подписки на задачи. По каждой задаче могут быть назначены наблюдатели, после чего при изменении статуса, параметров задачи, добавлении новых комментариев, файлов к задаче пользователи-наблюдатели будут получать соответствующие уведомления по e-mail.
Все пользователи системы могут создавать новые задачи. Для того, чтобы добавить новую задачу в проект, необходимо перейти на вкладку "Новая задача", выбрать трекер задачи и заполнить обязательные (*) и дополнительные (в том числе и настраиваемые пользовательские) поля задачи. В поле "Тема" формулируется кратко, но информативно смысл задачи (при переходе к другому полю по нажатию клавиши "Tab" в случае установки дополнительного плагина может осуществляться поиск по вхождению темы среди ранее созданных задач). В поле "Описание" излагается подробное содержание задачи. Для повышения читабельности текста можно воспользоваться возможностями встроенного web-редактора. К задаче могут быть прикреплены файлы, максимальный размер которых регулируется администратором системы.
К задаче можно подключить наблюдателей: по созданию задачи, при внесении зменений в задачу, изменения статуса задачи наблюдатели будут получать соответствующие уведомления на свой адрес электронной почты. Пользователи так же могут добавлять себя в качестве наблюдателя к доступной задаче, для чего в карточке задачи следует щелкнуть по ссылке "Следить".
Задачи в системе могут быть взаимосвязаны: например, одна из них является подзадачей для другой, предшествует ей или эти задачи просто связаны между собой. В системе Redmine предусмотрена отдельная сущность, которая называется "Связанные задачи". Связанные задачи могут иметь следующие виды связей:
- - "Дублирует" - связывает задачи таким образом, что закрытие одной влечет закрытие другой задачи;
- - "Связана с" - просто ссылка на другую задачу. Такая связь используется, чтобы продемонстрировать, что эти задачи объединены одной целью или другими общими атрибутами;
- - "Блокирует" - показывает, что данная задача должна быть завершена перед началом работ над другой задачей. В обеих задачах можно независимо менять процент выполнения, даты, статус, но с одним исключением: заблокированную задачу нельзя закрыть, пока не закрыта блокирующая задача. Однако, в заблокированной задаче можно выставить статус "Выполнена", готовность 100%, даже если готовность блокирующей задачи оставляет желать лучшего;
- - "Предшествует" - задает порядок выполнения задач так, что данная задача должна быть закончена за N дней до начала связанной. В карточке связанной задачи не только появится запись о привязке, но и автоматически изменятся сроки начала и окончания задачи. Срок начала задачи станет равным дате выполнения привязанной задачи, увеличенной на количество дней, указанной в связке;
- - "Следующая" - задает порядок выполнения задач таким образом, что данная задача может быть выполнена только после выполнения связанной. Эта связь обратна предыдущей. Сроки автоматически изменятся не в привязываемой, а в редактируемой задаче. Поэтому связь "Следующая" нужно использовать, только убедившись в том, что задачи действительно должны идти одна за другой с заданным промежутком времени между ними.
Нижеследующие рисунки посвящены вопросам настройки и администрирования системы Redmine. Трекеры играют важную роль в отслеживании задач. Они участвуют в определении условий перехода задач из одного состояния в другое, доступность полей. Трекер - это логическое объединение задач в одну группу в рамках проекта, например, устранение ошибки, разработка нового функционала и т.д. Трекер может быть включен в один, несколько или все проекты.
Пользователи системы Redmine должны быть включены в одну из ролевых групп, количество ролей не ограничивается. В системе предусмотрены две предопределенные роли: роль "Аноним" - для незарегистрированных в системе пользователей, роль "Не участник" - для зарегистрированных, но не включенных ни в один проект пользователей. Анонимы не могут создавать задачи.
Каждой роли устанавливаются права доступа на возможные действия с задачами, проектами, документами, файлами, wiki, форумами и т.д. Очевидно, что роли "Руководитель проекта" следует дать больше полномочий, роли "Исполнитель" - поменьше, роли "Не участник" - еще меньше, роли "Аноним" разрешить минимальные возможности в публичных проектах, а в отдельных проектах и вовсе всё запретить. Участники системной роли "Администратор" имеют неограниченные права в рамках всей системы.
В зависимости от выбранного трекера каждая задача может проходить через определенные этапы и иметь разные статусы. Так, в примере ниже для созданных трекеров "Устранение ошибки", "Разовая задача, adHoc", "Новая разработка" максимально полный путь через статусы задач следующий: 1. Новая –> 2. Распределена –> 3. Анализ –> 4. В работе –> 5. Выполнена –> 6. Приемка Заказчиком –> 7. Закрыта Были созданы роли "Руководитель проекта", "Исполнитель", "Заказчик, участник". Поскольку руководитель проекта является администратором своего проекта, то в рамках своего проекта может перемещать задачу из - в разные статусы. Исполнитель задачи или Заказчик/участник могут переводить задачу только из - в определенные статусы. На любом этапе задача может быть аннулирована (переведена в статус «Отклонена») с указанием причины. При внесении изменений в задачу, изменения статуса задачи, добавления комментариев всем задействованным в задаче пользователям будет приходить автоматическое уведомление по электронной почте.
Для каждой пары "Роль - Трекер" имеется возможность настроить видимость, обязательность заполнения полей (в том числе и настраиваемых полей) в карточке задачи. Системные поля "Проект", "Трекер", "Тема", "Приоритет", "Частная" (задача) обязательны для заполнения всегда. Настроив последовательность действий для одной из пар "Роль - Трекер", настройки последовательности можно скопировать для другой пары (ссылка "Копировать").
В системе Redmine для задач, пользователей и других сущностей можно создать произвольное количество настраиваемых (пользовательских) полей. Пользовательские поля будут отображаться в карточке задачи в двух колонках после области предопределенных системных полей. Сортировка определяет порядок следования пользовательских полей в карточке задачи. Пользовательских поля поддерживают следующие типы данных: строка, длинный текст, целое число, вещественное число, дата, список для выбора единственного значения, список для выбора множественных значений, ссылка, пользователь.
Каждое настраиваемое поле можно включить во все или только указанные проекты, задействовать в выбранных трекерах. В определении настраиваемого поля можно сразу установить глобальные настройки обязательности заполнения и видимости для ролей, а также участие поля в пользовательских запросах (фильтрах) и поисковых запросах.
Программу для управления серверами и службами Redmine можно найти как Пуск --> группа Bitnami Redmine Stack --> Redmine manager tool. С помощью этого административного приложения можно управлять службами Redmine, web-сервером Apache, сервером баз данных MySQL.
Отчетность
В системе Redmine предусмотрена диаграмма Ганта, а с помощью дополнительных плагинов возможно формировать отчеты для понимания состояния дел по проектам и задачам. Возможно, частное представление разработчиков о форматах этих отчетов устроят Вас.
И все же аналитические отчеты по проектным задачам лучше создать на основе экспортированных в csv-файл данных. Для этого в главном меню системы Redmine следует выбрать "Проекты" –> "Все проекты", перейти по ссылке "Просмотреть все задачи", к списку задач применить/отменить желаемые критерии фильтрации и щелкнуть по ссылке "Экспортировать в CSV" внизу справа под списком задач. Таким образом будет сформирована выгрузка списка задача - файл issues.csv.
Далее необходимо открыть новую книгу MS Excel, в главном меню выбрать "Данные" –> "Из текста", указать путь к файлу issues.csv, в диалоговом окне выбрать формат кодовой страницы "1251: Кириллица (Windows)", (возможно, в качестве символа-разделителя отметить - "другой", указать символ | (вертикальная черта)) и нажать кнопку «Готово». Данные будут импортированы в файл Excel с сохранением подключения к csv-файлу. На базе таблицы исходных данных необходимо создать сводные таблицы, диаграммы (выделить таблицу/столбцы, затем в главном меню выбрать "Вставка" -> "Сводная таблица"). Возможно, для обеспечения аналитических показателей в базовой таблице потребуется создать дополнительные вычисляемые столбцы. Пример отчета можно посмотреть во вложении к настоящей статье.