10 ноября 2025 г.

Амир Хасанов

Когда организация решает внедрить новый программный продукт, перед ней встает выбор: приобрести готовое коробочное решение или инициировать индивидуальную разработку под свои задачи. О преимуществах и недостатках обоих подходов рассказывает Амир Хасанов, эксперт по интеграционным решениям «Мобиус Технологии».

Вопросы интеграции

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

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

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

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

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

Вопросы гибкости

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

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

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

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

Коробочные решения обеспечивают относительно быстрый запуск, снижают риски по технической поддержке и, как правило, требуют меньших инвестиций. Но когда оказывается, что функциональность не совпадает с потребностями компании, возникает вопрос: можно ли адаптировать свои внутренние процессы под предложенный функционал? Если да — компания экономит ресурсы. Если нет — приходится заказывать разработку «под себя». Это обходится дороже и требует больше времени до получения результата.

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

Вопросы технической поддержки

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

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

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

У заказчика в таком случае меньше возможностей повлиять на ситуацию. Даже если исполнитель выбран осознанно и на основе тщательного анализа, нельзя исключать риски: например, если из компании подрядчика уйдут ключевые разработчики, которые реализовали системы для заказчика, или изменятся внутренние приоритеты.

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

Вопросы дублирования функций

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

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

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

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

Вопросы сроков и скорости внедрения

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

Иначе обстоит дело с индивидуальной разработкой. Создание программного обеспечения с нуля может растянуться на месяцы, а порой и годы. За это время бизнес-процессы компании могут измениться, а ИТ-ландшафт существенно обновиться. В результате есть риск, что готовый продукт не будет соответствовать новым реалиям на 100%. Это влечет за собой новые расходы и откладывание старта.

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

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

Источник: Амир Хасанов, эксперт по интеграционным решениям «Мобиус Технологии»