Переход от одного инструмента планирования разработки к другому — от XPlanner к Redmine «Мыши плакали, делали уколы, но продолжали есть кактус» , это мое мнение о пользователях XPlanner.
Преамбула
Так получилось, что изначально наша команда использовала XP и Agile-разработку в целом.Изначально был выбран XPlanner — он как раз заточен для итеративной разработки ПО.
Со временем процессы разработки изменились и стали все меньше и меньше походить на то, чем они были изначально.
И только недавно мне удалось всех перетащить на Redmine. Лично меня XPlanner всегда раздражал («раздражал» — вот точное слово) — слишком много нужно было сделать, чтобы получить желаемое.
Точнее даже не желаемое – а возможное.
Интерфейс слишком непонятный, неудобный и негуманный.
Базовые вещи требовали от меня больших усилий и приносили мало пользы.
О XPlanner
Xplanner — XPlanner is a project planning and tracking tool for eXtreme Programming (XP) teams.
Xplanner — это программное обеспечение для планирования и управления задачами для команд, работающих в стиле экстремального программирования.
Проект прекратил обновление в мае 2006 года.
XP имеет несколько принципов, некоторые из которых поддерживаются в XPlanner, а именно:
- Процесс разработки программного обеспечения состоит из коротких итераций (обычно одна-две недели), в ходе которых должен быть реализован достаточно полный блок функциональности продукта.
Если окажется, что закончить в срок не получается, нужно сокращать функционал, но не сдвигать время.
- Функциональные блоки разделены на «истории» — каждая подсистема или модуль имеет свою историю.
Истории обсуждаются на собраниях и записываются.
- Затем истории делятся на задачи, которые оцениваются до начала разработки.
Есть показатели производительности.
Несмотря на большой список возможностей XPlanner, наша команда фактически использовала только две:
- Разделение процесса на итерации, истории, задачи.
- Учет времени.
Минусы XPlanner (по моему скромному мнению)
Фактически, он превратился из инструмента планирования в инструмент учета рабочего времени.Потому что очень долго приходилось планировать каждую неделю, переносить задачи из итерации в итерацию, из истории в историю.
Но что еще хуже (с моей точки зрения), так это то, что он не мог делать базовые вещи, которые эмулировали разработчики.
Например, происходили следующие странные процессы:
- Поскольку XPlanner не поддерживает уведомления по электронной почте; каждый разработчик должен был по завершении задачи написать письмо в специальный список рассылки по форме «Задача».
завершено.
"
- Если в процессе разработки программист понимает, что не уложится в срок, он меняет смету в XPlanner и (как вы уже догадались?) — да! пишет письмо в рассылку «смета задачи изменена».
Друзья говорят, что в XPlanner есть уведомления, но про них ничего точно сказать не могу
- Каждый вечер разработчик пишет в рассылку отчет о задачах (сколько было потрачено времени и какие закрыты).
- При фиксации идентификатор задачи записывался в виде комментария.
Чтобы узнать суть задачи коммита, нужно было скопировать Id, открыть браузер и залезть в XPlanner — посмотреть.
- Кроме того, поскольку XPlanner не поддерживает статусы задач, для того, чтобы тестер знал, какие задачи еще не проверены, была создана история «Тестирование».
Разработчик, выполнив задание, помимо того письма был обязан зайти и добавить ссылку на выполненное задание в ту историю.
- Тестировщик, в свою очередь, был вынужден просмотреть их, чтобы увидеть, не появилось ли что-нибудь новое.
- Комментарии к задачам не использовались – все добавляли их прямо в текст задачи, не забывая при этом увесистое «Вася».
- У задач нет приоритетов, поэтому они назывались так: «(0) Ошибка в модулях 1», «(1) Не очень важная ошибка».
- Задачи не имеют дополнительных статусов и связей с задачами (заблокировано, дублируются).
Поэтому в названии задачи можно было встретить конструкцию «ЗАМОК».
- Нет общего пула задач и задач в разработке.
Для пула использовалась «Итерация бесконечности».
Откуда каждую неделю неудобным образом собирались задачи на итерацию.
- Нет удобных вещей: фильтров по задачам (очень важно! Нельзя посмотреть статистику всех важных ошибок по всем проектам), цветовых схем (чтобы сразу были заметны задачи 0-го приоритета).
- Нет рабочего потока.
Задача может быть создана кем угодно и закрыта кем угодно.
Отследить, проверено оно или нет, невозможно.
(А как насчет тех, у кого процесс разработки довольно строгий и есть много состояний: создано, одобрено, запущено, заблокировано, протестировано, закрыто, возвращено, отклонено?).
плюсы
- Языком разработки является Java, на котором мы разрабатываем наши продукты, что создало фундаментальную возможность модифицировать его самостоятельно, правда, пара мелочей.
Теперь о Редмине
Redmine is a flexible project management web application. Written using Ruby on Rails framework, it is cross-platform and cross-database.
Redmine — это гибкий инструмент управления разработкой программного обеспечения.
Он разработан на платформе RoR и может использовать различные базы данных (SQLite, MySQL, PostgreSQL).
На первый взгляд Redmine мне понравился тем, что он позволяет гибко настраивать практически все, начиная с интерфейса, ведь в нем уже есть много полезного, но в то же время нет ничего сверхнужного.
Краткие возможности Redmine
- Каталоги.
Каталог представляет собой список служб или пользовательских объектов с низким уровнем изменений, которые можно изменить из интерфейса.
Можно настроить следующие вещи:
- Список типов задач («Ошибка», «Рефакторинг», «Поддержка», «Новый функционал» и т.д.)
- Список статусов задач («Создано», «В работе», «Заблокировано» и т.д.)
- Возможные роли сотрудников в проектах (Менеджер, Разработчик, Тестировщик)
- Приоритеты задач.
- Категории (определяются внутри проектов).
По сути — модули или подсистемы внутри проекта для дополнительного разделения задач.
- Атрибуты Flex — вы можете добавлять поля для задачи, проекта, пользователя и отчета о времени: например, «Местоположение офиса» для пользователя или «Контакт с клиентом» для проекта.
- Рабочий процесс задач — связь между статусом — типом задачи — ролью — возможным переходом.
Определяет, кто, в каком состоянии (задачи(:), какой тип задачи в какой статус может быть переведен.
Например: Только «менеджер» и «представитель клиента» могут создавать задачи, а «представитель клиента» — только создавать.
задачи типа «ошибка» Закрывать задачи может только «тестировщик» и т.д.
- Мультипроект. В отличие от популярного Трак Redmine поддерживает несколько проектов «из коробки».
Кроме того, проекты могут быть вложенными.
Вариант использования, например, следующий: Проект «Название компании CRM» — проект по продукту и внедрению CRM-системы.
Прикреплены проекты «Внедрение CRM в «Рогах»», «Внедрение CRM в «Копытах»».
- Ролевая система прав.
Роли, помимо участия в рабочем процессе, могут иметь различные права в системе.
Его можно настроить, поставив несколько десятков флажков.
Redmine также можно использовать как внешний портал для клиентов — вам просто нужно настроить роль «Клиент».
- Настраиваемый список заданий .
Разумеется, главное окно системы для руководителя – это список задач.
Это обеспечивает:
- Настройка списка колонок по умолчанию (колонка не нужна - снимите галочку и она не будет видна).
- Сортировка по столбцам
- Фильтрация.
Фильтрация возможна по нескольким полям, например: «Ошибки 0-го приоритета, присвоенные Василию Пупкину, относящиеся к модулю «Аутентификация и права доступа» в статусе «Передано на тестирование» или «Закрыто».
Созданные фильтры можно сохранить для себя (чтобы не настраивать заново) или для всех участников проекта для быстрого доступа.
Например, «открыть задачи 0-го приоритета».
- Настройка списка колонок по умолчанию (колонка не нужна - снимите галочку и она не будет видна).
- Уведомления через RSS или электронную почту
- Каждый список (в том числе отфильтрованный) можно получить в виде CSV, PDF, RSS. Сценарий, например, такой: Тестировщик создает себе фильтр «Задачи в статусе «Отправлено на тестирование», подписывается на RSS» и все — новые задачи ему будут отправляться автоматически, никаких сложных или суррогатных вещей для вам - приобретите новые и протестируйте.
- Уведомления по электронной почте.
При изменении задач, оценок, добавлении комментариев и т. д. система рассылает спам-рассылки затронутым пользователям.
Разработчикам не придется писать «Я закрыл задачу».
Redmine напишет это за него.
- Каждый список (в том числе отфильтрованный) можно получить в виде CSV, PDF, RSS. Сценарий, например, такой: Тестировщик создает себе фильтр «Задачи в статусе «Отправлено на тестирование», подписывается на RSS» и все — новые задачи ему будут отправляться автоматически, никаких сложных или суррогатных вещей для вам - приобретите новые и протестируйте.
- Интеграция с SCM (системами управления кодом) — SVN, CVS, Git, Mercurial, Bazaar и Darcs
- Настройка хранилища для каждого проекта.
- Веб-интерфейс для просмотра хранилища.
Система создает веб-интерфейс для просмотреть репозиторий кода , история изменений как в форме коммитов , так для файлов , умеет сравнивать версии (для недвоичных файлов) и показать различия .
- Зафиксировать отслеживание.
Указав в комментарии к коммиту «id 333» (шаблон настраивается), разработчик может автоматически связать коммит с задачей.
При просмотре коммита вы можете перейти к описанию задачи, и на карточке задачи отобразится список коммитов.
- Автоматический переход в статус «закрыто» при фиксации.
Если разработчик напишет «исправлено 333» (шаблон настраивается), то коммит не только прикрепится к задаче, но и переведет задачу в необходимый статус – например, в «Отправлено на тестирование» – он не нужно заходить в Redmine.
- Настройка хранилища для каждого проекта.
- Задания.
Помимо описанных выше, в карточке задачи отображаются история обсуждения (который можно получить как RSS ), списки связанных редакций, историю изменений версий, рейтинги и другие параметры.
- CSS. Стили CSS заслуживают особого внимания.
Система поддерживает темы дизайна (также известные как скины), которые задаются с помощью CSS. Внутри CSS используется вполне разумно; Я еще не нашел объекта, дизайн которого нельзя было бы изменить с помощью CSS. Изменения в нашем скине касаются в основном списка задач (это главное окно менеджера проекта.
Сделано: Цветовая индикация статусов (Заблокировано - красный, Тестирование - зеленый, Закрыто - серый).
Цветовая и яркостная индикация приоритетов - ( 0 — самый яркий, 1 — менее яркий, после 2-го все то же самое.
) Увеличен шрифт в полях ввода описаний задач — там удобнее (:
- Система плагинов.
В Redmine есть система плагины , который вы можете написать самостоятельно.
Сейчас плагинов 10, хотя еще месяц назад их было 3 или 4.
- Неплохо поиск
- Формирование Дорожная карта .
Показывает общую статистику и имеет страницу с подробностями.
- Резюме проекта .
В сводке отображается общая обзорная статистика решения проблем в проекте.
- Персональная (персонализируемая) страница.
На личной странице отображаются назначенные задачи и некоторые другие блоки, которые хотел бы видеть сотрудник: календарь, затраченное время, документы, новости, отслеживаемые задачи.
Другие полезные вещи, которыми мы не пользуемся (пока)
— Интеграция с Mylyn. Mylyn — это плагин для Eclipse IDE, который берет задачи разработчика из трекера и отображает их непосредственно в IDE. Интеграция – громкое слово, но оно существует инструкции как сделать их друзьями вместе.— Новости — позволяют публиковать новости проекта, которые можно получить в виде RSS. Например, автоматически публиковать их на внешнем сайте компании в разделе товаров.
— Вики проекта - для ведения всего, что может быть полезно - документации, подробностей доступа и т.д. Магистральная версия вики значительно лучше последней версии 0.7.3 - есть иерархия страниц, "хлебные крошки" в навигации и т.д. Планирую перетащить вики, которая сейчас используется, с МойнМойна на Redmine - все в одном месте - лучше.
Redmine поддерживает интеграцию с контроллером домена по протоколу LDAP. — Форумы .
В рамках проектов можно создавать форумы для обсуждений (вполне стандартный функционал: обсуждения с уведомлениями по электронной почте, RSS, подписка на разделы, темы).
В транковой версии вроде бы можно отвечать на уведомления и ответы будут публиковаться на форуме - можно сделать что-то похожее на списки рассылки.
- Документация.
Есть хранилище документов - список html файлов по авторам.
Что-то вроде простого списка вики-статей.
- Файлы.
Хранение файлов, относящихся к версии продукта.
Отображается список, и количество загрузок можно использовать для хранения загруженных версий продуктов.
— Самостоятельная регистрация пользователей.
Redmine используется для внутреннего использования, поэтому самостоятельная регистрация не имеет смысла.
— Активность .
Лента, в которой публикуются изменения задач, коммиты и т. д. — Журнал изменений (Журнал изменений).
Некоторые типы проблем (например, «Функции» и «Ошибки») можно пометить как «зарегистрированные в журнале изменений», и журнал изменений будет создан автоматически.
— Автоматическое создание календаря и Диаграммы Ганта .
— Аватары пользователей из сервиса Граватар
Чего не хватает
Есть мелочи, которых не хватает и которые понятно, как сделать, но у нас нет Ruby-программистов.Даже с учетом того, что эти пожелания — это около 20 строк кода :) — Есть желание, чтобы параметр «готовность» рассчитывался автоматически исходя из расчетного и затраченного времени — вручную заполнять его очень лень.
— Хотелось бы более удобную форму комментария к задаче — просто отдельную ссылку, а не через «обновить задачу» Более сложные вещи - я также хочу: - Тонкая настройка уведомлений - теперь система спамит совсем немного - уведомляет обо всех изменениях в заданиях (комментариях, оценках и т.д.).
Хотелось бы увидеть настройку категорий спама.
— Интеграции форумов с почтой достаточно, чтобы можно было отказаться от рассылок.
- Профили пользователей внутри системы - чтобы там отображались отчеты о потраченном времени не внутри проекта, а по всем, назначенным задачам (опять же по всем проектам) и так далее.
Минусы Редмайна
Довольно небольшое (по сравнению с тем же Trac) сообщество.Соответственно, небольшое количество плагинов ( взломать в терминологии Trac).
Один (в основном) разработчик — из-за этого скорость разработки относительно невысокая (лично для нас это не очень важно, ведь наши потребности покрыты процентов на 90).
Первый (и все последующие дозы) бесплатны.
Специально для Хабра.
Теги: #Redmine #xplanner #Управление проектами #Управление разработкой #отслеживание проблем #гибкая разработка #обзоры #сравнение #Управление проектами
-
Теория Жидкостей
19 Oct, 24 -
Изменения В Составе Участников
19 Oct, 24 -
Ретроспектива
19 Oct, 24 -
Google Открыл Android Market
19 Oct, 24 -
Нужны Ли Javascript Классы?
19 Oct, 24 -
Шпионские Штучки
19 Oct, 24