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

Часто такие типовые задачи решают не самые высококвалифицированные сотрудники, что при большом объёме работы может приводить к ошибкам и сбоям, влияющим на скорость выполнения и качество оказываемых работ и услуг.

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

В чем проблема


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

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

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

И даже после того, как к клиенту направится мастер, который подключит его к сети, работникам бэк-офиса нужно будет еще завести нового абонента в самые разные системы — от HelpDesk до биллинга и CRM. И, конечно же, в любой момент может быть допущена ошибка, которая приведет к проблемам в будущем — например, ошибочным списаниям средств или не своевременно выставленным счетам.

Конвейер бизнес-процессов


Избежать подобных проблем можно с помощью автоматизации бизнес-процессов. Для организации работы с заявками используются специальные OMS-системы (Order Management System), а для общего описания бизнес-процессов — инструменты BPM (Business Process Management). В последнем случае описания создаются с помощью утвержденной ISO графической нотации BPMN. Например, процесс записи на прием к врачу, описанный с помощью BPMN может выглядеть примерно так:



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

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

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

Не все так просто


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

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

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

И, наконец, главный минус — это бессмысленность использования отдельного софта для автоматизации без интеграции с другими применяемыми в компании инструментами. Такая интеграция стоит крайне дорого, даже если сама исходная система будет бесплатной. К примеру, BPM-системы не хранят связанные с бизнес-процессами и заявками данные — значит, нужно подключать систему, в которой могла бы размещаться такая информация.

В итоге компани, чей бизнес не связан с разработкой программного обеспечения, просто не могут себе позволить внедрение таких систем и живут по-старому, работая неэффективно и теряя деньги.

Open Source спешит на помощь


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

Поэтому мы разработали новый продукт Гидра OMS — это приложение с открытым исходным кодом, интегрированное с BPM-системой. В нашем случае это опенсорсная BPM система Activiti.

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

Приведем небольшой пример — типичный процесс — запрос на предоставление отпуска. Бизнес-логику такого процесса можно представить следующей BPMN-диаграммой:



Когда бизнес-процесс дойдет до этапа Handle Request, виджет в Hydra OMS отобразит пользователю такую форму:



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

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

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

Скачивайте Гидру OMS с Github, ставьте там звездочки и пишите нам свои пожелания.

Другие статьи от «Латеры»:


Поделиться с друзьями
-->

Комментарии (18)


  1. Diaskhan
    24.05.2016 20:43

    опять активити, это наверное уже второй раз, до этого была суба платформ, интересно как идут продажи!


  1. sshikov
    24.05.2016 21:34

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


    1. dkoplovich
      01.06.2016 14:25

      А вот и не опаньки! Прямо сейчас в Гидру OMS встроен плагин для извлечения информации из RDBMS посредством настраиваемого в конфиге SQL-запроса (маленький нюансик: пока поддерживается только Oracle). И есть два типа лукапа — один в виде обычного комбобокса, а второй для подбора из большого количества вариантов. И можно добавлять свои типы полей и справочного текста.

      Вообще, главной причиной создания Гидры OMS было то, что у всех изученных нами BPMS отсутствует возможность вменяемо настроить/допилить/встроить мастер выполнения «ручных» задач бизнес-процесса, не написав при этом миллиона строк кода на джаве.

      TL;DR: Возможность подгружать на форму задания информацию из внешней системы, необходимую сотруднику для исполнения задачи — критически важная фича Гидры OMS, она уже есть и мы планируем развивать ее дальше.


      1. sshikov
        01.06.2016 15:03

        Видите ли, я не знаю, какие там BPMS вы изучали, а я три с лишним года проработал на IBM BPM. И там можно не просто писать запросы — там полноценный язык программирования, на выбор — либо javascript (Mozilla Rhino) либо чуть посложнее — Java. И формы там допиливаются до любого состояния — с лукапами, с rest запросами, направо и налево. И SQL-запросы пишутся какие угодно, к любой базе. Только все равно получается паршиво.

        В принципе, можно интегрироваться с чем угодно. Но только в принципе.

        Проблема в том, что как только вы начали писать такой код — вашему процессу как раз и будут опаньки, потому что глядя на диаграмму вы больше ничего уже не понимаете. Вы не видите кода, вы не знаете, что он делает, откуда берет и куда кладет данные. Диаграмма больше не отражает почти ничего. И самый лучший, по моему опыту, способ интегрироваться с каким-либо UI, если он вам нужен — это не делать его в BPM системе вообще. Делать где угодно, в каком угодно виде. На любом инструменте.


        1. dkoplovich
          01.06.2016 15:11

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


          1. sshikov
            01.06.2016 15:24

            Вообще-то в тех реальных «адски сложных» бизнес процессах, которые я делал лично и видел, часть BPM была где-то процентов 10 от силы. Ну может иногда 30. А остальные 70 как раз составляли логика UI, и работа с разного рода интеграциями. Поэтому насчет «дешевле» у меня как раз масса вопросов. По той простой причине, что программировать в виде диаграмм в BPM — это ужасно. По сравнению с нормальным процессом разработки на нормальных инструментах — это как в каменный век вернуться.


            1. dkoplovich
              01.06.2016 15:49

              Похоже, вам не повезло :). Если основной геморрой — это UI, а сами процессы несложные и редко меняются, то, конечно, BPMS не нужна и помимо раздолбайства есть только одна причина использования BPM-движка — распил.


              1. sshikov
                01.06.2016 16:32

                Я подозреваю, что все еще хуже ;)

                Вот смотрите — вы нарисовали красивую картинку «Запрос на предоставление отпуска». Выглядит неплохо, если забыть на время, что это — код. И понять можно. А теперь представьте себе процесс, где диаграмм штук скажем 50 (а это не самый крупный, какой я видел и делал), и каждая из них содержит штук 20 и более элементов. И вы допустим разработчик, и пошли вы в отпуск. Все было хорошо, до тех пор, пока вы не вернулись, и не увидели, что процесс кто-то поменял.

                Вот у IBM в этом случае все фигово до безобразия. Диффа нет, merge тоже нет.

                Расскажите, что у вас? Есть ли версионирование процессов, можно ли сделать ветку, можно ли сравнить, что было неделю назад с тем что сейчас, можно ли сделать merge?


                1. dkoplovich
                  01.06.2016 23:23

                  Все что найдете в Activiti – всё ваше :). Конечно же, ничего подобного там нет, остается только ковыряться в XML/YaML-диффах в репозитории и смотреть коммит-логи и трекер.


                  1. sshikov
                    02.06.2016 21:51

                    Ну, кстати Activity — не самый худший вариант. Я бы сказал, что тут имеет место оптимальное разделение обязанностей между движком BPM, и всем остальным (UI, интеграциями, версионированием проекта). В том же случае IBM BPM это например не так. Коммит-логов в нормальном виде там кстати тоже нет (((


  1. Kan70
    28.05.2016 17:29

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

    А пример приведен на английском языке, так сказать чтобы было понятно :)


    1. dkoplovich
      01.06.2016 14:42

      Сорян, но сайт, документация и демоверсия пока только на английском. Тем не менее, интерфейс имеет русскую локализацию, она включается в конфиге.


  1. nachit
    28.05.2016 17:29

    А онлайн демо-версии нет? Или видеодемонстраций, уроков?


    1. dkoplovich
      01.06.2016 14:44

      http://hydra-oms.com, там на главной кнопка Try Demo. Видеоуроков пока нет, но пошаговое описание настройки бизнес-процесса есть в документации.


  1. mgis
    28.05.2016 17:29

    Ребята поясните как это использовать с CRM системой, или допусти с 1с УТ.
    Не совсем понял, сути.


    1. dkoplovich
      01.06.2016 14:49

      1) Встраиваешь BPM-виджет в CRM.
      2) Настраиваешь бизнес-процессы.
      3) Запускаешь бизнес-процессы прямо из CRM. Мастер выполнения БП появляется, например, в виде всплывающих окон.
      4)…
      5) Профит.


      Не уверен, можно ли это встроить в 1С, если речь не о веб-интерфейсе :).


  1. fivec
    28.05.2016 17:29

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


    1. dkoplovich
      01.06.2016 14:57

      Есть два способа синхронизации НСИ. Первый — вручную (варианты выбора зашиваются в конфиге мастера). Понятно, что это для редко обновляемой информации. Второй способ — вообще не синхронизировать информацию, а подсасывать ее на лету из внешней системы в момент рендеринга формы. Так работает сейчас интеграция OMS с обычной Гидрой (биллингом).