Assembla.com — бесплатный виртуальный офис для команды разработчиков
Регулярно описывая новые стартапы, я постоянно видел тенденцию к созданию веб-приложений и целых веб-офисов (не в смысле замены пакета от Microsoft, а по функциональности), однако ни разу не встречал таких онлайновых комплексов, рассчитанных на коллективы разработчиков. И если раньше я считал, что уж мы то, разработчики, можем вполне обойтись и стандартными средствами, максимум, сами себе на сервере развернуть SVN + Trac, то став руководителем (и продолжая быть программистом) отдела разработки небольшого стартапа, я немного переосмыслил своё виденье веб-офисов. Стало понятно, что иметь что-то онлайн, но заточенное сугубо для организации виртуального представительства отдела разработки, было бы очень даже полезно и нужно. Желательно, бесплатно, но если за это будут просить деньги, также стоит подумать. Ведь сопровождение собственными силами такого решения выльется и в дополнительное время на установку и конфигурирование, и на привыкание работать в нескольких разных системах.
Первым делом я подумал использовать бесплатные сервисы для открытых проектов, однако мы разрабатывали совсем не открытое решение, поэтому такие сервисы мало подходили. Да и функциональность и даже удобство пользования самыми популярными решениями вроде Sourceforge или Google Сode было отнюдь не на высоте. Пришлось искать что-то другое... и такое решение нашлось! Посмотрим на сервис Assembla.com.
Введение в Assembla.com
Не совсем стартап, компания Assembla работает на рынке с 2006 года, предоставляя как бесплатный пакет, так и расширяя функциональность за небольшую плату. Начальная регистрация и работа вполне бесплатны, и поверьте, для организации небольшого веб-офиса для распределённой команды разработчиков, которые работают над одним или несколькими проектами, вам вполне хватит только бесплатного аккаунта. В основном, он ограничен объемом места под хранение файлов (допускается как просто хранение файлов в проекте, так и системы контроля версий — SVN, Git и Mercurial) — всего 200 Мб на проект, а за дополнительную плату — больше. Все остальные функции и модули — бесплатные, платные лишь премиум сервисы, вроде бекапа на Amazon S3, дополнительный уровень безопасности (используя SSL), а также 5 Гб места. Единственное, что из платного интересно и необходимо — место, чтобы в больших проектах можно было хранить всю историю версий, ведь в бесплатном самые старые ревизии кода удаляются, едва вы достигните предела дискового пространства. Платная версия стоит достаточно дешёво — 150$ в год, а необходимо это только для владельца проекта, остальным участникам достаточно простых аккаунтов. Кстати, для открытых и студенческих проектов они предоставят все условия бесплатно, стоит сообщить им и описать проект.Проекты, над которыми вы работаете, называются Spaces, и представляют собой набор сервисов в едином интерфейсе и объединённой функциональность (например, общая регистрация и т. п., чего как раз очень сложно добиться, развёртывая все это самостоятельно). Дальше мы рассмотрим предоставляемые сервисы, из которых, как из кирпичиков, вы можете строить свой виртуальный офис в зависимости от нужд проекта.
Кстати, сами spaces могут быть как приватными и доступными только вашей команде, так и открытыми для всех. Так, для примера, можно гибко управлять работой над каким-либо открытым проектом. Список всех доступных проектов вы можете узнать на этой странице, а также найти интересные для себя, исходя из языка или платформы.
Основные сервисы
Wiki позволяет совместно вести документацию и редактировать документы, однако я бы не стал рекомендовать её для серьёзной работы — к сожалению, это именно тот модуль, который лучше ставить самому на собственном сайте, а входящий в пакет недотягивает до открытых аналогов типа DocuWiki или MediaWiki, однако для базового и примитивного использования для документации подойдет. Плюсом есть то, что стартовая страница проекта может быть оформлена как вики, а оттуда уже будут ссылки на более удобные инструменты. Однако, если wiki вам надо только для ведения внутренней документации, а все разработчики отлично подкованы, то вы можете использовать встроенную функциональность от Trac, хотя, конечно, на мой взгляд, удобства меньше, и доступ к этой части будет всегда через дополнительную авторизацию.Для общения между членами команды есть модуль Messages, который что-то вроде веб-форума или доски объявлений, позволяет задавать общие вопросы всем участникам проекта и далее обсуждать каждый из них. Основной плюс — то, что вся переписка идёт в едином интерфейсе и доступна всем участникам, исключая потом перекапывание личной переписки или логов ICQ.
Какой же проект без участников, поэтому модуль Team столь важен — здесь вы можете как владелец проекта приглашать других участников (по e-mail, если они не имеют аккаунта в assembla.com, им будет предложено зарегистрироваться), а также управлять правами доступа остальных членов команды.
Модуль File позволяет хранить дополнительные файлы, связанные с проектом, например, документацию или другие файлы, при этом есть атрибуты web 2.0 вроде разметки тегами. Для графических файлов есть превью (однако для графики лучше всего использовать модуль Images), остальные снабжаются мета-информацией и доступны для загрузки.
Основной модуль, с которым придётся работать, особенно если вы менеджер, это Stream — своего рода центральная панель, куда стекаются сообщения обо всех изменениях в проекте. Здесь сразу видно всю активность — и новые файлы, комментарии, хронология коммитов в систему контроля версий, редактирование wiki или изменения в составе команды. При этом вы можете гибко настраивать отображение и указывать только те события, что вам интересны и в желаемый промежуток времени. Здесь также настраивается оповещения по e-mail — вам не обязательно держать открытым страницу сервиса все время, как только что-то произойдет, вы будете уведомлены по почте (конечно, если настроили себе оповещение). Либо вы можете использовать модуль Dashboard — он несколько отличается по внешнему виду, но сравним по функциональности. И конечно же все изменения доступны по RSS-ленте.
Сервисы для разработки
Вот мы и подошли к самому интересному. Для разработчиков Assembla предлагает на выбор несколько систем контроля исходного кода — традиционный Subversion, а также современные Git или Mercurial (подробнее). И всё это интегрировано с системой Trac. Вы также можете использовать и собственную систему тикетов — модуль Tickets, мне он показался более удобным и даже красивым, по сравнению с стандартным для Trac, однако это на любителя. Тем более, переключится можно в любой момент. Если у вас есть ещё и собственный SVN-репозитарий, вы можете подключить его и работать как с ним, так и использовать обе системы одновременно (встроенную сервиса и собственную). Репозитарий можно просматривать как онлайн, через Trac, так и использовать любые другие инструменты (рекомендуемые для разных ОС приведены прямо на странице).Для управления и контроля над работой полезен модуль Scrum, позволяющий создавать отчёты о том, что было сделано и над чем каждый участник будет ещё работать. Вместе с этим модулем полезен и встроенный чат (Chat), который служит для непосредственного онлайн общения между участниками на сайте.
Дополнительно, отслеживать ход работ, можно через модуль Milestones, который получает информацию от модуля тикетов и репозитария кода, формируя картину готовности проекта к назначенным ключевым точкам. Без этого модуля сложно представить работу над более-менее сложным и важным проектом.
Маленьким открытием, даже после использования сервиса в нескольких проектах, стал модуль Images. Для проектов, где используются графические элементы, вместо файлового модуля лучше всего использовать именно Images — это не только хранение изображений, но ещё и оригинальный Flash-редактор, позволяющий рисовать и обсуждать загруженные изображения просто на странице. Особенно удобно это на этапе тестирования — скриншот можно загрузить и сразу на нем отметить проблемные участки, здесь же прокомментировав его.
Из дополнительных модулей, которые не обязательны, но возможно вам понадобятся, я бы отметил систему Mephisto (управление блогом и сайтом для проекта), Staffing (система публикаций вакансий на портале assembla.com и управление наймом участников, такая мини-рекрутинговая система). Если вы используете управление временем для участников, добавьте в проект модуль Time для распределения и контроля времени на каждую задачу и каждого сотрудника.
Ну, а для самых серьёзных разработчиков, или просто для специфических условий использования сервиса и требований по интеграции его в вашу инфраструктуру или проект, есть хорошо документированный REST API, а также возможности по интеграции с другими системами, например, используя XMPP-сервер Assembla вы можете общаться и видеть всю свою команду просто в вашем jabber-клиенте.
Для тех кто ищет работу или сотрудников...
Для пользователей коммерческой версией, кроме дополнительных возможностей, доступны и расширенные возможности по управлению своей карьерой. Общедоступный модуль Talents позволяет подыскать себе в проект квалифицированного сотрудника, либо же указать свои возможности и знания, чтобы вас могли найти работодатели. А раздел Jobs позволит публиковать вакансии в своих проектах и нанимать временных (а может и постоянных) сотрудников. Таким образом, Assembla выступает в роли аутсорсинговой и рекрутинговой платформы, что очень органично вписывается в её сервисы. Кстати, среди специалистов по многим ключевым словам находится достаточно много наших людей, так что поискав, вы можете встретить своего коллегу с соседнего города.
Выводы
В итоге, для того, чтобы зарегистрировать новый проект и настроить его для комфортной работы небольшой команды разработчиков и менеджера, вам достаточно выбрать ему имя и настроить необходимые модули, просто выбирая их из списка, конкретные настройки будут созданы автоматически. Если брать обычный веб-проект и небольшую команду (3 — 5 человек), то по моему опыту, достаточно следующего набора модулей: Wiki, Files, Messages, Team, Stream, Trac/SVN, Tickets (мне просто он больше нравиться, чем встроенный в Trac), Chat, Images и Milestones. В принципе, часть из них стандартная и доступна сразу, остальные необходимо добавить из панели Admin — Tools.Настройка такого веб-офиса, вместе с приглашением всех участников команды, у меня заняла всего 15 минут времени, так сказать, «не отходя от браузера» и не вникая в тонкости конфигурирования SVN-а или других приложений. В условиях небольших команд и простых проектов такое решение способно существенно ускорить начало работы, не требуя от компании или коллектива ничего, кроме наличия браузера, интернета и базовых знаний своей работы. Я уже перенес все свои проекты на этот сервис, а вы?
42 коментарі
Підписатись на коментаріВідписатись від коментарів Коментарі можуть залишати тільки користувачі з підтвердженими акаунтами.