Привет, Хабр!

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

Когда SAP, как нам сообщает Википедия, в 1972 году делала первые шаги…

… первый функционал был какой? Бухгалтерский учет. И до сих пор часто SAP начинают внедрять именно с бухучета — там всё относительно понятно, да и о регламенте позаботились «совершенно посторонние люди, не из нашего района».

Что делает любая фирма? Фирма делает деньги. То есть всё, что происходит, отражается на финансовом статусе. Деньги пришли — мы оплатили счет. Сырьё поступило — готовая продукция со склада ушла. Поскребли по сусекам — испекли колобок (т.е. произвели что-нибудь)… ну в общем, привел, бухгалтеры! Вы знаете, о чем я. Это еще итальянцы в XIII веке придумали, до SAP.

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

ERP систем — огромное количество. Больших, маленьких, для разных отраслей… Мне довелось поработать с тремя с половиной, и все три были очень разными. И да, уважаемые любители написать что-нибудь своё, с ERP вам тоже скучать не придется.

Практически всё, что (с точки зрения фирмы-производителя) призвано облегчить жизнь производственному предприятию, имеет бирку ERP. Бог им судья… Я не хочу в этой статье полировать темы типа «в ERP есть система складского учета» — во-первых, она там не всегда есть, (зато кое-где есть система резервирования гостиничных комнат) во-вторых она вас ни к чему не обязывает. Не хотите — пусть ваш кладовщик сам в бухгалтерию складскую ведомость каждый месяц приносит, проблем нет.

Я хотел бы остановиться на том, что нам — по выражению одного коллеги — «дарит» такая система.

Вечная проблема разработчика: какой стек использовать; как вести разработку; где брать разработчиков; которые знают этот стек; к кому обратиться, если всё плохо; как контроллировать качество разработки…

Специфика бизнес-приложений (в дополнение к названному выше): как сделать так, чтобы твоя программа работала через 10 — 20 — 30 лет, да пожалуйста со всеми историческими данными; КАК ПЕЧАТАТЬ (для тех, кто удивился: вывод на печать вообще отдельная тема, в SAP параллельно существуют три движка); как гарантировать консистентность данных.

Хорошая ERP эти проблемы решит за вас. В пылу сражения мы забыли, что SAP — это система разработки (в которой выполнен функционал ERP и много чего еще). Не верите — загрузите себе мини-SAP. Он «голый» — содержит только эту самую систему разработки, сервер, базу данных и клиента. Никакого функционала ERP вы там не найдете. Зато найдете графические дизайнеры таблиц базы данных, свой язык программирования, систему пакетирования для транспортировки программ между системами, дизайнер окон, управление пользователями, правами доступа и т.п. (сейчас меня закидают тухлыми помидорами, ибо в «новом» SAP многое изменилось. Каюсь, каюсь...)

Если для ERP придумали свой язык, то он тоже заточен под этот класс задач. И это всё — чтобы ускорить процесс разработки! (смех в зале)

Да и специалистов по SAP вы всегда найдете — только платить придется. А так — место хлебное… Другое дело если единственный программист на ВАШЕЙ фирме, который за последние 10 лет переписал на Java ну реально все программы от кнопки для открывания двери до системы автоматизации склада, попал под каток. Тут всё плохо, и помочь некому. Зато расходы на IT все эти годы были смешными. Ну да хорошо смеется тот… сами знаете.

Шли годы, SAP обрастал клиентами, а у каждого клиента свои тараканы в голове. Кто-то грузит апельсины бочками, кто-то кредиты дает, а кто-то услуги оказывает. И так получились (1) многоуровневая логика, которую конфигурируют под конкретного клиента; (2) точки входа для программирования в проекте; (3) огромная экосистема из модулей — техническое обслуживание, например, или импорт-экспорт.

А что плохого?
Ну чего греха таить… Код, которому может быть до 30 лет, и который написан по тогдашним канонам, не очень-то приятно поддерживать в XXI веке. Потому и три движка печати. Потому и разные варианты работы с памятью, потому объектно-ориентированный ABAP и «нормальный». Да и вообще куча «старых», «новых» и «совсем новых» технологий. А много есть еще систем, в которых параллельно с новыми работают программы тридцатилетней давности?

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

Как по мне, то большинство проектов терпят неудачу, потому что

  • выбрали не ту ERP
  • не повезло с консультантами
  • не удалось систематизировать то, что происходит на фирме
  • то, что систематизировать удалось, в ERP так не работает, а очень хочется (и изуродовали ERP)
  • сотрудники все равно делали так, как раньше
  • хотели сразу автоматизировать всё на 110%
  • решили, что ERP — это очередная игрушка для айтишников, пусть они внедрением и занимаются

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

На этом позвольте откланяться.

Ваш, m_OO_m

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


  1. apapacy
    19.06.2019 09:35

    Ну и как же реальному директору выбрать «ту ERP» давайте представим ситуацию диркетор, большая нагрузка. Свой ИТ-дтректор педалирует на идею что он сам с пятью программистами разработает ERP на Делфях 5й версии. (А потом он будет не ней качать миллионы) 3й зам по чему-нибудь там которому была поручена найти консультанты/внедренцев/разработчиков ERP нашел и даже педалирует что давайте скорее заключать договор. Но директор чувствует что его заинтересовали материально (А что и капусты срублю и родное предприятия сделаю счастливым) И вогруг роем вьются толпы мальчиков в синих костюмах с жемчужными улыбками маркетологов (Мы ни дня на заводе не были но лучше Вас знаем как решить Ваши проблемы) И вот что же делать этому нашему директору?


  1. ASGAlex
    19.06.2019 18:25

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


    1. apapacy
      19.06.2019 20:06

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


      1. ASGAlex
        19.06.2019 21:06
        +1

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


      1. Jon7
        19.06.2019 22:55

        В вопросах цены тоже есть нюансы. Цена это за что? Если директор элементарный порядок навести не может то тут "любые танцы за ваши деньги", включая наведение элементарного порядка. А вообще у ERP есть один секрет. ERP это прежде всего актуальный справочник, тут главное слово актуальный, на любой момент времени, в любой захудалой кладовке, всегда с записями всё в порядке. ERP наверное у немцев лучше всего работает, у них, похоже, эту дисциплину с детства развивают. Вот если директор способен так организовать работу, ERP проект можно считать успешно реализованным, потому что всё остальное, это наборы отчётов и сервисная надстройка. Причем большинство отчётов
        это абсолютно тривиальные простые списки, начиная от количества полуфабрикатов в цеховой кладовке и заканчивая списком периодичности обслуживания оборудования в цехе. Вот в этих списках в нужное время и в нужном месте вся суть ERP, дальше только автоматизация обработки этих данных на любой вкус и цвет.


        1. apapacy
          19.06.2019 23:27

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