[Перевод] Что такое SAP?
Что такое SAP? И с какого лешего она стоит $163 миллиарда?
Каждый год компании тратят $41 млрд на софт для планирования корпоративных ресурсов, известный под аббревиатурой ERP. Сегодня практически в каждом крупном бизнесе внедрена та или иная ERP-система. Но большинство маленьких компаний обычно не покупают ERP-системы, а большинство разработчиков, вероятно, и не видели их в деле. Так что у тех из нас, кто не использовал ERP, возникает вопрос… в чём прикол? Как компания вроде SAP умудряется продавать ERP на $25 млрд в год?
И как получилось, что 77% мировой торговли, в том числе 78% поставок продуктов питания, проходит через программы SAP?
ERP — то место, где компании хранят основные операционные данные. Мы говорим о прогнозах продаж, заказах на покупку, складских запасах, а также о процессах, которые срабатывают на основе этих данных (например, выплаты поставщикам при оформлении заказов). В некотором смысле ERP является «мозгом» компании — она хранит все важные данные и все действия, которые инициируются этими данными в рабочих процессах.
Но прежде чем полностью захватить современный мир бизнеса, как вообще появилось это программное обеспечение? История ERP начинается с серьёзной работы по автоматизации офисной деятельности в 1960-е годы. Ранее, в 40-е и 50-е годы происходила главным образом автоматизация механической работы «синих воротничков» — вспомните General Motors, создавшую свой отдел автоматизации в 1947 году. А вот автоматизация работы «белых воротничков» (часто с помощью компьютеров!) началась в 60-е.
Первыми бизнес-процессами, которые автоматизировали с помощью компьютеров, стали расчёт зарплаты и выставление счетов. Раньше целые армии офисных работников вручную подсчитывали часы работы сотрудников в бухгалтерских книгах, умножали на почасовую ставку, затем вручную вычитали налоги, вычеты на пособия и так далее… всё это только для того, чтобы посчитать зарплату за один месяц! Этот трудоёмкий, повторяющийся процесс был подвержен человеческим ошибкам, при этом он идеально подходит для компьютерной автоматизации.
К 60-м годам многие компании для автоматизации расчёта зарплаты и выставления счетов использовали компьютеры IBM. Процессинг данных —устаревший термин, от которого осталась только компания Automatic Data Processing, Inc. Вместо него сегодня мы говорим «ИТ». Тогда ещё не сформировалась отрасль разработки программного обеспечения, поэтому в отделы ИТ часто брали аналитиков и учили их программировать на месте. Первый в США факультет Computer Science открыл университет Пердью в 1962 году, а первый выпуск по специальности состоялся спустя несколько лет.
Написание программ для автоматизации/обработки данных в 60-е годы было сложной задачей из-за ограничений памяти. Не было ни языков высокого уровня, ни стандартизированных операционных систем, ни персональных компьютеров — только большие дорогие мейнфреймы с небольшим объёмом памяти, где программы запускались на катушках магнитной ленты! Программисты часто работали с компьютером по ночам, когда он был свободен. Для компаний вроде General Motors обычным делом было писать собственные операционные системы, чтобы получить максимальную отдачу от своих мейнфреймов.
Cегодня мы запускаем прикладное программное обеспечение в нескольких стандартных операционных системах, но такого не было до 1990-х гг. В средневековую эпоху мейнфреймов 90% всего программного обеспечения писалось на заказ, и только 10% продавалось в готовом виде.
Такая ситуация глубоко повлияла на то, как компании развивали свои технологии. Некоторые предполагали, что будущее за стандартизированным оборудованием с неизменной ОС и языком программирования, как система SABRE для авиационной промышленности (которая используется до сих пор!) Большинство компаний продолжали создавать собственное полностью изолированное программное обеспечение, часто изобретая велосипед.
В 1972 году пять инженеров уволились из IBM, чтобы заключить контракт на поставку программного обеспечения с крупной химической фирмой под названием ICI. Они основали новую компанию под названием SAP (Systemanalyse und Programmentwicklung или «системный анализ и разработка программ»). Как и большинство разработчиков программного обеспечения в то время, они в основном занимались консалтингом. Сотрудники SAP приходили в офисы клиентов и разрабатывали софт на их компьютерах, в основном, для управления логистикой.
Бизнес шёл хорошо: SAP закончила первый год с выручкой в 620 тыс. марок, что чуть больше $1 млн в сегодняшних долларах. Вскоре они начали продавать своё программное обеспечение другим клиентам, портируя его на различные операционные системы, когда это было необходимо. За следующие четыре года у них появилось более 40 клиентов, доход вырос в шесть раз, а число сотрудников увеличилось с 9 до 25. Может, это далековато от кривой роста T2D3, но будущее SAP выглядело оптимистично.
Программное обеспечение SAP было особенным по нескольким причинам. В то время большинство программ работало по ночам и печатало результат на бумажных лентах, которые вы проверяли на следующее утро. Вместо этого программы SAP работали в режиме реального времени, причём результат выводился не на бумагу, а на мониторы (которые в то время стоили около $30 тыс.).
Но самое главное, программное обеспечение SAP изначально создавалось расширяемым. В первоначальном контракте с ICI компания SAP не создавала программное обеспечение с нуля, как было принято в то время, а писала код поверх предыдущего проекта. Когда SAP выпустила своё программное обеспечение для финансового учёта в 1974 году, то изначально планировала в будущем писать поверх него дополнительные программные модули и продавать их. Такая расширяемость стала определяющей особенностью SAP. В то время взаимодействие между клиентскими контекстами считалось радикальной инновацией. Программы писались с нуля для каждого клиента.
Когда SAP представила свой второй программный модуль для производства в дополнение к первому финансовому модулю, эти два модуля смогли легко взаимодействовать друг с другом, поскольку у них была общая база данных. Такая интеграция сделала сочетание модулей значительно более ценным, чем просто две программы по отдельности.
Поскольку ПО автоматизировало определённые бизнес-процессы, его влияние в значительной степени зависело от доступа к данным. Данные заказа на закупку хранятся в модуле продаж, данные по запасам продукции хранятся в модуле склада и т. д. И поскольку эти системы не взаимодействуют, их регулярно нужно синхронизировать, то есть сотрудник вручную копировал данные из одной базы в другую.
Интегрированное ПО решает эту проблему, облегчая коммуникацию между системами компании и позволяя новые виды автоматизации. Такого рода интеграция — между различными бизнес-процессами, а также источниками данных — является ключевой особенностью ERP-систем. Это стало особенно важным по мере развития аппаратного обеспечения, что открывало новые возможности автоматизации — и системы ERP процветали.
Скорость доступа к информации в интегрированном ПО позволяет компаниям полностью изменить свои бизнес-модели. Компания Compaq с помощью ERP внедрила новую модель «производство по заказу» (то есть сборка компьютера только после явного получения заказа). Эта модель экономит деньги, уменьшая складские запасы, полагаясь на быстрый оборот — именно то, в чём помогает грамотная ERP. Когда IBM последовала тому же примеру, то сократила время доставки комплектующих с 22-х до трёх дней.
Слова «корпоративное программное обеспечение» никак не ассоциируется с модным и удобным интерфейсом, и SAP не исключение. Базовая установка SAP содержит 20 000 таблиц БД, 3000 из которых являются таблицами конфигурации. В этих таблицах около 8000 конфигурационных решений, которые нужно принять ещё до начала работы программы. Вот почему SAP Configuration Specialist — это реальная профессия!
Несмотря на сложность настройки, программное обеспечение SAP ERP обеспечивает ключевую ценность — широкую интеграцию между собой нескольких бизнес-процессов. Эта интеграция приводит к тысячам вариантов использования в организации. SAP организует эти варианты использования в «транзакциях», которые представляют собой бизнес-действия. Некоторые примеры транзакций включают «создание заказа» и «отображение клиента». Эти транзакции организованы в формате вложенного каталога. Таким образом, чтобы найти транзакцию «Создать заказ на продажу», вы идёте в каталог «Логистика», затем «Продажи», затем «Заказ», и там найдёте фактическую транзакцию.
Если назвать ERP «браузером транзакций», то это будет удивительно точным описанием. Он очень похож на браузере, тут есть кнопка «Назад», кнопки зуммирования и текстовое поле для кодов «TCodes», эквивалент адресной строки в браузере. SAP поддерживает более 16 000 типов транзакций, поэтому навигация по дереву транзакций может быть сложной без этих кодов.
Несмотря на головокружительное количество доступных конфигураций и транзакций, у компаний всё равно встречаются уникальные варианты использования, им нужно тонко настраивать свои действия. Для обработки таких уникальных рабочих процессов у SAP есть встроенная среда программирования. Вот как работает каждая часть:
Данные
В интерфейсе SAP разработчики могут создавать собственные таблицы БД. Это реляционные таблицы как обычные базы SQL: столбцы различных типов, внешние ключи, ограничения значений, а также разрешения на чтение/запись.
Логика
SAP разработала язык под названием ABAP (Advanced Business Application Programming, первоначально Allgemeiner Berichts-Aufbereitungs-Prozessor, по-немецки «общий процессор создания отчётов»). Он позволяет разработчикам запускать индивидуальную бизнес-логику в ответ на определённые события или по расписанию. ABAP — это язык с богатым синтаксисом, здесь примерно втрое больше ключевых слов, чем в JavaScript (см. реализацию игры 2048 на языке ABAP). Когда вы написали свою программу (в SAP есть встроенный редактор для программирования), то публикуете её как собственную транзакцию, вместе с индивидуальным кодом TCode. Можете настроить существующее поведение с помощью обширной системы хуков, которые называются «бизнес-надстройками» (add-ins), где программа настраивается для запуска при выполнении определённой транзакции — аналогично триггерам SQL.
UI
SAP также поставляется с конструктором для создания UI. Он поддерживает драг-н-дроп и поставляется с удобными функциями, такими как сгенерированные формы на основе таблицы БД. Несмотря на это, его довольно трудно использовать. Моя любимая часть конструктора — рисование столбцов таблицы:
ERP стоит недёшево. Крупная транснациональная корпорация может потратить на внедрение от $100 млн до $500 млн, включая $30 млн лицензионных платежей, $200 млн за консалтинговые услуги, остальное на аппаратное обеспечение, обучение менеджеров и сотрудников. Полное внедрение занимает от четырёх до шести лет. Генеральный директор крупной химической компании сказал: «Конкурентное преимущество в отрасли получит фирма, которая сможет лучше и дешевле провести работы по внедрению SAP».
И дело не только в деньгах. Внедрение ERP — рискованное предприятие, и результаты сильно отличаются. Одним из успешных кейсов считается внедрение ERP в Cisco, которое заняло 9 месяцев и $15 млн. Для сравнения, внедрение в корпорации Dow Chemical стоило $1 млрд и заняло 8 лет. ВМФ США потратил $1 млрд на четыре различных проекта ERP, но все потерпели неудачу. Аж 65% руководителей считают, что внедрение ERP-систем несёт «умеренный шанс повредить бизнесу». Такое нечасто услышишь при оценке программного обеспечения!
Интегрированная природа ERP означает, что для её внедрения требуются усилия компании целиком. А поскольку компании получают выгоду только после повсеместного внедрения, это особенно рискованно! Внедрение ERP — не просто решение о покупке: это обязательство изменить свои методы управления операциями. Установка программного обеспечения — это легко, перенастройка рабочего процесса всей компании — вот где основная работа.
Для внедрения у себя ERP-системы клиенты часто нанимает консалтинговую фирму, такую как Accenture, и платят ей миллионы долларов за работу с отдельными бизнес-подразделениями. Аналитики определяют, как интегрировать ERP в процессы компании. И как только интеграция начинается, компания должна начать обучение всех сотрудников, как использовать систему. Gartner рекомендует резервировать 17% бюджета только на обучение!
Несмотря на все трудности, большинство компаний из списка Fortune 500 внедрили ERP-системы к 1998 году: процесс ускорился страхом Y2K. Рынок ERP продолжает расти и сегодня превышает $40 млрд. Это один из крупнейших сегментов в мировой индустрии программного обеспечения.
Крупнейшими игроками являются Oracle и SAP. Хотя обе являются лидерами рынка, их ERP-продукты удивительно отличаются. Продукт SAP был в основном построен внутри компании, в то время как Oracle агрессивно скупила конкурентов, таких как PeopleSoft и NetSuite.
Oracle и SAP настолько доминируют, что даже Microsoft использует SAP вместо своего собственного ERP-продукта Microsoft Dynamics.
Поскольку в большинстве отраслей довольно специфические потребности в ERP, у Oracle и SAP есть готовые конфигурации для многих отраслей, таких как пищевая, автомобильная и химическая, а также вертикальные конфигурации, такие как процессы организации продаж. Тем не менее, всегда остаётся место для нишевых игроков, которые, как правило, ориентируются на конкретную вертикаль:
- Ellucian Banner для университетов
- Infor и McKesson предлагают ERP для организаций здравоохранения
- QAD для производства и логистики
Вертикальные ERP специализируются на интеграциях и рабочих процессах, специфичных для целевого рынка: например, в ERP для здравоохранения могут поддерживать протоколы HIPAA.
Однако специализация — не единственная возможность найти свою нишу на рынке. Некоторые стартапы пытаются вывести на рынок более современные программные платформы. Примером может служить Zuora: она предлагает возможность интеграции (с разными ERP!) по подписке. Стартапы вроде Anaplan и Zoho предлагают то же самое.
В 2019 году SAP чувствует себя прекрасно: в прошлом году выручка составила €24,7 млрд, а рыночная капитализация сейчас превысила €150 млрд. Но мир программного обеспечения уже не тот, что раньше. Когда SAP впервые появилась, данные были изолированы и трудно интегрировались, так что хранение всего этого в SAP казалось очевидным ответом.
Но теперь ситуация быстро меняется. У большинства современных корпоративных программ (например, Salesforce, Jira и т. д.) есть бэкенд с хорошими API для экспорта данных. Формируются озёра данных: например, Presto облегчает соединение между собой баз данных, невозможное всего несколько лет назад.