Компания

7.09.2017

Успех — это командная игра. Sherlock.

Sherlock — система автоматизации такси-бизнеса от принятия и распределения заказов до расчета тарифов и заработной платы водителям. Команда Haulmont начала работу над продуктом Sherlock в 2011 году. На сегодняшний день система используется автопарками в Великобритании, Европе, Америке, Африке, Азии и на Среднем Востоке. Среди пользователей системы — 20 такси-компаний, включая крупных игроков рынка в разных странах мира: LeCab (Франция), МосТакси (Россия), AfriCab (Кот-д’Ивуар), Taxi Electric (Голландия), Central Taxis (Англия) и т.д.

Уникальность команды Sherlock состоит в том, что здесь есть специалисты, которые много лет работали в индустрии такси и затем перешли в технологии, а не наоборот. Имея за плечами непосредственный опыт операционной деятельности в такси-бизнесе, удалось создать программное обеспечение с учетом реальных потребностей отрасли. Решение Sherlock не только автоматизирует распределение заказов до 100%, но и максимально оптимизирует их с учетом разработанной логики:

  • дистанция (расстояние водителя от клиента);
  • время простоя водителя;
  • соответствие типа автомобиля запрошенному сервису (тарифу);
  • предпочтения клиента (например, детское кресло);
  • соответствие класса водителя классу клиента (водителей-новичков не назначают важным клиентам);
  • баны водителей (клиент не хочет получать сервис от конкретного водителя)

и т.д. Это позволяет увеличить количество заказов водителя в среднем на 20-40%. Таким образом, повышается эффективность работы парка и обеспечивается возможность для быстрого роста такси-компаний.

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

Команда разработки

Основная задача команды разработчиков — создавать и развивать продукт Sherlock, который должен работать быстро и надежно в режиме 24/7/365. Команда большая и отвечает за разные аспекты системы: серверная часть, Android и iOS приложения, веб портал и т.д. Разработчики не только пишут код, но и занимаются проектированием и поддержкой, участвуют в развертывании системы на серверах, поддерживают актуальность внутренней и внешней документации, разрабатывают авто-тесты.

Александр Бударов,
Tech Lead проекта Sherlock:

Автоматизация такси намного интересней, чем кажется. Это далеко не скучная рутинная работа с пулеметной выдачей маленьких одноразовых решений: написал, сдал, забыл. Sherlock - это тиражируемое решение, которое может дорабатываться под специфику каждого отдельного заказчика. Любые изменения, вносимые в продукт, не должны нарушать работу системы клиента. С точки зрения разработчика эта задача особенно интересна, так как она требует определенной гибкости: продумать различные подходы реализации и сделать функциональность максимально универсальной и, по возможности, кастомизируемой настройками, а не программным кодом.

Что нужно, чтобы быть разработчиком Sherlock?

  • обладать базовыми знаниями технологий: Java, OOP, основы работы реляционных БД и SQL;
  • быть грамотным инженером, то есть: не бояться разбираться в сложных вещах и постоянно учиться, успевая за идущими вперед технологиями;
  • владеть техническим английским: есть потребность в общении с заказчиками и работе с иностранной документацией;
  • иметь глобальное видение и умение находить практичные и гибкие решения для пользователей системы.

Всему остальному мы научим сами!

Контроль качества

Система Sherlock включает в себя взаимосвязанные модули, которые нуждаются в проверке качества: Android и iOS приложения, веб портал и виджеты для заказов клиентов, телефония, система автоматического распределения заказов, интеграции с провайдерами кредитных карт, SMS и Email нотификации, интеграция с системой отслеживания статуса рейсов для аэропортовых заказов, автоматический подсчет зарплат водителей и т.д. Тестирование осуществляется на Desktop и Web версиях основного приложения, а также на реальных мобильных устройствах и эмуляторах для мобильных приложений.

Юлия Измайлова,
QA Lead проекта Sherlock:

Перед командой тестирования стоят разные задачи. Мы готовим регулярные апдейты клиентов и тестируем расширения для новых кастомных внедрений (разработка под индивидуальные запросы компаний - обычное явление). Мы также применяем регрессионные тесты, написанные на Selenium, что позволяет скинуть часть ручной работы на автоматы. На нас лежит большая ответственность, ведь именно мы контролируем выход новых версий продукта, которыми будут пользоваться тысячи людей (водители, диспетчеры, клиенты такси) по всему миру. Главное для QA специалиста - понять логику и специфику функционирования системы, как она должна работать. Нужно хотеть и уметь разбираться в сложных вещах. Команда — нераспределенная, поэтому при возникновении вопросов можно обратиться к разработчикам и проджект-менеджерам.

Техподдержка клиентов

Команда техподдержки клиентов — лицо продукта и компании. Сотрудники осуществляют связь между миром разработчиков и миром клиентов. Их задача сделать так, чтобы клиенту было приятно и комфортно работать с продуктом и общаться с компанией. Специалисты техподдержки проводят обучение, помогают адаптироваться к новой системе, отвечают на вопросы, успокаивают, умеют слушать и слышать. Каждое внедрение — это большая ответственность. Здесь заложена многомесячная работа всей команды, которую нужно вывести на максимум. Основная задача — сделать переход на систему Sherlock “безболезненным” и быть готовым поддержать клиента на всех этапах запуска.

Анна Пивоварова,
Support Lead проекта Sherlock:

Сотрудник техподдержки: хочет и любит помогать людям, открытый и коммуникабельный, умеет быстро перестраиваться и переводить любую ситуацию в позитивное русло, находит ответы на вопросы и умеет объяснить сложные вещи простыми словами. При этом он сам разбирается в технической составляющей. Знает SQL, пишет скрипты, знаком с Linux и логами, может перезапустить томкат на сервере и т.д. Кроме того хорошо владеет английским и общается с клиентами по всему миру как онлайн, так и вживую. Сотрудники техподдержки выезжают на обучение и внедрение системы к клиентам. Так что если в школе были проблемы с географией, то после работы в команде Sherlock про них можно забыть. Карта мира изучена вдоль и поперек вплоть до городов.

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