Внедряю Liferay
0,0
рейтинг
14 апреля 2010 в 15:34

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

Так получилось, что последние несколько лет мне приходится принимать участие исключительно в распределенных проектах. Руководство проекта в США, 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 в нескольких наших проектах, надеюсь и вам он поможет.
@akakunin
карма
124,0
рейтинг 0,0
Внедряю Liferay
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разное

Комментарии (28)

  • 0
    Интересно. А как же репозиторий Maven?
    • 0
      Имеется в виду что бы для каждого проекта можно было сделать хостинг собственного maven репозитория?
      • 0
        Да, было бы очень удобно (мне:)).
        • 0
          ну нам тоже :) на самом деле хочется не только мавен, но и hudson интегрировать — но с хадсоном еще сложней (как безопасно разнести job-ы что бы разные пользователи и проекты не мешали и не лазали друг-к-другу)

          По поводу мавена можно добавить в фиче-лист — постарамся съинтегрировать artifactory или nexus
  • 0
    На мой взгляд, дизайн хромает + как-то странно вы расположили портлеты. На каждой странице по одному.

    Почему бы их логически не объединить и разместить на одной странице?
    • 0
      ну боюсь тогда что бы на одной странице показать и вики и блоги и форумы и задачи разрешение монитора у пользователя должно быть больше чем fullHD :)

      хотя как дашбоард — имеет смысл — пока что пользователь не может менять содержимое своей страницы — мы работаем что бы сделать удобный и понятный интерфейс создания своей dashboard — где на одну страницу можно накидать все что интересно пользователю
      • 0
        Ну например, Главная + Действия + Задачи легко объединяются (Команду тоже можно пристроить).

        Я бы на вашем месте сильно кастомил дефолтные портлеты. Какие-то они убогие, интуитивно не понятные.

        Все равно буду следить за вашим проектом :) Интересная идея.
  • +1
    Есть похожая система с расширенным функционалом — TeamWox, описание на Хабре: и раз, и два.
  • +1
    Очень нравится RedMine для таких дел. Очень советую перенять опыт у них.
    С репозиториями да, плохо. Сейчас всё больше и больше людей уходят что с git, что с subversion на bazaar и mercurial. Именно поддержку последних хотелось бы видеть, тем более что bzr проще и удобнее других систем, даже удобнее чем mercurial.
    Думаю поддержка данной VCS с вашей стороны может сыграть хорошую роль.
    Всё выше, конечно, моё личное мнение.
    • +1
      «Уходят с git»… мне казалось на него только-только приходят — но не будет разводить холивар на тему VCS — к тому же это немного офтопик
      RedMine — хорош, есть даже сервисы которые его хостят, но насколько я помню (в реальных проектах не использовал) — там опять-таки нет форумов
      • +1
        >мне казалось на него только-только приходят
        Да, вы правы. Я могу условно разделить людей, использующих VCS, на 2 «движения»: на распределённые VCS(те, кто мигрируют с CVS, SVN etc) и на более простые, новые, удобные(те, кто переходят на hg и bzr).
        На счёт удобства hg и bzr прошу в гугл.
        >там опять-таки нет форумов
        Есть. К примеру:
        demo.redmine.org/projects/daprojekz/boards
        Вообще советую посмотреть демо:
        demo.redmine.org/

        И да, это ни капли не реклама, мне самому нравится RedMine, но, увы, он слишком требователен к ресурсам(как-никак руби), да и не так гибок.
        • 0
          низкие требования (относительные) к ресурсам — это то, за счет чего мы надеемся держать низкие цены на сервис (так как самим придется мало тратить на хостинг).

          Одна из самых популярных систем используемая на project hosting-ах — trac — поддерживает только один проект, При организации хостинга хостерам приходится поднимать отдельный инстанс для каждого проекта — что требует ресурсов.

          Крутился еще с ребятами которые делают аналогичный сервис на ruby — тоже хостинг требует ресурсов.
          В нашем случае — хоть минимальные требования Java и особенно Liferay значительно выше того же PHP — но зато потом требвания растут не сильно.

          Например сейчас сервис «держит» хаброэффект без какой-либо видимой нагрузки
  • 0
    А про наличие в Google Apps Marketplace забыл упомянуть! Это большой плюс, пока из серьезных приложений там только Jira, но за деньги, а теперь вот и Emforge.
    • 0
      Спасибо за напоминание — про это (вернее про то как прикрутить свое приложение к Google Apps Marketplace) будет отдельный пост.

      Так вот, да, дейтсвительно — EmForge умеет интегрироваться с Google Apps, достаточно зайти на нашу страничку на marketplace и добавить его в свой домен.

      К тому же, как показал <a href='http://habrahabr.ru/blogs/GMail/90939/">недавний опрос многие используют «Gmail со своим доменом» — то есть Google Apps — эта фича может быть востребована среди посетителей Хабра…
  • +1
    <зануда>
    У вас в русской версии, в title страницы опечатка — «Здраствуйте» ;)
    </зануда>
    • 0
      спасибо — исправил — а вам плюсик за внимательность!
  • 0
    Впечатлениями о Liferay не поделитесь?
    • +1
      впечатления о Liferay — положительные. Вот доклад делал по нему на SunTechDays, кстати по результатам общения на SunTechDays сделал на EmForge <a href=«www.emforge.net/web/russian-liferay»отдельную community по обсуждению вопросов связанных с Liferay — если присматриваетесь к Liferay и есть какие-то специфичные вопросы — лучше туда (там есть специальный форум для этого)- постараюсь ответить.

      Ну а если в двух словах: не все идеально — бесcпорно Liferay не лучший blog-движок (есть например wordpress), не лучший wiki (взять например тот же mediawiki), не лучший форум (не знаю — сильно не пользовался -вроде тот же phpBB очень популярен), но он берет в совокупности.
      Для разработчика есть и свои пряники, и свои «кнуты».

      Но в целом я очень довлен выбором Liferay в качестве основы для EmForge
  • 0
    есть нечто похожее, смесь соц.сети с платформой для коллективного творчества, развивается социальными активистами, we.riseup.net на открытом движке, вполне пригодно.
  • 0
    • 0
      На сомом деле подобных систем много (как и было написано выше), тот же unfuddle (который сейчас тоже обсуждается на хабре).

      Если говорить о FogBugz, то, я бы предпочел скорее JIRA Studio, благо стоят они одинакого — 25$ за пользователя, только для меня, как и для многих, это слишком дорого
  • +1
    Чем EmForge отличается от SourceForge? Чем таким особенным обладает? Почему мне стоит его попробовать?
    • 0
      В SourceForge, как и в Google Code — нельзя создать «закрытые» проекты, только open-source. Это наверное основное отличие
  • +1
    На главной странице русской версии опечатки

    Сразу под кнопкой «Начать новый проект»
    «Упраление Задачами»

    В столбце «Для разработчиков»
    «Видеть все последние действия по всех ваших проектах» — наверное «во всех» или «по всем» )))

    В столбце «Для команд»
    «Учитывайте время потраченое на решение задач» — потрачеННое. И еще запятая после слова «время»

    • 0
      спасибо — исправил
  • 0
    Подписался на ваш блог. Как реализуете mercurial у себя — может придем к вам =)
  • 0
    А чем отличается от projectscloud.ru, который на основе devprom сделан?
    • 0
      ProjectsCloud не пользовался — потому сравнить не могу — на первый взгляд идея схожа. Отличия которые я вижу:
      1. ProjectsCloud — на русском (русский у них явно лучше чем на EmForge) — но нет возможности использовать при работе с зарубежными заказчиками — EmForge же в первую очередь ориентирован на запад (хотя и разрабатывается в России и Польше)
      2. EmForge базирается на Liferay — очень популярный продукт с множеством дополнений — которые, при необходимости, могут быть так же включены в EmForge. ProjectsCloud базируется на собтсвенной разработке DevProm

      Но, судя по тому, что ProjectsCloud существует дольше — думаю он более стабилен и наверное функционален.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.