Рубрики

О журнале

Соцсети

Напишите нам

IT-разработка «внутри» или готовое решение: что выбрать

Поделиться • 24 февраля 2025

IT-разработка «внутри» или готовое решение: что выбрать

IT-разработка «внутри» или готовое решение: что выбрать

Алексей Петухов
Александр Овчинников

Текстов: Алексей Петухов, CEO Programming Store; Александр Овчинников, директор по развитию Programming Store.

Фото: Jiawei Zhao/Unsplash


До 2022 года на заказную разработку на внутреннем рынке приходилось около 70% продаж сервисных компаний и до 20% — продуктовых, а по итогам 2023 года — 28,9% и 7,4% соответственно. Стоит ли IT-компании разрабатывать ПО с нуля или пойти по более простому пути и купить готовое решение? Оптимальный выбор зависит от конкретных целей, ресурсов и ограничений компании. Об этом рассказали «Инк.» руководители IT-компании Programming Store: CEO Алексей Петухов и директор по развитию Александр Овчинников.

Объем продаж услуг по заказной разработке в 2023 году составил около 205 млрд руб., что примерно на 22% ниже, чем за 2022 год. В то же время некоторые компании (особенно в крупном корпоративном сегменте, enterprise) до сих пор предпочитают создавать ПО с нуля, поскольку для специфических задач часто недостаточно универсальных решений.

Свое ПО

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

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

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

  • Высокая цена. Речь не только о разработке, но и о последующем владении. Также есть вероятность перерасхода бюджета, если не учтены все риски и этапы проекта. Как с автомобилем: его можно купить, но потом потребуется заправка, обслуживание, ремонт. С ПО ситуация аналогичная — поддержка, обновления, устранение ошибок и масштабирование потребуют значительных затрат, которые могут быть выше стоимости самой разработки.
  • Проблемы с поиском разработчиков. В условиях дефицита квалифицированных кадров на рынке недостаточно специалистов, готовых работать в нетехнологичных компаниях. Большинству заказчиков очень сложно найти разработчиков высокого уровня по средней цене. Придется либо переплачивать, либо готовиться к долгому поиску «нужных» людей, либо соглашаться на «бюджетных» специалистов. У таких программистов может не быть достаточных компетенций для разработки концепции и проектирования решения, user-story (краткое и понятное описание функциональности с точки зрения конечного пользователя. — Прим. ред.), понимания, каким должен быть продукт, на каких технологиях его лучше и быстрее реализовывать. А если процессы разработки в компании не налажены, то результатом может стать продукт низкого качества, «прибитый гвоздями» и не готовый к масштабированию.
  • Нет долгосрочного планирования. Компании фокусируются на текущих потребностях, не учитывая целевую архитектуру на несколько лет вперед, потенциальный рост всего предприятия или отдельного направления, под которое создается продукт. Как результат — решение «на сейчас» не справляется с масштабированием, когда компания вырастает в 10 раз. Например, на производстве пищевой продукции из-за проектирования без прицела на масштабирование возникли ошибки с данными в базе. Чтобы их починить, требовалось остановить работу предприятия на сутки. Это было невозможно, а проект миграции на новое ПО обошелся очень дорого. 
  • Устаревающие технологии. Стек устаревает или перестает развиваться; специалистов для поддержки выбранной платформы трудно найти; продукт не масштабируется из-за морально устаревших технологий.
  • Недостаточное внимание к архитектуре решения. Архитектура должна учитывать рост нагрузки и масштаба бизнеса, иначе затруднены поддержка, модернизация и финансирование обновлений. Например, одна торговая сеть с франчайзинговыми точками в разных городах России работала в единой базе посредством RDP (Remote Desktop Protocol, протокол удаленного рабочего стола). Даже минимальные доработки требовали остановки системы, что стоило компании огромных денег.

Решения «из коробки»

А вот несколько преимуществ готового сервиса.

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

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

  • Отсутствие нужных продуктов. Особенно это касается высокоспециализированных отраслей, которым нужен совершенно новый сервис, а также компаний, использующих нестандартные форматы данных. В таком случае остаются либо собственная разработка, либо компромиссные варианты донастройки. Например, если в SAP предлагают подстраиваться под их систему, то 1С традиционно дорабатывала свои решения под заказчика (но рынок мотивирует даже 1С сейчас все чаще использовать стандартный подход на корпоративном рынке из-за стоимости владения).
  • Ограниченная функциональность. В 70% случаев ПО не подойдет идеально под конкретные бизнес-процессы. Придется либо жертвовать функциональностью; либо кастомизировать готовое решение (за доплату); либо менять структуру работы. Впрочем, зачастую бизнес-процессы, заложенные в решение и опробованные на сотнях или тысячах предприятий, оптимальнее, чем те, что используются в компании.
  • Невозможность управления продуктом. Компания может выбрать готовый сервис, но обнаружить, что не может самостоятельно им управлять.
  • Остановка поддержки продукта. Если продукт был создан стартапом, существует риск, что производитель прекратит поддержку из-за недостаточной финансовой устойчивости.
  • Политические и технологические риски. Отключение доступа из-за социально-политической обстановки, особенно к зарубежному поставщику. Кроме того, устаревание технологий решения может сделать продукт непригодным к использованию.

Риски безопасности. Например, готовое решение не выгружает данные (on-premise) на собственные сервера компании. Можно потерять коммерческую информацию или остановить бизнес при неполадках с интернет-соединением. Облачные сервисы не подходят, если в компании закрытый IT-контур. Также для госсектора и крупных предприятий могут быть и ограничения по использованию определенного ПО.

Семь советов предпринимателям

Вот общие правила, которые помогут не ошибиться.

  • Проанализируйте, есть ли на рынке подходящие вам сервисы, готовы ли вы адаптировать свои бизнес-процессы под стандартное ПО, доверяете ли вы производителю этих решений. А также оцените, какой бюджет потребуется на разработку, внедрение и поддержку. От ответов на эти вопросы зависит выбор.
  • Когда нужных готовых решений нет или они критично не подходят по стоимости доработки или компетенциям разработчиков; если вы уверены в своих силах или привлекаете надежных партнеров, есть смысл задуматься о собственной разработке.
  • Тщательно проверяйте поставщиков. Изучите репутацию компании, которая предоставляет продукт: кейсы, отзывы клиентов и референсы. Оцените долгосрочную устойчивость поставщика: его планы по развитию и финансовую стабильность. Проанализируйте используемые технологии и их актуальность.
  • Если ПО требует внедрения или доработок, важно согласовать и зафиксировать в договоре конкретную команду, которая будет заниматься проектом. Разными специалистами один и тот же продукт может быть внедрен совершенно по-разному. Например, внедрение ERP-системы может стать либо успешным, либо провальным в зависимости от компетенции команды даже у одного подрядчика.
  • Важна гибкость в подходах к разработке и внедрению как собственного, так готового продукта. Например, взаимодействие с подрядчиком на основе Time and Material (заказчик оплачивает не фиксированную стоимость, а часы работы специалистов. — Прим. ред.) позволяет корректировать требования и развивать продукт вместе с бизнесом. Он предпочтительнее Fixed Price (фиксированная стоимость за весь проект. — Прим. ред.), поскольку можно оперативно адаптироваться к изменениям в ходе проекта, существенно ускорить разработку и сэкономить на рисках, заложенных в оценку проекта. При этом гибкие методологии разработки нацелены на постоянное добавление реальной клиентской ценности и функциональности по результатам каждого спринта.
  • Со стороны компании-заказчика важно сформировать компетентную команду, которая будет контролировать процесс внедрения или разработки, поддерживать взаимодействие с подрядчиком, предоставлять необходимые данные и устранять препятствия, замедляющие проект со стороны заказчика.
  • Полезно привлекать внешних экспертов (например из профессиональных консалтинговых компаний), которые могут предложить современные и проверенные решения.