Часы работы: 10 - 19 (Москва)

г. Пенза, ул. Суворова 64б, 6 этаж

Как наладить работу в стартапе?

Как наладить работу в стартапе?

Как выстроить систему работы с распределенной командой, находящейся за рубежом? История сотрудничества с калифорнийским стартапом 37coins и его сотрудниками из всех частей света. Какие основные проблемы стартапов и как выстроить работу с самого начала так, чтобы многообещающий проект не закрылся до того, как он начал обеспечивать сам себя?

37coins создавался для оплаты товаров и услуг через сотовый телефон в регионах, где основное население не имеет доступа к интернету (смартфонам и компьютерам). Например, можно заказать питьевую воду через USSD-запрос в африканской деревне. Внутри сервиса транзакции выполняются в криптовалюте, а для конечного пользователя это выглядит как SMS-кошелек, который привязан к местным деньгам.

Эта одна из первых историй сотрудничества CodeInside с иностранным заказчиком, стартапом 37coins. Как и многим другим стартапам, ему не удалось взлететь, но кое-что было сделано и, главное, выстроена система работы с распределенной командой, находящейся за рубежом.

Идея стартапа

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

На смартфонах и компьютерах есть доступ в интернет, оплатить услуги — не проблема, но доступа к такой технологии у основного местного населения, к сожалению, нет. Сотовый телефон может только звонить, посылать SMS или USSD-запрос. Последняя возможность использовалась, как точка взаимодействия с сервисом.

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

37coins появились в 2015 году в Калифорнии. Над проектом работали несколько идейных людей из разных концов света.

Подробнее можно почитать на странице википедии:
https://en.wikipedia.org/wiki/37coins

Сотрудничество началось в момент, когда 37coins подняли очередной раунд инвестиций и почувствовали необходимость в Java разработчиках. За помощью они обратились к нам.

Как подбирали команду в CodeInside

Изначально команда на проект 37coins с нашей стороны состояла из продуктового менеджера и двух разработчиков. Команду укомплектовали очень быстро. Работа с иностранными клиентами была для нас в новинку на тот момент, но все испытания и интервью были успешно пройдены и контракт подписан.

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

Основные проблемы стартапов

Так как команда 37coins была распределена по всему миру, были проблемы в самом процессе работы. На тот момент в команде 37 coins не существовало стандартизированной системы разработки и контроля качества.

Что значит “сильно распределенная команда”? Технический руководитель жил на Бали. Директор постоянно летал на встречи с инвесторами, поэтому часто работал прямо из терминалов аэропортов. Над 37coins на момент подписания контракта уже трудилось семь разработчиков, в том числе два программиста из России и два — из Индии.

Мы подключились на этапе, когда уже было написано довольно много кода, но разработка 37coins зачастую делалась в авральном темпе перед заявленными публичными демонстрациями новых функций. В итоге выбирались не самые оптимальные решения, накапливался технический долг, — все это впоследствии влияли на стабильность и скорость работы.

Другие сложности:

  • Не было четко налаженной работы в команде.
  • Не было единой политики управления.
  • Состав команды постоянно менялся.
  • Не было единого центра знаний (Wiki), где был бы описан проект.

В 37coins отдельные знания были у разных членов команды. Больше половины времени каждой задачи уходило на то, чтобы найти человека, который знает, о чем речь и как это работает. Когда детали реализации размазаны по умам людей, невозможно эффективно работать.

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

Функциональность приложения

37coins — это мобильный кошелек, который позволял людям получать доступ к финансовым инструментам со старых телефонов с помощью USSD запросов. Например, можно было использовать кнопочный телефон NOKIA 3310 с ч/б экраном. Оплата проводилась в биткоинах, которые переправлялись с одного кошелька на другой с помощью этих запросов.

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

Для конечного пользователя это был SMS-кошелек. Местные деньги переводились в биткоины и транзакции проводились уже в криптовалюте на стороне веб-сервиса.

Изначально планировалось внедрить сервис на Филиппинах, но потом решили обкатать технологию на деревне в Африке, где с помощью SMS можно было оплатить доставку воды.

Что успели сделать?

Первым делом важно было стандартизировать процесс разработки и коммуникации в коллективе, а также переписать и оптимизировать все, что было разработано на ранних этапах.

Почти в каждом стартапе можно улучшить организацию процессов. Мы помогали не только в разработке, но и в постановке процесса разработки ПО.

По итогу сотрудничества было сделано мобильное приложение под андроид, которое предоставляет доступ к финансовым инструментам (депозитам и кредитам) через USSD запросы.

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

Что использовалось до нас?

В стартапе использовался бесплатный софт для разработки:

  • GitHub как репозиторий.
  • Инструменты для отображения карточек задач (card-wall).

Если решение было не бесплатным, брали пробный период (trial), использовали решение какое-то время. Потом переходили на другие сервисы.

Что мы привнесли?

  1. Мы поделились своим опытом об основном процессе разработки, как правильно планировать спринты и многое другое.
  2. Переписали архитектуру для возможности масштабирования.
  3. Создали Wiki, где описан проект в деталях.

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

Что это дало нам?

Для нас этот опыт был очень важным и убрал барьер коммуникации. Мы поняли, что можем без проблем сотрудничать с иностранными заказчиками. На данном проекте мы обкатали юридическую и финансовую стороны работы с зарубежными компаниями.

Советы стартапам и инвесторам

Общий совет: даже на небольшом стартапе стоит уделить внимание организации инфраструктуры и процессов разработки.

  • Создать единую базу знаний wiki, где будет описан проект.
  • Выбрать инструмент для управления проектом (например, YouTrack).
  • Планировать и соблюдать спринты (при работе по agile).
  • В конце каждой итерации нужно проводить завершающий спринт-митинг, где каждый расскажет, что он сделал, даже если сделана незначительная работа.
  • Периодически делать ретроспективы.
  • Ежедневно проводить стэндап-митинг (короткое совещание).
  • Переводить общение в Slack или Rocket Chat.

Заключение

Каждый стартап — это риск, но многими рисками можно управлять и минимизировать их. Без оптимизации в любом стартапе наступает хаос и переработка, тогда внутренние факторы риска перевешивают любые внешние факторы, от команды не зависящие. Внутри возникают технологический и производственный риски; мы как эксперты помогали их минимизировать. Чем раньше заняться внутренними проблемами, тем больше шансов выйти на следующий уровень и стать компанией, которая самостоятельно себя обеспечивает и может существовать без внешних инвестиций.




Как наладить работу в стартапе?