ПО: покупать или заказывать?
АрхивМненияНастала пора окончательно разобраться, какие именно системы нам нужны. Научиться четко определять потребности и задачи своей компании, и уже под них подбирать решение.
Об авторе: Матвей Богатов, руководитель компании IntraVision. В прошлом - руководитель отдела компании Actis Systems, опыт на IT-рынке более восьми лет.
В настоящее время уже нет необходимости доказывать, что программное обеспечение, как внутрикорпоративное, так и предназначенное для общения с партнерами и клиентами, - один из важнейших факторов, определяющих эффективность компании. Сейчас это понимают многие и, соответственно, пытаются внедрять различные программные системы, правда, далеко не всегда оптимальные для компании. Как раз теперь настала пора окончательно разобраться, какие именно системы нам нужны. Научиться четко определять потребности и задачи своей компании и уже под них подбирать решение.
Первое, с чем надо определиться - покупаете ли вы готовое решение или заказываете разработку системы. У того и другого вариантов есть свои достоинства и недостатки. Готовые решения стандартны, это плюс. Кроме того, при покупке популярных решений вам не нужно задумываться о многих вещах - о поддержке, надежности и пр. Однако и минусов у готовых систем хватает с лихвой: они дороги и громоздки, и, естественно, не учитывают всех ваших требований и задач. Оборотная сторона универсальности - ограниченная функциональность. Готовая система не учитывает специфики ваших требований, обладает недостаточной гибкостью, ее КПД оказывается значительно ниже, чем хотелось бы.
Готовые универсальные решения не подходят многим компаниям: рассчитанные на среднего потребителя, они не учитывают задач конкретного заказчика и особенностей его работы. Тем более, адаптация таких систем, если она и возможна, требует немалых вложений.
Системы, разработанные на заказ, выгодно отличаются от готовых по многим параметрам: гибкости, функциональности, сферы использования, экономичности. Сравнение решений по ряду параметров помогает яснее представить их особенности. Характеристики отражены в таблице, приведенной ниже.
Готовые системы |
Специально разработанные системы | ||
Стоимость |
Обычно влетают заказчикам в копеечку: немало стоят как лицензии, так и настройка и внедрение. Во многом клиент платит за бренд, а не за возможности системы. |
Цена зависит от ваших требований. Покупая специально разработанное решение, вы не ограничены в числе рабочих мест или выборе серверов, на которых система будет использоваться. | |
Гибкость |
Внедряя готовую систему вы ограничиваетесь заложенной в ней функциональностью - выйти за рамки выбранного обеспечения почти невозможно. Язык программирования любой готовой системы всегда более масштабен, чем язык заказной системы. Однако из-за этого готовым решениям не хватает гибкости - иногда даже простые задачи требуют сложной настройки. |
Обычно возможностей готовых систем хватает. Но при любых отклонениях от стандартных требований их становится недостаточно, а разработанная система создается специально под ваши задачи. Разработанная система автоматически настроена на ваши задачи, при ее создании используется вся мощь современных средств разработки. | |
Сфера использования |
Обычно решения автоматизируют лишь одну область - либо внутрикорпоративную деятельность, либо взаимодействие с партнерами и клиентами. |
Для разработанного решения таких ограничений нет. Вы можете автоматизировать всю деятельность вашей компании с помощью одной системы. | |
Эффективность |
Эффективность систем зависит от того, насколько бизнес-процессы вашей компании поддаются формализации, описанию правилами. Чем больше у ваших сотрудников алгоритмизированной работы, в которой требуется высокая степень надежности и отсутствие ошибок, тем больше будет пользы от внедрения программной системы. |
Предоставляя заказчику множество преимуществ, разработка программного обеспечения обладает и своей спецификой. На заказ решения вам придется потратить чуть больше времени и сил, чем на покупку готового.
Итак, три базовых вопроса, которые вам предстоит решить:
Как выбрать разработчика?
Специфика
Найти поставщика решения непросто. Крупные компании редко берутся за такие задачи, так как считают их экономически невыгодными - их смущают большой объем работы при узкой специализации, ограниченный бюджет. Небольшим компаниям потенциальные заказчики меньше доверяют, ведь для создания качественных систем необходима не только высокая технологичность производственного процесса, но и высокий профессионализм конкретных разработчиков. Компания-поставщик должна проводить научно-исследовательские работы и постоянно повышать квалификацию сотрудников. Небольшие компании не могут себе позволить содержать большой штат отдела R&D, оплачивать обучение своих специалистов.
Поиск и выбор компании, которая оптимально разработает для вас нужное решение, - задача непростая. Однако если вы с ней справитесь, считайте, половина дела уже сделана.
Советы
Так как выбор исполнителя очень важен в разработке системы, не жалейте сил и средств на его поиски. Для решения этой задачи мы рекомендуем:
- Рассмотреть несколько компаний (организовать хотя бы небольшой тендер)
- Понять степень профессионализма потенциального исполнителя. Обязательно провести очную беседу, желательно с участием ваших ИТ-специалистов. Оценивать разработчика надо максимально серьезно: представьте, что вы нанимаете нового сотрудника
- Определить степень надежности исполнителя. Скорее всего, вам потребуется поддержка программного обеспечения, и, следовательно, надо быть уверенным в долгосрочном сотрудничестве с разработчиком
- Понять и учесть степень лояльности исполнителя. Практика подсказывает, что в ходе разработки программных систем часто открываются неучтенные раньше обстоятельства, и объем работ над проектом увеличивается. Поэтому необходимо адекватное отношение исполнителя к данной ситуации. Уровень лояльности исполнителя можно узнать, самостоятельно собрав отзывы: обзвонить его клиентов (или написать им по электронной почте) и узнать их мнения
- Осознать степень профессионализма исполнителя. Например, посмотреть инструментарий, используемый исполнителем. Многие ИТ-компании имеют в своем багаже набор готовых базовых универсальных программных компонентов, "движков", которые часто используются для реализации схожих проектов. Обычно это снижает себестоимость самой разработки и повышает надежность решения в целом. Понять, как строится производственный процесс у исполнителя (например, есть ли четко выраженные стадии - постановки задачи, разработки, тестирования, внедрения). Понять, как ведется разработка программной документации у исполнителя. Определить техническую оснащенность исполнителя (рабочие станции, серверы)
Как получить нужную программную систему?
Вы должны четко понимать, что и зачем вам нужно. Это сложнее, чем кажется. Пользуясь следующим алгоритмом, вы сможете четче осознать свои задачи, а также контролировать процесс разработки.
- Разбейте проект на две стадии (как по срокам, так и по стоимости)
- Первая стадия: анализ бизнес-процессов, исследования, интервьюирование участников бизнес-процессов, написание технического задания и т.п. Если исполнитель серьезно подходит к разработке, то он примет активное участие и в этой части проекта
- Вторая стадия: разработка. Определите две-три контрольные точки с демонстрацией промежуточных результатов
- Проводите регулярные встречи, анализируйте прототип системы
При правильном подходе разбиение проекта на две стадии не должно увеличить стоимость и сроки проекта, а качество и эффективность системы увеличатся в несколько раз.
Нужна ли поддержка?
Специфика
Для разработанной системы требуется хорошая поддержка. Как известно, идеального программного обеспечения не бывает - любое требует поддержки и доработок. Даже фавориты рынка базового ПО (Microsoft, Oracle, SAP и др.) для большинства своих продуктов постоянно предлагают обновления. Из-за большого числа клиентов в крупных компаниях поддержка легко окупается.
Советы
При заказе программного обеспечения следует учитывать важный аспект: в большинстве случаев поддерживать систему сможет только сам разработчик. У вас же, скорее всего, получится только его курировать. Таким образом, открывая проект по разработке программной системы, вы сразу должны представлять себе, как будет осуществляться поддержка.
Пример заказного ПО
Ниже мы попытаемся показать на примере простой задачи (создания/внедрения системы ServiceDesk), что вариант разработки системы имеет полное право на существование по сравнению с вариантом внедрения готовой системы. Подобные системы называются также HelpDesk и служат для планирования и учета каких-либо услуг, предоставляемых компании. Например, если это услуги ИТ-отдела, то все запросы пользователей: "подключить к интернету", "поменять мышку", "установить Microsoft Office" и т.д., фиксируются и проводятся через систему ServiceDesk.
Особенности
Безусловно, существуют готовые системы, решающие похожие задачи. Но, скорее всего, они не смогут удовлетворить многим вашим требованиям, ведь один и тот же бизнес-процесс имеет ряд различий у любых компаний.
Примеры задач, которые могут потребоваться для вашего Service Desk
Мы приводим лишь несколько возможностей разработанной системы, непредусмотренных в стандартном программном обеспечении. Список же можно продолжать почти до бесконечности.
- Учет себестоимости услуг
Если при учете обработанных заявок компания хочет учитывать себестоимость сервиса, то программа может формировать отчеты о себестоимости сервиса за нужный период, с возможностью детализации по заявкам. - Полуавтоматический выбор свободного исполнителя
Пусть на службе обработки заявки существует выделенный оператор ServiceDesk, выполняющий назначение заявок на исполнителя. В этом случае система должна подсказывать ему, какого исполнителя назначать на задачу, выбирая например, не занятого на данный момент. - Распределение заявок разных типов
Если в компании заявки четко разделены по типам (например SoftWare, HardWare и т.д.), то в разработанной системе может быть реализовано автоматическое распределение типов заявок по исполнителям. Заявка будет попадать нужному исполнителю, который при этом имеет меньше всего заданий. - Отправка извещений
Автоматическая отправка извещений по электронной почте производится при накоплении у исполнителя критического количества заявок, при необходимости - с копией уведомления руководителю службы ServiceDesk. - Автоматическое создание заявок
Заявки могут формироваться автоматически из письма, пришедшего на определенный адрес, например, на адрес службы ServiceDesk.
Чем четче вы осознаете требования вашей компании, тем сильнее сузится круг готовых систем, которые смогут их удовлетворить. Более того, при поставке готового обеспечения вам непременно придется отказываться от части ваших задач.
Ну, что ж, теперь вы чуть больше знакомы с особенностями покупки готовых систем и разработки программного обеспечения. Вы представляете себе все трудности, с которыми можете столкнуться, и все преимущества, которые сулят вам эти два варианта. Остается только выбрать и, конечно, действовать.