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