История SGMsoft

[English version]

Я – Сергей Шурыгин, основатель и директор SGMsoft, и в этой статье я хотел бы поделиться с вами историей компании.

Идея создания ИТ-бизнеса пришла не сразу. К 2013 я уже 5 лет работал в ОТП Банке, где руководил внедрением и развитием интернет-банка для физлиц и технологий кредитных карт. Хотелось испытать свои силы в чем-то еще, освоить новые компетенции. И летом 2013, после того как я столкнулся с удручающе низким уровнем сервиса, пытаясь заказать доставку букета, я решил создать лучший на рынке Москвы интернет-магазин по доставке цветов и купил переживающий нелегкие времена Buket.ru. Работы было много: необходимо было создать мастерскую, службу доставки, заменить весь каталог и тотально автоматизировать все процессы, чтобы у каждого сотрудника (флориста, оператора КЦ, курьера, директора и владельца) в нужный момент была вся необходимая для принятия решений информация, например:

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

Проанализировав существующие на рынке решения (1С, Bitrix, разнообразные CRM и сервисы автоматизации маркетинга), я пришел к интересному выводу: каждая из систем умела немного нужного, много ненужного, требовалась их интеграция между собой, и значительная доработка сверх их штатного функционала. Несмотря на относительно быстрый и недорогой первичный запуск с реализованными ~70% требований, запуск второй итерации, реализующий еще +20%, уже требовал привлечения квалифицированных специалистов по каждой из систем и инвестиций, сравнимых с затратами на первую итерацию, а оставшиеся 10% вообще не ложились на их архитектуру, и предлагалось либо отказаться от них, либо реализовать их в виде маленькой “самописной” системы, интегрировав ее с остальными.

Идти на компромисс и откладывать наиболее сложные требования на потом очень не хотелось, так как на зрелом рынке каждый из лидеров уже имеет хорошую автоматизацию, и эти сложные 10% как раз и являются одним из их конкурентных преимуществ, позволяющим компактной командой справляться с большим количеством заказов. И было бы наивно надеяться на успешную конкуренцию с более крупными игроками, имея слабые технологии, учитывая еще и более высокую себестоимость цветка для нас (из-за меньшего объема закупок).

Параллельно изучал вариант #2 с полностью индивидуальной разработкой интернет-магазина и CRM на едином ядре одной командой. Как основу рассматривал две топовых веб-технологии: Php-фреймворк Yii2 для серверной части, и JavaScript-фреймворк AngularJS для CRM в форме SPA1, так как она обещала максимальную продуктивность сотрудников (благодаря лучшему отклику интерфейса системы).

Сравнив сроки внедрения и ТСО2 вариантов, я пришел к неожиданному выводу: индивидуальная разработка по полному ТЗ стоила более чем в 3 раза дешевле, а внедрялась примерно в 2 раза быстрее варианта #1 и при этом гарантировала реализуемость всего нужного функционала. Причем при увеличении масштаба проекта или расширении горизонта планирования эта разница увеличивалась.

Есть две важные особенности коробочных продуктов:

  • готовые системы – “заложники” своей бизнес-архитектуры, которая не всегда подходит конкретному бизнесу, в то время как кастомизация, не поддержанная архитектурой, может быть не только очень дорогой, но даже вызывать сопротивление со стороны разработчиков системы, так как по сложности зачастую будет выходить за границы их компетенции (будете все чаще слышать “невозможно”, который в устах программиста обычно означает “не знаю как, но если очень нужно, буду разбираться”);
  • “коробка” обычно является результатом обобщения многолетнего опыта внедрения системы, написанной, соответственно, на технологиях 4-6-летней давности, которые значительно менее эффективны для создания большого объема нестандартного функционала, чем современные open source платформы. И чем крупнее “готовая” система, тем сильнее ее технологическое отставание.

И при необоснованном использовании готовых систем в проектах с большим объемом нестандартных требований и решительным намерением заказчика продолжать “тюнинг” под свой бизнес, эти особенности могут обусловить перерасход бюджета в десятки раз, по сравнению с заказной разработкой (с учетом затрат на их интеграцию и сопровождение результирующего “зоопарка” систем).

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

Поэтому до осени 2014 разработка велась на аутсорсинге, причем довольно долго мы искали ответственного ИТ-партнера с хорошей компетенцией в веб-разработке: пришлось сменить двух подрядчиков, прежде чем на проекте сформировалась устойчивая фрилансовая команда, и качество/сроки стали предсказуемыми. Причем аналитику пришлось взять на себя: из-за отсутствия платежеспособного спроса на работы по управлению требованиями в небольших проектах, у компактных ИТ-команд традиционно слабо развита компетенция самостоятельного проектирования функционала приложений на основе целевых бизнес-процессов и управления рисками изменения требований. Это может приводить к многократным доработкам и переработкам бизнес-логики и свести на нет всю экономию от невысокой стоимости таких команд, по сравнению с более дорогими подрядчиками с толковыми аналитиками-технологами. Но трудности поиска партнера, с которыми пришлось столкнуться на этом этапе, помогли осознать, что ниша квалифицированных ИТ-партнеров, заинтересованно подходящих к решению бизнес-проблем своих клиентов, еще достаточно свободна.

Поворотный момент в самоидентификации произошел осенью-зимой 2014 с падением рубля, когда стоимость часа разработки российских программистов в долларах упала в 2 раза, и они стали более конкурентоспособны на мировом рынке. Появился шанс воплотить в жизнь мечту: собрать команду одержимых кодеров и стать частью идущей технологической революции на мировом рынке заказного ПО, помогая различным бизнесам строить системы, индивидуально спроектированные точно под их нужды, при этом значительно дешевле, чем при использовании старых технологий. Фрилансовая команда была принята в штат и выведена под отдельный бренд SGMsoft. При этом навыки и опыт создания CRM для Buket.ru и других похожих проектов за плечами ребят оказались настолько востребованными, что за 1,5 года прибыльность ИТ-бизнеса в 4 раза превысила цветочный, а команда увеличилась до 12 человек, запустив проекты с заказчиками из США, Канады, Гонконга. И летом 2016 я принял решение покинуть ОТП Банк, чтобы полностью посвятить себя развитию SGMsoft.

Наряду с работой над текущими проектами, мы уделяем большое внимание испытанию новых open source технологий (в том числе продвигаемых Google), которые ускоряют кросс-платформенную разработку и обработку больших объемов данных. За последний год мы включили в свой портфель инструментов гибридные мобильные приложения, изоморфные веб-приложения и NoSQL базы данных3. Наш следующий шаг – принести пользу более крупным компаниям за счет использования новых Enterprise-решений для Big Data c кластерным распределением нагрузки и плавным горизонтальным масштабированием на бюджетном “железе”, с ТСО в 3-4 раза ниже, чем у решений на стэке Oracle/Java.

Мы активно растем и открыты для сотрудничества и новых проектов любой сложности, где будет востребован наш отраслевой опыт:

  • проектирования банковских процессов и процессов МФО, автоматизации всего жизненного цикла кредитных продуктов – от заявок на кредит и обслуживания в кол-центре до работы с долгами; мы будем рады предложить не только услуги по заказной разработке ПО, но и содействие в разработке концепции и процессной архитектуры новых продуктов и услуг;
  • создания интернет-банков в форме современных веб- и мобильных приложения: от разработки процессов до запуска платформы;
  • проектирования и разработки систем электронной коммерции (интернет-магазинов, порталов, маркетплейсов) со сложным биллингом (покупатель->агрегатор->продавец), автоматизацией складского учета, служб доставки, кол-центра и отчетности с надлежащим разделением учетных и отчетных компонентов системы с построением отдельных витрин данных под ресурсоемкую отчетность.

Буду рад ответить на вопросы о нашем опыте, обсудить концепцию и возможную архитектуру Вашего проекта и оперативно дать предварительную оценку сроков и стоимости внедрения – напишите нам на [email protected] или позвоните по телефону +7 499 110 6856.


1 Single Page Application (SPA) – веб-приложение, загружающее JavaScript-код и статические части страницы один раз, и в течение всей сессии загружающее только изменяющиеся данные – таким образом объем данных, передаваемых между рабочим местом сотрудника и сервером значительно падает, а скорость работы и отклика приложения существенно возрастает, по сравнению с подходом, когда веб-страницы обновляется по запросу с клиента. Подход особенно востребован в бизнес-приложениях, где обмен данными часто инициируется сервером.

2 Total Cost of Ownership (ТСО) – стоимость владения системой на определенном горизонте планирования (например, 3 года), состоящая из стоимости первичного внедрения, последующих доработок, лицензионных отчислений, обслуживания и оборудования.

3 Гибридам и NoSQL я посвящу отдельные публикации, а по изоморфам есть замечательная статья ребят из Тинькофф Банка.