Неоднократно общался с предприятиями, которые разрабатывают или хотят разработать определенные модули в своей корпоративной информационной системе (ИС). Давайте рассмотрим плюсы и минусы такого подхода.
Идея разработки ИС под себя не нова: на заре капитализма в России были популярны самописные ИС. Но в последнее время их доля неуклонно снижается за счет появления промышленных систем. Однако в промышленных системах часто не хватает отдельных модулей или эти модули недостаточно проработаны. По этой причине многие предприятия решают дописывать необходимый функционал самостоятельно за счет инструментов платформы, а не внедрять внешнюю специализированную систему. Благо возможности для разработки новых справочников, отчетов, вычислений есть в каждой промышленной системе.
Выделяют следующие плюсы самостоятельной разработки:
- Ниже затраты на разработку. Обычно на внедрение внешних систем привлекают подрядчиков. Зарплата своего разработчика не сравнится со ставкой внешнего специалиста, а если на проекте задействовано несколько человек, то разница будет еще более ощутима. Возможно даже не придется докупать дополнительные лицензии.
- Свои лучше понимают специфику компании. Считается, что если человек «варится» в среде компании на протяжении нескольких лет, то он лучше понимает процессы, проще находит общий язык с коллегами и соответственно учтет в ИС все нюансы их работы.
На этом плюсы заканчиваются. Для полноты картины рассмотрим и минусы самостоятельной разработки модуля ИС:
- Сроки разработки. Учитывая тот факт, что предприятия не каждый день разрабатывают новые модули, сначала придется понять, как выстроить процесс. Нужна команда, включающая разработчиков, аналитиков и руководителя группы, который будет координировать всю работу. После формирования команды необходимо решить массу других задач: написать техническое задание, определить варианты интеграции с уже используемым функционалом, составить подробный план-график работ. При этом не стоит забывать, что специалисты команды по разработке и внедрению ИС также обычные сотрудники, со своей текущей и, порой, неотложной работой. Такая ситуация, при условии отсутствия жесткого спроса результатов со стороны руководства, приводит к растягиванию сроков проекта на долгие месяцы, а то и годы. И хорошо, если за это время команда проекта не поменяется.
- Квалификация разработчиков. Крупные поставщики внешних систем тратят огромные ресурсы на привлечение лучших архитекторов программных продуктов и предметных специалистов. Это позволяет предлагать клиентам наиболее универсальные и функциональные решения. Также огромную помощь в этом процессе оказывает опыт внедрения у реальных клиентов. В случае, когда предприятие разрабатывает модуль на базе системы, не предназначенной для этих задач, все «шишки», набитые крупными поставщиками ПО за много лет, придется набивать заново. Также высок риск, что при неудачной архитектуре решения или слабой проработке требований, при появлении нового требования к ИС придется все переписывать, поскольку в архитектуре модуля не был учтен определенный функционал.
- Последующая поддержка. Надо понимать, что ИС на предприятиях развивается. Корпоративная ИС будет обновляться разработчиком ПО. Не всегда изменения базовой системы (платформы) могут быть совместимы с собственными доработками. По мере обновления системы потребуется постоянная проверка/доработка самописных блоков. Все это означает, что команда, которая разрабатывала и внедряла систему, фактически пожизненно будет связана с ней. Также не нужно забывать про сроки адаптации, которая в случае осуществления своими силами, может занять больше времени. Если же модуль будет реализован во внешней системе, то при обновлении корпоративной ИС, как правило, не потребуется столь детальный анализ и перенастройка системы, или же проблемы возьмет на себя вендор.
- Зависимость от своих разработчиков. Использование собственных модулей неминуемо приводит к зависимости от внутренних разработчиков. Только они будут в курсе нюансов разработки и поддержки системы. Как правило, эта информация содержится только в головах этих людей и никак не задокументирована. Все хорошо пока разработчики исправно работают, но если они захотят уйти? Не раз приходилось сталкиваться с заменой системы на предприятии, поскольку единственный разработчик, который ее знал, уволился. В случае если используется готовый модуль во внешней системе, таких вопросов не возникнет. Во-первых, не возникнет проблемы с документацией. Во-вторых, даже если предприятие не хочет иметь своих разработчиков в штате, можно передать сопровождение системы на аутсорсинг. На рынке масса подрядчиков с разными условиями, готовых оказать данные услуги.
Даже на первый взгляд минусов в собственной разработке больше, чем плюсов. Если ваша корпоративная система не имеет необходимых модулей в поставке, то не нужно бояться приобретать внешнюю, но специально заточенную для этих целей систему. Это, возможно, будет дороже на первом этапе, но позволит избежать массу проблем и затрат при последующей работе. Сейчас на рынке появляется все больше специализированных решений под конкретную задачу, так что менять уже работающие блоки информационной системы не придется. Нужно будет только грамотно интегрировать и внедрить, а вот этим уже могут заняться собственные специалисты (если им позволяет квалификация), что позволит сэкономить на внедрении.
Думайте о развитии бизнеса, новых продуктах и сервисах для клиентов, а о системах, обеспечивающих работу ваших сотрудников, пусть позаботятся профессионалы.