Работаем в online-офисе вместе с Manymoon.com

March 24, 2010

В разработке программного обеспечения, равно как и в любой другой сфере деятельности, важную роль играет общение. Общение между заказчиком и командой разработчиков, и общение внутри самой команды программистов, постановщиков задач, тестеров равно как и множества других специальностей и профессий, занятых в работе. Естественно, что существует множество специального программного обеспечения ориентированного на поддержку процесса общения, координации усилий, постановке задач, контролю их выполнения и планированию графика работ. Это программное обеспечение может быть как локальное, т.е. быть установленным и работать в рамках локальной сети предприятия. Так может быть и worldwide, т.е. размещенным на сервере в internet, так чтобы обеспечить доступ к информации пользователям, территориально находящимся в любой точке Земли.

Второй вариант особенно полезен в случае, если ваша команда является территориально распределенной. Например, ядро команды работает в офисе, а часть команды (равно как и заказчики) может жить в других городах и странах. Microsoft, IBM, oracle, google, не говоря уже о сотнях менее известных компаний, проводят политику переноса рабочих мест из офиса в домашние условия. Это позволяет не только уменьшить издержки на аренду офиса, но и более гибко управлять процессом и занятыми в нем людьми, когда ядро команды работает в офисе, а по мере необходимости к проекту подключаются freelancer-ы, которые могут жить в совсем другом городе или стране чем где расположен офис компании. В этом случае вы можете себе позволить нанимать столько людей сколько нужно на каждом конкретном этапе проекта и можете позволить себе набирать только лучших из лучших. И не устраивать при этом “стодолларовые бега за мозги” с компаниями, расположенными в одном с вами городе. Конечно, не все люди могут работать в домашних условиях также эффективно, как и в офисе, как по субъективным причинам: неумение управлять своим временем, слабый самоконтроль. Так и по объективным причинам: стесненные жилищные условия, а также жены, мужья и дети не всегда понимающие, что “есть работа и ее нужно делать именно сейчас”. Поэтому в России и Украине уже несколько лет как появились и развиваются коворкинг-центры (co-working по-английски это “совместная работа”). В этой модели, предполагается создание офисов с налаженной инфраструктурой (рабочие места, интернет, питание, комнаты для переговоров), в которые могут приходить и работать любые желающие люди. Например, если вы работаете на компанию в другом городе, но трудиться дома у вас не получается, то вы можете купить абонентскую плату в коворкинг-центр, и ходить туда как на работу. Некоторые коворкинг-центры предлагают услуги “юридического адреса”, консультации бухгалтерии и юристов, что очень полезно для желающих работать легально фрилансеров. Также, бывают случаи, когда владельцы коворкинг-центров присматриваются за тем, чем занимаются “сотрудники” и могут вложить деньги и иные ресурсы, если вы работаете над “денежной” идеей. К сожалению, в Минске есть всего один коворкинг-центр (Excellent возле площади Якуба Коласа). Даже я сам какое-то время рассматривал возможность такой формы работы, но все же, по финансовым причинам пришлось отказаться. Хотя я уверен, что по мере того как стоимость аренды места будет падать и составит не более 25% от стоимости месячной аренды однокомнатной квартиры, то спрос и предложение коворкинга начнут быстро расти.

Очевидно, что все описанные выше преимущества удаленной работы могут легко превратиться в недостатки, если неправильно организовать взаимодействие участников проекта. Для организации коммуникаций уже не хватает традиционных email, icq, skype. И нужен инструмент, объединяющий в единой платформе такие задачи как ведение проекта и составляющих его задач, распределение и контроль за выполнением заданий, систему документации, файловое хранилище, календарь и т.д. Я уже посвятил теме управления разработкой ПО несколько статей, например, две серии материалов о JIRA и mantis - одних из самых популярных систем управления проектами. Также я ранее написал серию статей о teamcity - инструменте управления сборками проектов. Сегодняшняя статья будет носить не столь специальный характер, и предназначена не только для программистов: описываемое мною решение носит общий характер и может быть использовано для организации работы над любым видом проекта.

В общем случае, если вы решили развернуть как internet-сервис средства для наблюдения и контроля за выполнением проектов, то у вас есть два пути. Во-первых, вы можете купить виртуальный хостинг за сотню у.е. в год, с тем, чтобы установить на этом сервере нужную вам комбинацию ПО. Причем, количество доступных вариантов ПО настолько велико, что подобрать что-либо по вкусу не составит никакого труда. В этом случае, вы получаете полный контроль над сервером, можете настраивать его по своему вкусу, а также самостоятельно отвечаете за вопросы безопасности и создания резервных копий. Естественно, что подбор подобного комплекта программ, их настройка и обслуживание будут стоить денег и, возможно, наличие специально выделенного сотрудника, который этим будет заниматься, либо как основной работой, либо совмещая с чем-то еще. Второй вариант гораздо проще, особенно если у вас “нет под руками свободного программиста”. И заключается он в том, чтобы переложить ответственность за работоспособность сервера с ПО по управлению проектами на специально занимающуюся этим компанию. Так в internet уже много лет назад появилось огромное количество компаний, которые предлагают оформить подписку на online-сервисы управления проектами. Это могут быть как частные (закрытые и проприетарные) разработки, так и “упаковки” бесплатного ПО. Во втором случае, за основу берется opensource проекты, доводятся до ума, добавляется система поддержки пользователей, а затем начинают продаваться за деньги. Более того, вынести в internet часть документооборота, управление проектом и расписанием работ, можно вообще без каких-то особых затрат и усилий. К примеру, у почти всех нас есть почтовая запись на gmail (особенно после того как многие сайты предлагавшие собственную почту начали переносить ее на площадки google). Итак, у меня есть почтовая запись google, а значит, я автоматически получаю адресную книгу, календарь, возможность хранить и работать над документами online и ко всему этому я могу достаточно точно настроить права доступа, разрешив определенному перечню людей просматривать и редактировать мои записи. Совсем недавно google сделал важный шаг, добавив возможность загружать в среду google docs, не только офисные файлы (word, excel, документы openoffice), но и любые другие типы файлов. На текущий момент существует ограничение объема хранимых файлов в один гигабайт, но в случае необходимости вы можете докупать дисковое пространства. Кажется, что для “полного счастья” google осталось только добавить к списку предлагаемых сервисов возможность определять понятие проекта, составляющих его частей, привязать эти части к контактам из адресной книги и календарю. Однако, не стоит ждать пока все это сделает google – в internet уже есть решения предлагаемые другими компаниями, которые создают собственные предложения как надстройки над google (естественно, используя для этого официальные api для доступа к различным online-сервисам google). И сегодняшний рассказ будет о компании Manymoon.com. Сразу же, чтобы расставить точки над “i”, я хочу сказать, что существует очень много платных, бесплатных, сложных и простых онлайн-сервисов для организации общения и управления проектами. Для того, чтобы увидеть полный перечень вариантов я советую вам обратиться к страничке википедии http://en.wikipedia.org/wiki/Comparison_of_project_management_software или более неформальное описание (доступное к тому же на русском языке) на сайте http://www.onlineprojects.ru. Для того, чтобы не запутаться в огромном перечне доступных систем управления проектами, я советую поэкспериментировать с Basecamp (http://basecamphq.com/), Worksection (http://worksection.com/), Comindwork (http://www.comindwork.ru), Assembla (http://www.assembla.com/), ActiveCollab (http://www.activecollab.com/), Teamer (http://www.teamer.ru/), Мегаплан (http://www.megaplan.ru/). Все эти продукты предлагают множество различных планов подписки, в зависимости от того, сколько человек у вас работает в online и какие наборы сервисов вам нужны. Вы можете взять бесплатную подписку на месяц, чтобы попробовать поработать, а затем можете купить тарифный план или обновить ранее купленный вами тарифный план на более совершенный. Почти всегда есть бесплатные предложения для хостинга проектов для некоммерческих, образовательных или opensource проектов. Как вариант, вы хотите купить не доступ к online-сервисам, а хотите пользоваться понравившимся продуктом в рамках локальной сети своей организации. В этом случае, вы можете заплатить деньги за коробочную версию продукта. Например, компания assembla предлагает образы виртуальных машин, с установленным на них всем необходимым ПО и операционной системой. Запустить такой образ внутри vmware player сможет любой толковый системный администратор.

Итак, возвращаясь назад, я расскажу об управлении проектами помощью manymoon.com. Продолжая расставлять точки над “i”, скажу, что этот проект существует в бесплатной и платных версиях. Хотя перечень функций не слишком отличается, но серьезно пользоваться бесплатным вариантом трудно, хотя бы потому, что вам выделяется для хранения документов смешные 5 мб места на диске, но подобные ограничения есть везде. Поскольку manymoon построен на базе сервисов google, то для того, чтобы начать пользоваться manymoon, вам потребуется учетная запись gmail или, как вариант, вы купили услуги хостинга приложений google apps. Однако, для того, чтобы все сервисы интеграции manymoon и gmail вам были доступны, то придется оплатить покупку Google Apps Premier Edition за порядка 50 у.е. в год на человека. Итак, когда я первый раз захожу на сайт manymoon.com, то выбираю пункт меню “Вход с помощью gmail”, после чего браузер перенаправляет меня на страницу google, где просят авторизоваться и просят подтверждение того, действительно ли я хочу предоставить сайту manymoon доступ к моей персональной информации. После того как процедура регистрации была пройдена, то я попадаю на страницу приветствия, где мне предлагают создать свой первый проект. В качестве забавного примера я решил осуществить новую лунную программу и дать возможность первым ступить на Луну белорусскому человеку. Так, что в графе “Имя проекта” я ввожу “Полет на луну”, в графе “Due Date” ввожу дату завершения проекта - 20 июля, 2019 г. т.к. ровно 50 лет назад, именно в этот день, экипаж Аполло 11 ступил на лунную поверхность. Создаваемые вами проекты, можно промаркировать списком ключевых слов-тегов и дать описание - что я и сделал (см. рис. 1).



Следующим шагом работы с проектом будет нужно наполнить ее содержимым. И сделать это следует с того, что мы определим список людей, которые будут участвовать в проекте. Разработчики manymoon предоставили возможность либо “старомодным ручным” способом ввести адреса email всех участников по отдельности, либо импортировать список контактов из адресной книги google, hotmail, yahoo или социальной сети linkedin. Каждому, кого вы выбрали, будет отправлено письмо с приглашением и ссылкой на проект. Получив приглашение, участники могут либо зарегистрироваться на самом сайте manymoon либо, опять-таки, подключить свою уже существующую учетную запись gmail. Самым главным этапом работы с проектом будет его наполнение задачами (task). К примеру, на рис. 2



я показал то, как выглядит форма добавления новой задачи. Здесь вы не только указываете название задания и список привязанных к ней участников, но и можете присоединить любые файлы. И каждый из этих документов будет сохранен или внутри сервиса google docs, или локально, на сайте manymoon. А еще вы можете привязать задание к календарю google. После того, как “скелет” проекта и составляющих его задач был создан, вы начинаете с ним работать. Сразу после того как участник проекта заходит на сайт manymoon.com, то он попадает в свой рабочий кабинет, представленный страницами-закладкам: “Bulletin”, “Tasks”, “Projects”, “Documents”, “Links”, “Events”, “Connections”, “Timesheet”. На странице “Bulletin” размещаются инструменты для быстрого создания и назначения заданий, инструменты для публикации информации. Под публикацией здесь понимается создание заметки, собрания (event), файла и публикации его как составляющей части проекта. Так на рис. 3 и 4


  (и рисунок 4)


я показал то, как будет выглядеть создание Event-а, т.е. назначение даты, когда пройдет собрание и обсуждение (можно назначать несколько дат событий). К каждому событию можно впоследствии добавлять комментарии, присоединять файлы, менять список участников и отправлять им извещения об этом. Страница “Tasks” (см. рис. 5)



служит для отображения списка заданий, как всех, так и только тех, которые были назначены текущему пользователю. Опять-таки, к каждому заданию можно добавлять комментарии, делать задачи доступными для пользователей, откладывать выполнение заданий и закрывать задачи как завершенные. На рис. 6



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



показано как выглядит карточка с отчетами по работе над заданием участников проекта. Т.е. каждый сотрудник будет заполнять в специальной форме отчет о том, сколько часов в какой день он потратил на работу над заданием (task) и над чем конкретно он работал. Следующая страница - это “Documents”, на которой отображается список всех документов, добавленных к проекту. И опять-таки, каждый из файлов может иметь присоединенный к нему перечень комментариев-обсуждений, например, обсуждение проекта дизайна сайта между заказчиком и дизайнером. Следующая страница – это “Links”, которая предназначена для того, чтобы внести в пространство проекта какие-либо ссылки на внешние internet ресурсы. Для работы с личным календарем событий используется страница “Events”. Страница “Connections” служит для показа списка всех задействованных в работе над проектом участников, из этого единого интерфейса вы можете легко добавлять новых сотрудников, импортировать контакты из адресных книг google, yahoo или linkedin. Последняя закладка – “Timesheet” отображает сведения о потраченных на проект часах, там же вы можете заполнять свой ежедневный отчет.

В этой статье я постарался использовать как можно большее число скриншотов, для того, чтобы заинтересовать вас и заставить поэкспериментировать с manymoon. Даже, если конкретно manymoon вам не понравится, то я надеюсь, что сама идея переноса части офиса в internet произведет на вас благоприятное впечатление. И вы займетесь самостоятельным исследованием этого вопроса. Просто просмотрите список инструментов, опубликованных на сайте http://www.onlineprojects.ru/pm/, читайте отзывы о них других пользователей и пробуйте сами.