Redmine управление проектами что это
Система управления проектами Redmine + Mercurial на Ubuntu 16.04
По мере увеличения числа вовлечённых в проект людей возникает необходимость как-то более эффективно организовывать и управлять их деятельностью. На начальном этапе для этой цели использовались Google-таблицы, но их возможности ограничены, и появилось желание перейти на новый уровень. Изучение доступных систем управления проектами показало, что из систем с открытым кодом Redmine наиболее продвинутая и по некоторым показателям обгоняет даже проприетарные системы.
Redmine, действительно, обладает большими возможностями: управление несколькими проектами, отслеживание ошибок, интеграция с репозиториями, перекрёстные ссылки на исправленные баги в коммитах и на коммиты в баг-репортах, назначение разных ролей пользователей в каждом проекте и т.д. Однако процедура установки довольна сложна, а для некоторых очень полезных функций требуется небольшая доработка или использование плагинов. Надеюсь, что предлагаемое ниже руководство поможет желающим использовать Redmine в своих проектах.
Компоненты
Система управления проектами Redmine
Система контроля версий Mercurial
Кросс-платформенная распределённая система управления версиями.
Также понадобится
Web-сервер и система управления базами данных. Использованы Mysql и Apache.
Установка
Также использовалась официальная инструкция по установке
Redmine Installation Guide.
Предполагаем что у нас уже есть сервер с предустановленным на нём Ubuntu Server 16.04. Дальнейшие инструкции описывают установку системы управления и вспомогательного ПО.
Итак, начнём. Сначала устанавливаем LAMP server:
Во время установки понадобится ввести пароль root-пользователя базы данных MySQL (не путать с паролем root операционной системы).
Создаём базу данных MySQL и пользователя redmine для работы с ней. Вместо [password] вставляем желаемый пароль пользователя.
Распаковываем Redmine в каталог /usr/share/redmine. Находим подкаталог config и копируем config/database.yml.example в config/database.yml. После этого редактируем файл, для того чтобы установить «production» режим базы данных:
Вводим текст и сохраняем файл (ctrl+x):
Устанавливаем необходимые пакеты:
Теперь можно установить gems, необходимые для Redmine:
Создаём случайный ключ, который Rails будет использовать для шифрования данных в cookie:
Дальше создаём структуру базы данных (выполняем в /usr/share/redmine):
Устанавливаем необходимые права доступа:
При желании можно протестировать установку Redmine с помощью веб-сервера WEBrick:
После запуска WEBrick стартовая страница Redmine должна быть доступна в браузере по адресу http://localhost:3000/
Интеграция с Apache
Добавить символьную ссылку на public каталог Redmine:
Необходимо настроить пользователя Passenger по умолчанию, для этого редактируем файл:
Нужно добавить следующую строчку и сохранить (ctrl+x):
В итоге файл должен выглядеть так:
Далее создать конфигурационный файл redmine.conf для apache:
Добавить следующий текст и сохранить (ctrl+x):
Подключить модули Passenger и Rewite:
Отключить default вебсайт и подключить redmine:
Установить права доступа на /tmp/cache Redmine:
Установка Mercurial
Необходимо установить пакеты:
Создать директорию, в которой будут храниться репозитории проектов:
Теперь мы хотим сделать репозитории доступными по http протоколу. Для этого необходимо создать cgi-скрипт:
Добавить следующий текст и сохранить:
Теперь нужно создать файл hgweb.config:
Добавить следующее содержимое и сохранить:
Установить разрешения для файлов:
Теперь надо создать conf файл для Apache:
Добавить следующее содержимое и сохранить:
Ещё необходимо создать ссылки:
Включить CGI модуль и перезапустить Apache:
Чтобы клонировать репозиторий надо будет выполнить:
Если клонируемый проект не публичный (устанавливается в настройках проекта через веб-интерфейс системы Redmine), то потребуется ввести имя пользователя и пароль.
Авторизация осуществляется по проектам, т.е. доступ будет возможен только для участников проекта (менеджеры и разработчики).
При создании репозитория в веб-интерфейсе Redmine необходимо указать путь к нему, например /var/hg/projectname. Репозитории в /var/hg необходимо создать вручную для каждого проекта и инициализировать командой ( hg init ).
После создания нового репозитория надо убедиться, что у него установлены нужные права доступа:
В принципе, есть возможность автоматизировать создание репозиториев. Информация об этом есть в руководстве по ссылке HowTo Install Redmine 1.2.x with Mercurial and Subversion on Ubuntu Server 10.04
Уведомления о фиксации изменений по email
Redmine поддерживает уведомления о разных событиях (изменениях в жизни баг/фич и т.п.). Для того чтобы пользоваться этим функционалом достаточно настроить способ отправки email-сообщений. Делается это в файле /usr/share/redmine/config/configuration.yml В файле имеются шаблоны для разных конфигураций. Нужно разкомментировать и отредактировать нужный.
Обратите внимание, что каждая секция в файле configuration.yml сдвинута на два пробела. Это важно.
Базовые уведомления должны быть доступны после указания способа рассылки электронных писем. Однако для уведомлений об изменениях в репозитории необходимо использовать внешний плагин. Скачать его можно с сайта github.com/lpirl/redmine_diff_email.
Установим этот плагин. Для этого скопируем содержимое плагина в каталог /usr/share/redmine/plugins/redmine_diff_email. В соответствии с инструкцией по установке плагина изменяем файл /usr/share/redmine/app/views/repositories/_form.html.erb:
Оригинальный плагин работает с устаревшей версией redmine. Для redmine-3.3 нужно внести изменения в файл
/usr/share/redmine/plugins/redmine_diff_email/db/migrate/002_add_repositories_is_diff_email_attached.rb. Содержимое файла должно быть таким:
После этого в каталоге /usr/share/redmine выполнить команду для обновления базы данных:
Если плагин установлен правильно, то в списке плагинов Administration → Plugins появится Redmine Diff Email Plugin, а также в веб-интерфейсе Redmine SomeProject → «Settings» Tab → «Repositories» Tab → «Edit» появятся настройки уведомлений.
Кроме того, чтобы информация об изменениях в репозиториях автоматически отслеживалась Redmine, необходимо выполнить дополнительные действия. Сначала нужно включить WS для управления репозиториями и сгенерировать API key. Как это делается:
* В web-интерфейсе Redmine в меню Administration выбрать Settings
* Перейти на вкладку Repositories
* Включить ‘Enable WS for repository management’
* Кликнуть на ссылку ‘Generate a key’
* Сохранить изменения кнопкой ‘Save’
Далее создаём скрипт:
Добавляем следующий текст и сохраняем: (необходимо заменить [your API key] сгенерированным в API-ключом)
Устанавливаем права доступа для созданного файла:
Остаётся добавить в /var/hg/hgweb.config секцию [hooks], чтобы скрипт fetch_changes выполнялся после каждого коммита:
Теперь при изменениях в репозитории Redmine будет автоматически отсылать уведомления участникам проекта.
RedmineUP — платформа для продуктовых команд
Redmine сыскал славу прежде всего как гибкий инструмент. За его способность настройки под разные задачи его любят миллионы людей по всему миру. Так почему же не использовать это? Почему не доверить Redmine новые задачи?
Задачи, которые я решаю с помощью RedmineUP, характерны для многих продуктовых команд и стартапов. Управление проектами, продажами, клиентами, поддержкой, финансами, командой — все это можно делать на базе Redmine.
Что вам это даст? Те из вас, кто хорошо знакомы и уже используют Redmine для разработки, смогут увидеть преимущества от интеграции и использования дополнительных модулей. Ну а для всех остальных — это возможность попробовать Redmine в деле.
RedmineUp — SaaS платформа для продуктовых команд. Мы взяли базовый функционал Redmine, улучшили интерфейс, добавили самые популярные модули (Agile, Helpdesk, CRM, People) и развернули в облаке, обеспечив техподдержку, скорость работы и безопасность данных.
Преимущества и возможности RedmineUP:
1. Простой и удобный интерфейс
От качества интерфейса зависит ваша продуктивность и настроение. Итак, вот как большинство пользователей привыкли видеть Redmine:
А что если мы сделаем интерфейс удобнее, а именно:
В итоге эта же страница будет выглядеть так:
Теперь, после того как мы продумали и улучшили интерфейсы Redmine, добавим функционал.
2. Управление взаимоотношениями с клиентами. CRM
Информация о клиенте выходит на первое место в конкурентной борьбе. Чем больше информации вы собираете и анализируете, тем больше у вас шансов продать продукт. Обращение в поддержку, скачивание бесплатной версии, заходы на сайт, участие в вебинаре, покупки — все это шаги воронки продаж и крайне важно отслеживать все эти касания.
Что вы можете делать в Redmine с помощью модуля CRM:
Стоит отметить, что благодаря настройкам доступа пользователей, вы можете организовать настоящий личный кабинет для ваших клиентов, где могут видеть все свои обращения, скачивать продукты, оплачивать лицензии.
Для того, чтобы определить узкое место, мне пришлось построить отдельно воронку по продвижению пользователей триальной версии. Были выявлены проблемы на этапе авторизации и вовлечения клиентов. Мне нужно было понять, почему было 20 регистраций в неделю, и только одна становилась платной подпиской.
Чтобы найти узкое место на этапе пользования бесплатной версией, мне пришлось добавить точки касания с клиентом, анализировать поведение внутри триала и фиксировать обратную связь по каждому клиенту. В итоге мы добавили новые этапы взаимодействия с клиентом: онлайн презентация и обучающий тренинг и стали анализировать. Параллельно нужно было вести текущих клиентов, выявлять собирательный образ клиента и улучшать ценностное предложение.
В итоге я настроил для каждого типа клиентов свои «доски» и организовал работу как с лидами, так и текущими клиентами. С помощью фильтров я выстроил нужные мне отчеты, и по ответственным исполнителям я мог видеть кто как работает, а визуализация воронки по стадиям продаж давала мне пищу для размышлений.
Мне удалось организовать работу сразу пятерых сотрудников, выявить и ликвидировать узкое место (миграция данных из других систем), и, как следствие, повысить средний чек и доход.
3. Организация службы поддержки клиентов. Helpdesk
Если для вас общение по почте с клиентами стало приносить неудобства (потеря информации, срыв срока, нет ответственного), то пришло время организовать работу службы поддержки.
Каждое обращение от клиента имеет свой статус, автора и ответственного исполнителя. Все действия по тиккету хранятся в истории, и всегда можно отследить текущий статус обращения в отличии от почтового клиента.
Что вы можете делать в Redmine с помощью модуля Helpdesk:
Пришло обращение от клиента. По ссылке из письма-нотификации переходим на карточку клиента и видим: ну, во-первых, этот клиент пробовал триал версию, во-вторых, у него есть скачанные бесплатные версии продукта, по нему ведется сделка, и есть контактная информация.
Не покидая карточки контакта, мы отвечаем на его обращение, имея под рукой нужную информацию о нем. Это важно для выстраивания персональных и доверительных отношений.
Все мы любим внимание к своей персоне, и если вы упоминаете, а-ля: «Я вижу, что вы в прошлом году попробовали нашу триал версию облачного решения, однако вам не хватило поддержки по миграции данных из Trello», то для клиента это будет звучать примерно так: «Вы для нас очень важный клиент, и мы все как один понимаем ответственность и очень хотим помочь вам и вашему бизнесу!»
Интеграция данных из CRM и Helpdesk играет очень важную роль в организации взаимодейсвия с клиентами. А теперь посмотрим, как организуется работа команды.
4. Управление командой
Продуктовые команды состоят из людей с разной квалификацией, опытом и разными навыками. Если у вас под рукой вся информация о предыдущем опыте работы, проектах и компетенциях — вы легко сможете подобрать нужного человека. Особенно актуально для удаленных команд и проектов, в которых часто прибегают к услугам фрилансеров. По каждому фрилансеру есть «карточка», в которой хранится вся история взаимоотношений.
Что вы можете делать в Redmine с помощью модуля People:
Итак, открываем список контактов (сотрудники) в Redmine и по тегу «Ux-Ui» отбираем потенциальных дизайнеров. Нам предстоит выбрать из 15 человек. Смотрим портфолио и последние работы на наличие IOS проектов — осталось 5.
Отбрасываем капризных и дизайнеров-хипстеров, потому как если их вариант не примут с первого раза — расстроятся и раскиснут. Как мы это узнали? Из истории прошлых проектов — комментарии менеджеров и коллег.
Отбрасываем тех, кто работает в настоящий момент в компании на фул тайме, так как сроки не позволят работать по выходным и когда муза придет. У оставшихся 2-х кандидатов есть все шансы — отправляем им детали проекта и запрашиваем ценник. В итоге выбираем одного.
По итогам работ, на основании затраченного времени выставляем счет, который тут же можно отправить по почте.
5. Управление разработкой по гибким методологиям. Agile.
Менеджер в Москве, разработчики в Самаре, дизайнер в декрете работает из дома, маркетолог в Варшаве, саппорт менеджер в Софии — вот реалии сегодняшнего дня. Agile команды оценят возможность работы по гибким методологиям.
Что вы можете делать в Redmine с помощью модуля Agile?:
Более подробный обзор модуля Agile:
6. Хостинг, обновление и поддержка от экпертов Redmine.
Jira, Basecamp и другие лидеры рынка систем управления проектами на базе своих продуктов создали облачные сервисы (Atlassian, Wrike) и взяли на себя вопросы, связанные c установкой, настройкой и обновлением ПО.
RedmineUP — это готовая для использования платформа в облаке на базе Redmine. Вам не придется заниматься вопросами настройки и конфигурации сервера, поддержкой и обновлением ПО, следить за скоростью работы и обеспечивать безопасность данных. Мы это уже сделали, чтобы вы могли сфокусироваться на главном — ваших проектах.
Попробуйте RedmineUP в деле и поделитесь впечатлениями. Удачных проектов!
Автоматизированное управление проектами на основе Redmine
— открытое web-серверное приложение для управления проектами и задачами (в том числе для отслеживания ошибок). Распространяется согласно лицензии GNU General Public License.
Особенностью сертификации системы менеджмента IRIS является то, что требования стандарта должны не просто выполняться, а должны быть представлены свидетельства управления процессами проектирования и разработки на каждом этапе выполнения проекта, при одобрении каждого этапа работ перед переходом к следующему.
Кому и для чего нужен Redmine?
Для руководителя — это возможность оперативного управления:
Для исполнителя — упорядоченная работа благодаря:
Система Redmine предоставляет следующие функциональные возможности:
На сегодня главные задачи, которые решает система Redmine в НИЛ «КСА»:
Все работы по проектированию выполняются с использованием системы Redmine.
Пользователи системы
Пользователи являются одним из центральных понятий предметной области. Модель пользователя является основой для идентификации и аутентификации работающего с системой персонала и клиентов, а также для авторизации их в разных ролях, проектах и т.п.
Роли пользователей определяются гибкой моделью определения прав доступа пользователей. Роли включают в себя набор привилегий, позволяющих разграничивать доступ к различным функциям системы.
Пользователям назначается роль в каждом проекте, в котором он участвует, например, «руководитель», «разработчик» или «наблюдатель» и другие. Пользователь может иметь несколько ролей.
Каждый пользователь системы может посмотреть задачи, в которых он участвует как заказчик, наблюдатель и исполнитель.
Система цветом выделяет задачи с разными по срочности параметрами.
Проекты
Проект является одним из основных понятий в предметной области систем управления проектами. Благодаря этой сущности возможно организовать совместную работу и планирование нескольких проектов одновременно с разграничением доступа различным пользователям. Проекты допускают иерархическую вложенность.
Задачи
Задачи являются центральным понятием всей системы, описывающим некую задачу, которую необходимо выполнить. У каждой задачи в обязательном порядке есть описание и автор, в обязательном порядке задача привязана к трекеру.
Для того, чтобы добавить новую задачу в проект, необходимо перейти на вкладку «Новая задача», выбрать трекер задачи и заполнить обязательные (*) и дополнительные (в том числе и настраиваемые пользовательские) поля задачи.
Трекеры
Трекеры являются основной классификацией, по которой сортируются задачи в проекте. По сути, в «Redmine» трекеры представляют собой аналог подклассов класса «Задача» и являются основой для определения и сортировки разного рода задач, позволяя назначать для каждого их типа различные поля. Примерами трекеров являются «Проблема», «Улучшение», «Проектирование», «Сервис» и т.д.
Каждая задача имеет статус. Статусы представляют собой отдельную сущность с возможностью определения прав на назначение статуса для различных ролей (например, статус «отклонен» может присвоить только руководитель).
Все пользователи системы могут создавать новые задачи.
Каждая задача имеет приоритет.
Для каждого проекта отдельно определяются набор этапов разработки и набор категорий задач.
К задаче можно подключить наблюдателей: по созданию задачи, при внесении изменений в задачу, изменения статуса задачи наблюдатели будут получать соответствующие уведомления на свой адрес электронной почты. Пользователи так же могут добавлять себя в качестве наблюдателя к доступной задаче, для чего в карточке задачи следует щелкнуть по ссылке «Следить».
Среди других полей интересны также «оцененное время», служащее основой для построения управленческих диаграмм, а также поле выбора наблюдателей за задачей. К задачам имеется возможность прикреплять файлы (имеется отдельная сущность «Приложение»).
Значения других перечислимых свойств (например, приоритетность) хранятся в отдельной общей таблице.
Отслеживание изменения параметров задач
За отслеживание изменений параметров задач пользователями в системе RM отвечает вкладка: «Действие» и «Измененный параметр». Запись журнала отображает одно действие пользователя по редактированию параметров задачи и/или добавление комментария к ней. То есть служит одновременно инструментом ведения истории задачи и инструментом ведения диалога.
Сущность «Измененный параметр» привязана к отдельной записи журнала и предназначена для хранения старого и нового значения измененного пользователем параметра.
Получение уведомлений
Уведомления пользователей об изменениях, происходящих в системе Redmine, осуществляется с помощью электронной почты.
Связи между задачами
Задачи могут быть взаимосвязаны: например, одна задача является подзадачей для другой или предшествовать ей. Эта информация может быть полезна в ходе планирования разработки программы, за её хранение в Redmine отвечает отдельная сущность.
Учёт затраченного на проект времени
Система поддерживает учёт затраченного времени благодаря сущности «Затраченное время», связанной с пользователями и задачей. Сущность позволяет хранить затраченное время, вид деятельности пользователя (разработка, проектирование, поддержка) и краткий комментарий к работе. Эти данные могут быть использованы, например, для анализа вклада каждого участника в проект или для оценки фактической трудоемкости и стоимости разработки.
Привязка репозиториев
Redmine предоставляет возможность интеграции с различными системами управления версиями (репозиториями). Интеграция заключается в отслеживании изменений во внешнем репозитории, их фиксации в базе данных, анализе изменений с целью их привязки к определенным задачам.
Паспорт проекта
Для выполнения требования стандарта IRIS в системе Redmine был доработан инструментарий для составления паспорта проекта. Здесь отмечаются все значимые показатели объекта проектирования и обеспечивается прослеживание входных и выходных данных.
При разработке нового проекта руководитель проекта создает новую задачу в Redmine. Обычно он присваивает задаче приоритет, назначает исполнителя и приводит описание требований. Затем исполнитель принимает задачу, изменяя ее статус «В процессе» и начинает ее выполнение.
Схема добавления и разработки нового проекта в Redmine.
В ходе работы над задачей у исполнителя могут возникнуть вопросы, которые он оформляет с помощью Redmine в виде примечаний к задаче (коментарии). Если исполнитель считает, что задача завершена или требуется дополнительное обсуждение, он снова изменяет статус «Решено» или «На согласовании».
В этом случае, руководитель проекта принимает решение о том, удовлетворяет ли задача поставленным требованиям. Если удовлетворяет, задача остается в статусе «Решено» и считается реализованной. В ином случае, после необходимых обсуждений, исполнитель продолжает работу над задачей до момента появления новых вопросов или завершения задачи, при этом исполнитель изменяет статус на «В процессе» или «Решено». При достижении всех требуемых задач статуса «Решено»проект считается выполненным.
Таким образом, система управления проектами Redmine является центральным связующим звеном между руководителем проекта и командой исполнителей. Она отвечает за создание новых задач и отслеживание изменений в ходе их выполнения. Помимо этого, руководитель проекта использует Redmine для учета времени, затраченного на выполнениt проекта, построения календарных планов и диаграммы Ганта.
Использование Redmine позволяет существенно уменьшить затраты на коммуникации внутри команды проекта, повышает качество и скорость проектирования.
На сегодня главные задачи, которые планируются интегрировать в систему Redmine в НИЛ КСА:
Преимущества системы управления проектами Redmine по сравнению с другими аналогичными программами.
620034, Россия, г. Екатеринбург,
ул. Колмогорова, д.66, офис В3-7