Павел Гужиков, Iconjob: Нет никакой серебряной пули для эффективной работы распределенной команды

Павел Гужиков основал сервис быстрого поиска работы Iconjob. Соискатели и работодатели общаются напрямую через чат в приложении. Сервис работает на iOS, версия для Android появится позже. Через приложение можно нанять официантов, кассиров, электриков, продавцов и представителей других специальностей.

Приложение разрабатывала распределенная команда из Москвы, Ярославля и кипрского Лимасола. О том, как это было, Павел поделился с нашими читателями.

«Все участники производства – из нашей команды Bongo R&D. Четыре человека объединились, движимые одной целью. Получилось, что аналитика, проектирование и дизайн продукта осуществлялись в Москве, backend на Ruby on Rails и Elixir создавался в Лимасоле, а мобильное приложение для iOS разрабатывалось в Ярославле.

Учитывая, что продукт делался для себя, с собственным его пониманием и видением, некоторые нюансы процесса разработки отличались от аналогичных процессов в случае разработки на заказ. Эти различия я постараюсь отразить.

Мы сделали чат в Телеграме и приступили. Интересно, что в повседневной работе мы используем телеграм-чаты для общения с заказчиком, а для общения команды у нас есть Slack. В данном случае же канал в Slack стал для нас лишь местом, куда попадает информация о коммитах и пушах в Git для прозрачности и взаимной мотивации. Так работа кипит нагляднее. К слову о Git – им мы пользуем всегда и везде. Два года назад переехали с Github на Gitlab, развернутый на наших серверах. Очень удобно, гибко и бесплатно.

Вид из московского офиса Iconjob

Вид из московского офиса Iconjob

Самый первый и очень важный этап создания любого продукта – это проектирование. Все члены команды смотрели на конкурентов, интересные тренды, слабые места других продуктов и собирали это в единое мнение с помощью общего документа в Google Docs. Московская часть команды формировала из этого финальное видение со списком функций, которые важны для первого запуска. Нельзя брать в первый релиз слишком много, потому что важнее всего получить отклик рынка. Быстро запуститься с качественным продуктом, который содержит ключевые функции. Результатом первого этапа работы команды стала блок-схема, сделанная в Москве.

На очередь встала разработка дизайна самого приложения. В компании мы уже давно объединили функцию проектировщика и дизайнера. Правда, это возможно только при высокой квалификации и достаточно большом опыте. Играться шрифтами и перекрашивать кнопки можно сколько угодно, но гораздо важнее понимать пользователей и создавать решение, которое будет работать на конкретные цели. Взяв блок-схему, Москва начала выстраивание экранов – от компоновки на бумаги до реализации в графике. В этот момент идет активное взаимодействие с разработчиком iOS. Было важно понять, какие нестандартные графические решения будут воплощаться избыточно долго. Держим в голове, что важнее выполнение функции, нежели ее обрамление.

Многие дизайнеры не просто так перешли на Sketch. Работа с ним заметно эффективнее Photoshop’a, а это значит, что результат будет быстрее. Результатом данного этапа стал набор полностью отрисованных экранов и состояний. Затем мы собрали карту приложения. Она объясняет, откуда, куда и как двигается пользователь в каждой из ролей.

Карта приложения

Пока создавался дизайн, мы совместно написали некое подобие ТЗ. Пожалуй, в этом не было существенной необходимости, но мы решили иметь под рукой документ, в который всегда можно взглянуть, пока все спят и не на связи. Наличие карты приложения и описание работы ключевых алгоритмов стало основой для старта разработки.

В работе Bongo R&D с внешними заказчиками мы используем Pivotal Tracker для работы по SCRUM-процессу с еженедельными итерациями с фиксированным на неделю набором задач. При разработке Iconjob мы решили попробовать новый инструмент и решили, что им станет Asana. Она бесплатна для маленьких команд и обладает достаточной функциональностью. Каждый самостоятельно создал задачи для себя и мы ушли в разработку.

Слаженность команды дала нам не только высокую выработку, но и отсутствие потребности в постоянных созвонах. Высокая мотивация каждого позволила нам не делать утренние митинги для планирования. Все взаимодействие происходило онлайн в телеграме. Пока нарастала и тестировалась функциональность backend’а, шла разработка визуальной части мобильного приложения. Как только мы получили необходимый минимум API, приложение стало оживать на тестовых данных. Раз в несколько дней мы делали тестовые сборки, чтобы пробовать их на различных устройствах и оценивать несколько факторов: фактические удобство и логичность использования, полное pixel-perfect соответствие дизайну и работа в алогичных сценариях. Для нас очень важно, чтобы дизайнер тоже принимал работу разработчика – логика взаимодействия каждого элемента с пользователем должна соответствовать задуманному. По результатам этих тестирований мы стали создавать задачи на других: баги, гипотезы и необходимые улучшения. Простых to-do список было полностью достаточно.

Время от времени мы созванивались по скайпу, чтобы обсудить наш настрой, продуктивность и первичные отклики, которые собирались на встречах в Москве.

Не прошло и трех месяцев, а мы уже получили крепкий релиз, который мы хотели запустить. Мы не считали часы, работали по выходным и не жалели себя. Постоянная связка работы дизайнера, продуктовика и разработчиков позволила быть очень гибкими и быстрыми в изменениях. Получив релиз, iOS-разработчик поехал в поход на Камчатку на две недели, взяв с собой ноутбук. По ночам он выходил на связь с берегов диких рек, чтобы узнать, как идет тестирование.

Весь июль мы проверили в тестировании удобства и правили мелкие ошибки. Дали себе этот экстра-месяц, чтобы выпустить не идеальный, но качественный продукт. Запуск в августе сразу начал приносить плоды – Iconjob заинтересовал ресторанные сети, глобальные франшизы и даже оффлайн-компании. Мы получили замечательную обратную связь и продолжаем развивать продукт и разрабатывать версию для Android.

Хочется сказать, что нет никакой серебряной пули для эффективной работы распределенной команды. Нужно уметь работать и иметь мотивацию делать это. Имитация деятельности исходит из непонимания внутри себя, зачем тебе делать что-то. Разобравшись с собой, открываются новые возможности».