Как Маленькая Программа Превратила Небольшой Офис В Федеральную Компанию С Прибылью 100+ Млн Руб./Мес.

В конце декабря 2008 года меня пригласили в одну из служб такси Перми с целью автоматизировать существующие бизнес-процессы.

В целом передо мной были поставлены три фундаментальные задачи:

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

  • Все нужно было сделать в кратчайшие сроки.

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

На тот момент я не понимал, как работает этот рынок и его нюансы, но тем не менее две вещи для меня были очевидны.

Колл-центр должен быть построен на базе АТС с открытым исходным кодом Asterisk. Обмен информацией между колл-центром и мобильным приложением — это по сути клиент-серверное решение со всеми соответствующими шаблонами проектирования архитектуры будущего проекта и его программирования.

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

Забегая вперед, скажу сразу.

Результатом стала масштабируемая платформа, работающая на более чем 60 серверах в 12 городах России и 2 городах Казахстана.

Общая прибыль компании составила 100+ млн руб.

/мес.



ЭСначала нажмите.

Опытный образец

Поскольку на тот момент у меня не было практического опыта работы в IP-телефонии, а с asterisk я был знаком лишь поверхностно в рамках «домашних» экспериментов, было решено начать работу с разработки мобильного приложения и серверной части.

Параллельно закрывая пробелы в знаниях по другим задачам.

Если бы с мобильным приложением всё было более-менее понятно.

В то время его можно было написать только на Java для простых кнопочных телефонов, а вот написать сервер, обслуживающий мобильных клиентов, было немного сложнее:

  • Какая серверная ОС будет использоваться;
  • Исходя из логики, что язык программирования выбирается под задачу, а не наоборот, и с учетом пункта 1, какой язык программирования будет оптимальным для решения задач;
  • При проектировании необходимо было учесть ожидаемые в будущем высокие нагрузки на сервис;
  • Какая база данных может гарантировать отказоустойчивость при высоких нагрузках и как сохранить быстрое время ответа базы данных при увеличении количества запросов к ней;
  • Определяющим фактором стала скорость разработки и возможность быстрого масштабирования кода.

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

Прежде чем начать работу над проектом, я предложил владельцу бизнеса следующее стратегическое решение: поскольку проект достаточно сложный, его реализация займет заметное количество времени, поэтому сначала я создаю MVP-версию, которая не займет много времени и денег, но которая позволит его компании получить конкурентное преимущество на рынке уже «здесь и сейчас», а также расширит ее возможности как службы такси.

В свою очередь такое промежуточное решение даст мне время более вдумчиво спроектировать окончательное решение и время для технических экспериментов.

При этом внедренное программное решение не будет гарантированно правильно спроектировано и может быть радикально переработано или заменено в будущем, но оно точно будет выполнять минимально необходимый функционал для «оторваний от конкурентов».

Основателю такси идея понравилась, и в конце концов они это сделали.

Первые две недели я посвятил изучению бизнес-процессов в компании, изучению работы такси изнутри.

Провёл бизнес-анализ, где, что и как можно автоматизировать и нужно ли это вообще.

С какими трудностями и проблемами сталкиваются сотрудники компании? Как они решаются.

Как организован рабочий день сотрудников компании.

Какие инструменты они используют? К концу третьей недели, после начала работы и изучения интересующих вопросов в Интернете, учитывая пожелания владельца бизнеса, а также мои собственные на тот момент знания и возможности, было решено применить следующий стек :

  • Сервер базы данных: MsSQL (бесплатная версия с ограничением размера файла базы данных до 4 ГБ);
  • Разработка сервера обслуживания мобильных клиентов на Delphi под Windows, так как уже был Windows-сервер, на котором будет установлена база данных, а также сама среда разработки способствует быстрой разработке;
  • Учитывая низкую скорость интернета на мобильных телефонах еще в 2009 году, протокол обмена между клиентом и сервером должен быть бинарным.

    Это уменьшит размер передаваемых пакетов данных и, как следствие, повысит стабильность работы клиентов с сервером;

Еще две недели были потрачены на разработку протокола и базы данных.

В результате получилось 12 пакетов, обеспечивающих обмен всеми необходимыми данными между мобильным клиентом и сервером и около 20 таблиц в базе данных.

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

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

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

И он сосредоточился на разработке, проектировании и тестировании серверной части.

К концу второго месяца работы над MVP была готова первая версия прототипа сервера и клиента.

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

Что и было сделано.

С этого момента начинается самая интересная и самая сложная часть проекта.

При переходе водителей на новое программное обеспечение было организовано круглосуточное дежурство.

Так как не все могли прийти в рабочее время днём.

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

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

Закон Мерфи говорит нам: «Все, что может пойти не так, пойдет не так».

И именно так всё и пошло не так.

Одно дело, когда я и несколько таксистов тестировали приложение на нескольких десятках тестовых заказов.

И совсем другое дело, когда на линии 500+ водителей работают в режиме реального времени по реальным заказам от реальных людей.

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

Поэтому основное внимание в работе было сосредоточено на серверной части.

Самым критичным глюком в приложении была проблема отключения от сервера при пропадании интернета на телефоне и повторном восстановлении сессии.

И Интернет пропадал довольно часто.

Во-первых, в те годы сам интернет на телефоне был недостаточно стабильным.

Во-вторых, было много «слепых зон», где Интернет просто не работал.

Мы практически сразу выявили эту проблему и в течение 24 часов исправили и обновили все ранее установленные приложения.

На сервере в основном были ошибки в алгоритме распределения заказов и некорректная обработка некоторых запросов от клиентов.

При выявлении глюков я исправил и обновил сервер.

На самом деле технических проблем на этом этапе было не так уж и много.

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

Наверное, 4-5 раз.

И спал я урывками, так как на тот момент я работал над проектом один и никто кроме меня ничего не мог исправить.

Месяц, это не значит, что целый месяц все постоянно глючило и я что-то кодил не останавливаясь.

Мы просто так решили.

Ведь бизнес уже работал и приносил прибыль.

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

Мы все это прекрасно понимали, поэтому вся команда коллективно посвятила максимум внимания и времени внедрению нового программного обеспечения в систему такси.

А учитывая текущий трафик заказов, мы обязательно устраним все недостатки в течение месяца.

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

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

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

И не стали критически увеличивать процент неудалений клиентов, который вскоре вернулся к нормальному уровню.

На этом завершился первый этап работы над проектом.

И надо отметить, что результат не заставил себя долго ждать.

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

Это привело к увеличению количества заказов.

Вслед за этим увеличилось количество таксистов.

В результате увеличилось и количество успешно выполненных заказов.

И в результате прибыль компании увеличилась.

Конечно, здесь я несколько забегаю вперед, так как весь этот процесс произошел не мгновенно.

Сказать, что руководство было приятно, это ничего не сказать.

Мне был предоставлен неограниченный доступ к дальнейшему финансированию проекта.

Продолжение следует. Теги: #ИТ-инфраструктура #Анализ и проектирование систем #разработка приложений #Бизнес-модели #проектирование систем #asterisk #ИТ-системы и технологии

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.