Один из достаточно часто встечающихся антипаттернов в ИТ: встраивание в бизнес-процессы чужой модифицированный продукт. Обычно такое происходит в малых, иногда средних компаниях, намного реже в крупных, но и там встречается.
Суть в следующем. Компания использует некоторое покупное или открытое ИТ-решение и всё в нём устраивает, кроме некоторого недостающего функционала. И этот функционал не обеспечивается штатными возможностями продукта, конфигурацией или расширениями к нему. Возникает естественная мысль: а давайте найдём спеца/компанию или своими силами "доработаем напильником" решение как нам надо. Часто это можно сделать за вменяемые деньги и время, компания модифицирует решение и включает в свой ключевой бизнес-процесс. И всё работает, какое-то время.
Сложности начинаются по прошествии времени. Продукт у поставщика обновляется, а наш нет. Или обновляется, но работает не как ожидалось. Или работает, но через какое-то время появляются неожиданные ошибки. Или продукт поменялся так, что модификация с сохранением функционала теперь невозможна. Фактически компания теперь имеет кастомный продукт без возможности внятной поддержки. Таким образом получаются различные необновляемые CRM/ERP/фреймоворки и сторонние библиотеки, а 1С-ники отлично знают "счастье" работы с правленной конфигурацией.
Хороший вариант решения: написать свой модуль или расширение к используемому решению. К сожалению, такое возможно не всегда, да и в этом случае расширение зависимо от основного продукта и может потерять поддержку.
В более широком смысле это вопрос управляемости ИТ-решений. Внедрённое локально решение кажется "своим" и управляемым, однако это иллюзия. Любой продукт имеет множество внешних зависимостей, повлиять на которые не в наших силах. Это важное отличие от материального мира, где купленная вещь действительно "своя".
Вышеописанное не означает, что вообще не надо экспериментировать с чужими продуктами. В некоторых областях, например разработке, экспериментировать с используемыми инструментами и зависимостями необходимо. И там это скорее критично для развития. Но встраивание такого в рабочий бизнес-процесс через некоторое время может привести к тому, что этот бизнес-процесс станет нерабочим.
Иногда даже свой продукт, т.е. разрабатываемый самой компанией, со временем становится чужим и это необходимо учитывать. Но об этом другая заметка.