Дмитрий Сорокин
Начальник
Управления ИТ-систем
ОАО «ГМК Норильский Никель»

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

Термины «стандартное» и «индивидуальное» программное обеспечение, возможно, выбраны не совсем корректно. Наверно, лучше говорить о готовом (тиражном) или заказном программном обеспечении. Но на Западе приняты именно эти два термина: стандартное ПО и индивидуальное ПО. В интерпретации американцев вопрос выбора между ними звучит так: «Make or Buy?».

Как сейчас на Западе?

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

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

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

Индивидуальное и стандартное ПО в 90-х

О том, какие преимущества стандартного ПО над индивидуальным выдвигались на первый план в 90-е годы, можно судить по приведённой таблице. Рассмотрим более подробно аргументы в пользу стандартного ПО, которые были распространены довольно широко, а кое-где и до сих пор остаются таковыми.

  1. Денежные и временные затраты. Один из главных аргументов сторонников стандартного ПО — более низкие затраты, связанные с приобретением, внедрением и сопровождением, по сравнению с индивидуальным ПО. Стоимость создания распределяется среди всех покупателей программного обеспечения. И вроде бы де-факто принято считать, что стандартное ПО должно быть дешевле. Временные затраты — тоже ниже, ведь разрабатывать ПО не надо, оно уже написано, осталось только внедрить.
  2. Функциональные возможности. Тут тоже все очевидно — стандартное ПО, понятное дело, обладает гораздо большими функциональными возможностями.
  3. Качество и надежность. Опять же говорить не о чем — качество стандартного ПО, над созданием которого работают тысячи программистов и тестировщиков, должно быть заведомо выше.
  4. Сервис и поддержка. Существует масса внедренческих фирм, которые с радостью возьмутся за поддержку вашего стандартного ПО. Если одна фирма исчезнет, найдется другая. Качественная поддержка является одним из важных аргументов стандартного продукта.
  5. Документирование. Здесь снова говорить не о чем, поскольку над документированием стандартного ПО работают тысячи специалистов.
  6. Эргономика. Стандартное ПО потому и называется стандартным, что его интерфейсы в той или иной степени стандартизированы.
  7. Безопасность инвестиций. Это чуть ли не основной козырь сторонников стандартного ПО: если вы покупаете продукт у большой компании, которая существует много лет и у которой масса клиентов и миллиардные обороты, ваши инвестиции надёжно защищены. А если вы закажете разработку у маленькой фирмы, то ещё неизвестно, что с нею будет.

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

Индивидуальное и стандартное ПО сейчас

Преимущества и недостатки индивидуального и стандартного ПО в 90-х
(отмечены соответственно знаком «плюс» и «минус»)

Критерий
Индивидуальное ПО
Стандартное ПО
Денежные затраты
-
+
Временные затраты
-
+
Функциональные возможности
-
+
Качество и стабильность
-
+
Сервис и поддержка
-
+
Документирование
-
+
Эргономика
-
+
Безопасность инвестиций
-
+
Требования к оборудованию
+
-
Возможности настройки
-
+
Отношение пользователя
+
-

Всё изложенное выше верно, но только на уровне 90-х годов. Что же изменилось с тех пор? Давайте посмотрим, как меняется оценка критериев выбора в последнее время.

  1. Денежные затраты. Убежденность в том, что стандартное ПО дешевле, чем индивидуальное, тает на глазах. Существует большое количество примеров, когда стоимость индивидуальных разработок оказывается гораздо ниже, чем стоимость стандартного ПО, особенно в классе «больших ERP». В немалой степени это связано с аппетитами компаний-производителей. Стоимость лицензий на стандартное ПО доходит до многих тысяч долларов за одно рабочее место. Новые лицензионные модели этих компаний не позволяют клиенту приобретать только тот функционал, который ему нужен, — клиенту приходится платить за продукт в целом. Плюс к тому ежегодные отчисления за поддержку лицензий, доходящие до 25 % от первоначальной цены. Добавьте сюда возрастающую рыночную стоимость специалистов по внедрению — все это ведет к росту затрат на стандартное ПО. С другой стороны, если говорить об индивидуальном программном обеспечении, то здесь ситуация несколько иная. Новые технологии позволяют заметно уменьшить денежные и временные затраты на разработку ПО. Известно множество случаев, когда стоимость внедрения стандартного ПО в разы и даже на порядки превышает стоимость разработки индивидуального продукта, служащего тем же целям.
  2. Временные затраты. Считается само собой разумеющимся, что внедрение готового ПО требует гораздо меньшего времени, чем разработка индивидуального. Против данного аргумента свидетельствует, с одной стороны, большое количество проектов внедрения стандартного ПО, затянувшихся на долгие годы, а с другой — значительный прогресс в области технологии и организации создания программного обеспечения, в результате которого цикл разработки заметно сократился.
  3. Функциональные возможности. Сейчас возможностями никого не удивишь. Более того, традиционное преимущество стандартного ПО — широкий спектр функций, позволяющий закрывать любые потребности бизнеса, — как это ни удивительно, в настоящее время превращается в недостаток. Зачем компании избыточные возможности ПО, за которые она должна платить, но которые никогда не будет использовать? Сейчас предприятия хотят приобретать только те инструменты, которые им необходимы. Им не нужен сверхизбыточный функционал стандартного ПО, который никогда не будет использоваться. Индивидуальное же ПО, наоборот, создается для конкретного заказчика и в соответствии с его требованиями. И оно обладает именно теми возможностями, что необходимы пользователю.
  4. Качество, надежность, документация, эргономика и т. п. Еще один непреложный аргумент в пользу стандартного ПО, которое разрабатывается большим коллективом и соответственно характеризуется высочайшим качеством, сейчас наталкивается на прогресс в области разработки ПО. Современные технологии организации труда не стоят на месте и позволяют добиться хорошего качества продукта без заметного увеличения затрат. При этом меньшие возможности индивидуального ПО обуславливают и меньшую вероятность возникновения ошибок. Кроме того, довольно часто индивидуальное ПО оказывается технологически более современным. Крупные стандартные приложения существуют уже многие годы и несут на себе исторический груз устаревшей архитектуры, устаревших методик разработки, которые давно уже являются вчерашним днем, но тем не менее должны поддерживаться, так как этого требует масса имеющихся инсталляций. В стандартном программном обеспечении переход на другие технологии, на более современную архитектуру — это целый процесс. С индивидуальным ПО все наоборот. Оно изначально создается с помощью самых современных технологий, и за счет этого увеличивается его качество и надежность.
  5. Безопасность инвестиций. После того, как оказалось, что затраты, сроки и возможности не являются сильной стороной стандартного ПО, одним из главных аргументов его сторонников стала безопасность инвестиций. Действительно, во времена лавинообразных банкротств ИТ-компаний (на Западе) можно ли быть уверенным, что фирма, разрабатывающая или разработавшая для тебя индивидуальный продукт, завтра не окажется банкротом? Но и тут находятся решения, позволяющие свести такой риск к минимуму, а именно — передача заказчику прав на исходный код индивидуального ПО и хорошая организация процессов разработки. Такой подход может дать заказчику достаточную гарантию сохранности инвестиций. Кроме того, как показывают события последних лет, даже самые известные производители стандартного ПО не могут чувствовать себя абсолютно уверенно — судьбы BAAN, JD Edwards, Peoplesoft тому пример.

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

Индивидуальное и
стандартное ПО в России

В России ситуация в целом похожая. Но помимо вышеприведенных аргументов в пользу стандартного ПО часто приводится еще один довод: как только никому не известная компания ОАО «АБВ» хотя бы прикоснется к непревзойденным высотам ERP-решения знаменитого на весь мир концерна XYZ, возрастет ее инвестиционная привлекательность, ее капитализация и возникнет возможность выхода на западные биржи. Кроме того, конъюнктура рынка сейчас такова, что многие предприятия, особенно в сырьевой области, могут не считать деньги. В последнее время упомянутые аргументы привели к тому, что многие российские предприятия приняли решение внедрять тот или иной стандартный продукт.

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

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

Что нас ожидает?

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

Сейчас ситуация несколько изменилась. И в первую очередь потому, что этой идеей заинтересовалась компания Microsoft. Где-то с 2002 года Microsoft создает свой business framework, который в настоящий момент, насколько мне известно, находится на этапе завершения. Microsoft Business Framework (MBF) — это иерархическая библиотека высокоуровневых программируемых объектов, предназначенных для разработки бизнес-приложений. MBF реализован в виде библиотеки классов .NET и может быть использован при создании приложений в среде Visual Studio. Фактически он представляет собой конструктор, позволяющий быстро создать бизнес-приложение с заданными свойствами. Таким образом стираются грани между стандартным и индивидуальным ПО: индивидуальное бизнес-приложение создается из стандартных кирпичиков. К сожалению, пока неясно, будет ли MBF доступен для разработчиков ПО или останется внутренним инструментом разработки для бизнес-приложений компании Microsoft. Но в любом случае «конструкторы для создания бизнес-приложений» появляются, и остается надеяться, что они-то и окажутся тем средством, которое позволит совместить преимущества стандартного и индивидуального ПО, избавившись от свойственных им недостатков.