14 April 2010

Портал EmForge — платформа коллективной разработки

Self Promo
Так получилось, что последние несколько лет мне приходится принимать участие исключительно в распределенных проектах. Руководство проекта в США, business owner во Франции, разработка в России и Бразилии, а тестирование в Китае — это нормальная ситуация. В таких проектах — очень важна грамотная организация коммуникаций. В разных проектах использовались разные системы. Идеала найдено не было, потому то и был написан собственный «неидеал»: EmForge Portal, который я и хочу сегодня представить, надеясь что кому-то он может оказаться полезным
EmForge

В распределенном проекте нельзя по быстренькому обсудить что-то за чашкой чая. Нельзя поднять голову от монитора и крикнуть всем «Не трогайте сервер я сейчас передеплою новую версию», или «Это моя бага — я сейчас ее пофикшу». Если нет грамотных коммуникаций, то разработчики будут разрабатывать совсем не то, что хочет business owner, руководство будет обещать заказчикам третье, а тестеры вообще не будут знать что им тестировать. Почта это хорошо, но попробуйте найти в тонне писем именно то, в котором говорится как сделать ту или иную фичу. По этому, нужны специальные средства и сервисы, как то репозиторий куда (куда же без него при разработке?), управление задачами, обмен документацией, и многие другие.

В разных проектах использовались разные системы (и сервисы) но всегда чего-то не хватало, то отличный task management, но нет вики (для обмена документацией), либо есть вики и задачи, но нет контроля версий, либо есть и то и другое и третье, да еще и code review (как например в atlassian studio — наверное лидер в данной области) — но цена просто заоблачная.

В итоге, некоторое время назад был разработан и запущен свой собственный сервис: EmForge Portal, где есть еще не все что планировали, но уже:

* Хостинг Subversion (сразу отвечая на вопросы которые так же задавались на SunTechDays — да, планируем git — но как только найдем человека с достаточным опытом в git-е, может так же и mercurial);

* Управление задачами и учет времени;
* Вики — для документации;
* Блоги — для публикования новостей проекта;
* Форум — для общения как внутри команд так и с пользователями;
* Хранение любых проектных файлов

В принципе набор средств позволяет наладить взаимодействие не только внутри команды — но и с пользователями — для каждого проекта создается собственный мини-сайт, и есть возможность повесить его на собственное доменное имя, получив тем самым «сайт проекта».

Немного об управлении задачами и временем

image

Изначально мы сделали систему заточенную под XP, с user story и epic-ами, с вложенными задачами, с релизами и итерациями. Но потом выяснилось, что для большинства пользователей, не знакомых с XP — это слишком сложно, а потому оставили просто плоский список задач и багов, разбитых по релизам. Возможно сделаем такие навороты опциональными, но сейчас мы постарались сделать работу с задачами максимально простой, что бы максимум действий можно было сделать из главного окна (со списком задач) за минимальное количество кликов. Так что прям в списке задач их можно отфильтровать по разным критериям, закрыть, добавить комментарий, внести потраченное время, поменять порядок простым DragNDrop-ом

Учет времени позволяет рисовать burndown график и следить за тем, в каком направлении идет проект.

Для bug-tracking-а используется форум — ведь на самом деле если пользователь встречает какую-то проблему — он сначала пишет в форум. И если выясняется что это бага (или фича) — можно прям из форумного поста сделать задачу (а потом, когда задача будет закрыта — в форум будет послано автоматическое сообщение).

EmForge Portal — open source проект

Немного о разработке. Базируется все на Liferay (портал для Java — я о нем уже писал на хабре) и соответственно на Java. А еще проект EmForge Portal — Open Source (хостится на себе же: http://www.emforge.net/web/emforge-portal) — это означает что:

* Вы можете скачать исходники и поставить у себя в локальный инфраструктуре — не обязательно пользоваться внешним сервисом;
* «Мы ищем таланты» — если вам интересно — будем рады новым участникам (которые например помогут прикрутить и настроить git).

А сколько это стоит?

А пока нисколько. Начиная с того что все исходники доступны, и можно скачать и поставить у себя (правда потребуется опыт не только в java, но и некоторый опыт в liferay), EmForge всегда будет бесплатным для Open-Source проектов и для студентов, а так же для маленьких «закрытых» проектов.

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

Мы уже активно используем EmForge в нескольких наших проектах, надеюсь и вам он поможет.
Tags:project hostingproject managementcommunication
Hubs: Self Promo
+22
700 28
Comments 28