Что такое компьютерная информационная система
Внедрение КИС
Этой статьей я открываю цикл, посвященный взаимодействию между заказчиками (пользователями) и программистами при внедрении программного обеспечения и автоматизации работы. О том, насколько сложно найти общий язык и реализовать успешный проект, думаю, известно практически всем. Скорей всего, и вы можете рассказать печальную историю о том, как “не получилось”. А, может, и не одну.
На собственном опыте я понял одну из важнейших причин неудач - отсутствие взаимопонимания. А в его истоках лежит непонимание людьми базовой терминологии.А потому именно с этого я и начну цикл.
В последующих статьях я поясню, как правильное понимание термина “компьютерная информационная система” почти всегда помогает на практике при внедрении программных продуктов. А после - расскажу о собственном опыте и приведу примеры реализации проектов.
К написанию этой статьи я шел очень долго, а материалы для нее я уже не первый месяц использую в процессе консультирования своих клиентов. Одна из самых больших проблем в любой сфере деятельности, где используется специфическая терминология, – это договор о понятиях. Часто люди используют слова, вообще не понимая их значения. И трактуют их каким-то своим особенным образом. Результат – отсутствие взаимопонимания, претензии и недовольство результатом. Особенно сложно пояснять основополагающие базовые понятия. Но в сферах бизнеса и IT технологий без этого не обойтись.
Одна из самых распространенных проблем при внедрении IT-систем – очень высокий процент провалов. Внедрение тормозится из-за отсутствия взаимопонимания с программистами, нередко уже готовые программные решения оказываются «пылящимися в коробке», так как они оказались совсем не тем, что ожидал пользователь.
Попытки пояснить и классифицировать компьютерные информационные системы привели к появлению огромного числа сложных и малопонятных терминов. Их пытаются делить на классы и подклассы, описывать странными для широкого круга людей терминами, что приводит к еще большей путанице.
Сложности взаимопонимания с IT-специалистами
Пользователи часто вообще не понимают, кто такие программисты и чего от них требовать. Я и сам в свое время, когда делал первые шаги в IT, с не понимал, что такое компьютерные информационные системы, какую роль в них играют программисты, когда и зачем они нужны.
Примеру: Если вы обращаетесь к врачам или, например, в строительную компанию, вы точно понимаете, что за специалист перед вами, как к нему обращаться, что рассказывать, какого результата ожидать. В IT-сфере до сих пор нет жестко устоявшейся и понятной на уровне обывателя терминологии.
Одна из самых больших проблем в IT – отсутствие общей( именно общей) теоретической базы. Я написал уже много тематических статей, предназначенных для широкого круга читателей. Например, «Что такое CRM» или «Иерархия IT-систем и выбор программного обеспечения для организации труда». Все они призваны в числе прочего помогать мне самому находить общий язык с клиентами. Но и здесь я столкнулся с непониманием. Люди не осознают в принципе, что такое IT система. И объяснить это «на ходу» бывает крайне сложно.
Справочники, учебники и статьи в интернете практически не дают информации на уровне пользователя. Например, определение в Википедии выглядит так:
Информационная система (ИС) — система, предназначенная для хранения, поиска и обработки информации, и соответствующие организационные ресурсы (человеческие, технические, финансовые и т. д.), которые обеспечивают и распространяют информацию (ISO/IEC 2382:2015). Предназначена для своевременного обеспечения надлежащих людей надлежащей информацией, то есть для удовлетворения конкретных информационных потребностей в рамках определённой предметной области, при этом результатом функционирования информационных систем является информационная продукция — документы, информационные массивы, базы данных и информационные услуги.
Осмыслить и понять это определение без глубоких знаний в теме практически невозможно, да и вникать в него, по большому счету, бессмысленно. И люди в большинстве своем так и не понимают: что является компьютерной информационной системой, а что – нет. Какие качества обязательны, а какие вторичны. Вопросов очень много. И если вы не будете понимать явления в его сути, вы так и будете понимать его как некую “магию”,шаманство.
В этой статье я попытаюсь дать определение IT-систем, понятное широкому кругу читателей, на основе собственного опыта и знаний. Конечно, я буду рад любой критике и дополнениям, так как тема – очень объемна и фундаментальна. А существующая на сегодняшний момент информация – сложна для восприятия и несколько противоречива.
Что такое компьютерные информационные системы?
Когда я читал различные определения IT систем, я долго не мог понять, почему они такие разные? Где-то можно встретить нечто громоздкое и всеобъемлющее, как в той же Википедии. А где-то краткие определения, «выхватывающие» какие-то отдельные аспекты и полностью на них основанные.
Как я вижу, суть проблемы в том, что люди не пытаются создать определение, которое стало бы фундаментальным обоснованием. Скорее, прослеживается стремление пояснить их собственное видение. И это я даже не говорю о ситуациях, когда описания и определения связаны с продажей какого-то программного обеспечения.
Чтобы понять, что же это такое, давайте вспомним, как появляется на свет новый программный продукт:
Этап 1. Идея. Просто на уровне «а давайте сделаем что-то, что будет делать вот такие вещи»
Этап 2. Построение модели.
Этап 3. Кодинг. Алгоритм воплощается в реальность в виде программного кода, которым смогут пользоваться люди.
И потому на самом общем уровне любую IT-систему (программный продукт, информационную систему) можно определить кратко:
Идея, выраженная посредством языка программирования.
Почему именно “выраженная”, но не “реализованная”? Потому что компьютерного кода недостаточно для того чтобы идея заработала, получила материальную основу. Для того чтобы появилась материальная основа, необходимо чтобы человек реализовал ее.
Пример: Мы написали компьютерную программу, но чтобы она заработала необходим компьютер который будет ее запускать, монитор который будет при необходимости выводить эту информацию в виде понятном для человека. В конце концов нужен человек который будет запускать ее когда надо, проверять её работу, обслуживать.
На основе этого базового обоснования можно уже детализировать другие особенности, развить и выразить всю проблематику, связанную с информационными системами. Но здесь я считаю, что важна именно суть: появилась идея, которую можно выразить посредством языка программирования. Было найдено и воплощено в жизнь решение.
Чем поможет понимания особенностей IT систем?
Чтобы правильно выбирать программное обеспечение и понимать, какие дополнительные действия потребуются, стоит отталкиваться от определения «идеи, выраженной в программном коде».
И тогда, первый этап выбора будет основан на идее. Важно понимать, какую именно идею воплощали разработчики. Что они хотели и сумели реализовать. Какие основные принципы они воплощали в жизнь.
Если вы не сумеете понять идею, т.е. предназначения программного обеспечения, то ваши мысли о том, как вы будете использовать программу, не будут совпадать с идеями разработчиков. В итоге вы купите ненужный продукт.
Но чтобы идея информационной системы совпала с вашей, необходимо, чтобы у вас была также собственная идея. Да, она будет выражена на пользовательском уровне. Но она должна быть.
Например, если вы хотите добавить на сайт калькулятор ОСАГО, нет смысла интересоваться просто калькулятором или какой-то системой расчетов других функций. Ваша идея – ОСАГО. Значит, нужно искать, кто из разработчиков также воплощал расчеты по ОСАГО. Иначе доработки выбранного продукта потребуют очень больших усилий либо вообще продукт окажется неподходящим для вашей идеи.
Для крупных информационных систем крайне важно составить список ваших идей. И убедиться, что у разработчиков выбранного программного продукта в момент его реализации также присутствовал необходимый вам перечень идей, и, как следствие, решений.
Второй важный параметр: соответствие идеи ее реализации. Нередко разработчики в процессе воплощения идеи по самым разным причинам, начиная от ошибок и заканчивая организационными решениями уходят от изначальной идеи. И продукт, который должен был воплощать в себе одну идею, реализует ее лишь частично либо не реализует вообще. Это обязательно нужно проверять при помощи тестирования, консультаций со специалистами или какими-то другими способами (отзывы знакомых и прочее).
И третья проблема: идея, которую вам продают, может совпадать с вашей, но не совпадать с идеей, которую вложили в программную систему разработчики. Дело в том, что в коммерческих продуктах (а они в наше время почти все такие) заключается не столько в том, чтобы вы получили нужный инструмент, сколько в том, чтобы продать вам программный продукт. Т.е. при постановке задач разработчикам основная идея заключалась именно в продаже продукта, а не в его качественной работе и соответствии всем вашим потребностям.
Далее «в игру» вступают маркетологи, вы как вам кажется, что вы покупаете как раз ту «идею», которая вам необходима. А на самом деле, вы покупателе продукт, выполненный с другими идеями (продажи). А ваши потребности при реализации будут на уровне идеи только на втором месте. Продукт будет красивым, удобным, особенно на уровне демоверсий. Но в нем может не оказаться важных для воплощения именно вашей идеи инструментов.
Это как покупка квартиры с косметическим ремонтом «чтобы продать» - все очень красиво и качественно, а «баги» выявляются после покупки. К сожалению, в обществе капиталистическом, ориентированном на получение прибыли, такое встречается повсеместно. И частично воплощается даже в самых лучших системах.
Маркетинг и программный продукт
Почему пользователи так редко воспринимают программные системы как «воплощенные идеи»? Я считаю, что здесь проблема заключается в маркетинге. Чаще всего IT-системы подаются разработчиками и воспринимаются пользователями, как материальный товар. Причина такого подхода очевидна – товар продать намного проще, чем идею.
Человеку сложно воспринимать и, тем более, покупать идеи. Их невозможно «пощупать», и продавец редко может пояснить, почему именно такая идея лучше других. Другое дело – IT система как нечто материальное. Здесь сразу речь идет о непосредственной пользе и преимуществах с точки зрения покупателя. Все можно увидеть, оценить, выбрать.
Маркетологи стремятся показать выгоды с точки зрения покупателя. Тем более, что у любой программы есть определенная цена. В результате у покупателей складывается несколько искаженное представление об информационных системах: они считают, что осуществляют покупку готового продукта. Такого же, как сапоги или автомобиль. И часто недоумевают, и разочаровываются, когда понимают, что это не так. Оказывается, для реализации информационной системы понадобятся какие-то доработки, настройки, работа программистов и т.д.
Идея и выбор программной системы
Первое, где поможет понимание особенностей информационных систем, это правильный выбор программного продукта.
Основные критерии выбора:
- Ваша идея должна соответствовать идее разработчиков максимально близко по всем параметрам.
- Качество реализации идеи в коде должно также отвечать поставленным вами задачам.
Таким образом, для выбора программной системы вам нужно четко сформулировать вашу собственную идею: что должна выполнять информационная система, какие параметры действительно важны (соответствуют вашей основной идее), что – второстепенно (без этого можно обойтись). Все функции программных, которые в ваш перечень не входят, придется изучать отдельно. Иногда они становятся приятным дополнением. Но чаще – ненужными возможностями, за которые вам придется заплатить.
Из всех существующих программных продуктов вас заинтересуют только те, где в описании указана нужная вам идея. В идеале именно ваша идея должна декларироваться как основная, а другой функционал, если он есть, как дополнительные возможности.
Далее следует изучить качество реализации. Для этого используются отзывы других пользователей, тестовые бесплатные версии и т.д. Помните, что реализация далеко не всегда соответствует изначальной идее и описанию.
Нередко при покупке программного обеспечения используется ошибочная тактика. Покупатель изучает, реализованы ли нужные ему функции, не обращая внимания как раз на основную идею разработчиков, даже если она явно прописана в названии и описании программного продукта. В результате они получают нужный функционал, но зачастую в «обрезанном» виде. Систему приходится очень сильно дорабатывать, а это – значительные затраты времени и средств. А иногда это вообще невозможно. При этом в составе продукта покупатель получает множество ненужных ему возможностей, которые он также вынуждено оплачивает.
Например, если вам нужен сайт-визитка, нет никакого смысла покупать дорогостоящий «движок» интернет-магазина. И наоборот, если вам нужен магазин, попытка воспользоваться бесплатной CMS чаще всего ведет к значительным затратам при адаптации этого кода под интернет-магазин.
С одной стороны, даже под бесплатные «блоговые» CMS существуют готовые надстройки для создания интернет-магазина. С другой стороны, это не основная идея выбранного вами продукта. А потому функционал в ней ограничен. И как только вам понадобится интеграция с учетной системой, какой-то обмен данными с CRM и другие функции автоматизированной торговой площадки, вы столкнетесь со сложностями, потеряете время. Да и затраты на доработки часто оказываются выше, чем в случае покупки готового интернет-магазина с уже реализованными возможностями автоматизации.
Очень важно, чтобы выбранный вами программный продукт максимально соответствовал вашей идее.
Как найти общий язык с разработчиком
Понимание сути информационных систем помогает правильно выбрать разработчика для создания или доработок программного продукта. Людям, которые далеки от информационных технологий, часто кажется, что все программисты одинаковы и с ними сложно найти общий язык.
На самом деле, чтобы добиться взаимопонимания с разработчиком, нужно:
- Четко сформулировать свою идею. Причем, эта идея должна быть максимально конкретизированной и конкретной. Вариант «я хочу заработать на программе деньги» - это не идея. Идея – это «что я хочу, чтобы делала эта программа». Это может быть ТЗ, может описания в виде диаграмм, брифа.
- Убедиться, что разработчик понял суть идеи. Здесь уже вопрос из области коммуникации. Один специалист поймет вас «с полуслова». Другому придется пояснить несколько раз и не факт, что он воспримет все правильно. Чтобы избежать проблем и разночтений, существуют предварительные этапы работы, в том числе, написание четкого и однозначного технического задания. Если вы сумеете получить внятное и соответствующее вашей идее ТЗ, значит, и дальше работа будет выполняться правильно.
Как видите, при правильном понимании термина «компьютерные нформационные системы» коммуникация со специалистами также оказывается не столь сложной, как это описывают многочисленные мифы об «айтишниках».
Подробнее о том, как на практике применять такое определение информационной системы, читайте в следующей статье.
Проверка данных на уровне системы
Aditum nocendi perfido praestat fides (Доверие, оказанное вероломному, дает ему возможность вредить) Греческая поговорка
При разработке компьютерной информационной системы, как и при любой работе с данными, где участвуют две стороны, одна из самых важных задач это проверка подлинности данных. Важно, чтобы участники процесса вносили правильную информацию, и чтобы проверка ее точности не занимала много сил и времени. С этой задачей столкнулись и мы при разработке учетной системы Trinion Торговля .
Описание проблемы
Для лучшего понимания важности этой проблемы, обратимся к примеру. В учетной или CRM-системе работает менеджер по продажам. Каждое событие, связанное с процессом продажи, он фиксирует в информационной системе.
Допустим, что менеджер провел переговоры и в Сделке указал: сумма сделки – 20 000 рублей, товар, который заинтересовал клиента – матрас.
Таким образом, руководитель видит, на каком этапе Сделка, и может сориентироваться, какую прибыль компания получит в случае ее успеха.
Но как проверить корректность указанных данных? В выполнении задачи внесения сведений о событии участвуют две стороны – пользователь и программная система. От системы вы можете получить только сохраненную информацию, а пользователь на словах может подтвердить, что да, он действительно звонил клиенту, они обсудили продажу, и действительно в этой сделке фигурирует матрас стоимостью 20 000 рублей. Потому эти данные менеджер и указал.
Руководитель, который будет проверять правильность введенных данных, будет вынужден поверить своему сотруднику на слово.
Но здесь возникает проблема:
Если мы не хотим злоупотреблений, мы не должны слепо доверять людям.
Мы должны точно знать, что введенные данные верны. И человек, который вводит данные, должен точно знать, что указанную информацию в любой момент можно проверить. Тогда у него не будет соблазна злоупотреблять работой в системе.
О том, как сотрудники злоупотребляют своим положением, я уже писал в статье « 10 способов злоупотребления служебным положением» .
Как обычно проверяют подлинность данных
Самый распространенный метод проверки правильности введенных данных при работе с клиентами – это запись всех телефонных разговоров и последующее их прослушивание. Но это очень трудоемкий процесс.
ВКаждый день менеджер разговаривает со многими людьми. И здесь срабатывают, так называемые, большие числа. Например, у руководителя в отделе 5 менеджеров, каждый из них разговаривает по полчаса. Это значит, что руководителю нужно прослушать 2,5 часа разговоров. При этом каждая минута такого прослушивания в реальном времени занимает не одну, а 2-3 или больше минут. Потому что при прослушивании часто перематывают назад, чтобы уточнить данные, расслышать что-то, что было непонятно и т.д.
Проверять таким образом каждую сделку крайне сложно. А хотелось бы уже в момент запроса сразу получать ответ, насколько введенная информация верна. Потому мы, конечно, фиксируем в своей системе телефонные звонки, понимаем, что это полезная функция, в том числе, для самого менеджера. Но саму проверку рекомендуем реализовать иначе.
Третья сторона для быстрой проверки подлинности данных
Вы уже знаете, что в самом процессе участвует две стороны – система и пользователь. И это создает сложности при проверке правильности указанных данных. Чтобы в случае каких-либо сомнений быстро получить ответ на вопрос, требуется третья сторона.
Правило третьей стороны звучит так:
Для проверки данным всегда необходим тот, кто находится снаружи.
В данном случае это не система, это не пользователь. А кто тогда? Кто или что еще может подтвердить данные? Самый простой ответ – покупатель.
Чтобы реализовать быструю проверку с помощью третьей стороны, необходимо, в первую очередь, изменить процесс. Пользователь должен не только создавать сделку и фиксировать в ней событие, но одновременно создавать какой-то печатный документ, который будет отправлен по почте покупателю.
И тогда покупатель будет третьей стороной. Как это будет выглядеть? Если есть какие-либо сомнения, что пользователь что-то неправильно ввел в систему, где-то указал неверные цифры, можно просто запросить у покупателя коммерческое предложение.
Также третьей, а, скорее, даже четверной стороной, может выступать почтовая система. Все отправленные письма с коммерческими предложениями хранятся на почтовом сервере. И мы всегда можем посмотреть, что было отправлено, какая сумма указана и так далее.
Таким образом, мы получаем правило:
Если мы хотим в учетной системе, чтобы данные были проверяемы, мы должны привлекать третью сторону, кого-то помимо пользователя и учетной системы.
При разработке системы Trinion Торговля наши специалисты разрабатывали бизнес-процесс таким образом, чтобы участие третьей стороны можно было реализовать без каких-либо доработок и сложностей. Более того, такая проверка в системе используется по умолчанию. А потому вам достаточно скачать и установить себе систему Trinion Торговля, настроить права пользователей и начинать работу. Защита от злоупотреблений сотрудников уже включена, все виды проверки вы можете использовать. А знание этого факта поможет вашим сотрудникам избегать ненужных соблазнов.
Терминология в IT
Сегодня я хочу поговорить о том, насколько важна терминология в IT и как понимание терминологии влияет на правильность принятия решений.
Те, кто читал меня ранее, знают, что я очень большой процент своих статей посвящаю именно терминологии. Я много писал в свое время об 1С, о CRM и ERM системах, о других типах программных систем и продуктов для бизнеса. И в каждой из статей за исключением, тех, что не были связаны напрямую с IT-тематикой (судебная система, как теряют бизнес и т.д.), я обязательно уделяю максимум внимания терминам, а также простым и понятным широкому кругу читателей определениям для каждого понятия.
Почему я уделяю столько внимания IT терминологии? Зачем ее знание и понимание необходимо бизнесменам? О том, как понимание терминов влияет на принятие решений и почему без этих знаний крайне сложно наладить плодотворное сотрудничество, я и решил рассказать.
Почему я начал писать статьи с пояснениями терминов?
Лично для меня написание подобного рода статей напрямую связано с моей основной деятельностью. Как бизнес-консультант, я часто предлагаю какие-то IT-продукты и решения для автоматизации бизнеса. При этом нередко оказывается, что мы говорим с заказчиком «на разных языках».
Чтобы пояснить преимущества выбранного мною решения, необходимо, чтобы клиент понимал хотя бы основные принципы работы систем, подобных той, что я предлагаю, а также понимал хотя бы основные термины, без которых говорить о каких-то продуктах IT практически невозможно.
В результате мне приходилось, да и сейчас нередко приходится, простым языком пояснять клиенту сначала – термины и основные принципы работы систем того типа, который я предлагаю внедрять, и только потом можно переходить непосредственно к сути вопроса.
Статьи нередко помогают решить вопрос взаимопонимания и получения базовых знаний заказчиком еще до встречи и обсуждения сути проекта.
«Как вы лодку назовете…»
Специальная IT-терминология используется не только в технических описаниях, но даже в названии программного продукта. Таким образом, разработчики обозначают сразу сферу применения системы. Например, уже по названию Zoho CRM понятно, что это программная CRM-система, т.е. продукт для автоматизации продаж и работы с клиентами.
Аналогично при выборе товаров в магазине, если вы видите на ценнике или упаковке «разводной ключ», вы уже понимаете четко сферу возможного использования этого товара, даже без детального изучения того, что спрятано в коробке. И быстро можете понять, нужен вам в принципе такой товар или нет.
Вторая причина применения терминологии в названиях – это маркетинговые решения. Разработчики стремятся упростить ваш выбор, привлечь максимум внимания к своему продукту. Все понимают, что внимательно изучать и тестировать существующие программные решения от разных компаний можно неделями или даже месяцами.
Также широко известный факт, что первичный отбор товаров, в том числе, в программного обеспечения, производится «интуитивно», на основе названия и, возможно, краткого описания. Детальному изучению будут подвергаться только несколько выбранных моделей или систем. Потому с точки зрения маркетинга разработчикам также важно донести максимум полезной информации уже в названии продукты. И здесь также используется IT-терминология.
Почему важна терминология для заказчиков?
Покупатель (заказчик) программного продукта должен четко понимать, чего стоит ожидать от выбранной системы и для чего она предназначена. Ошибочное понимание терминологии очень часто приводит к завышенным или просто неверным ожиданиям. Результат – разочарование, часто – необходимость дополнительных вложений средств и времени на необходимые доработки, а в самом печальном случае – продукт «в коробке» лежит невостребованный, а используется совсем другая программа.
Примеры ошибочного понимания основных терминов
ERP-система предназначена, прежде всего, для управления бизнес-процессами и повышения эффективности работы компании за счет построения и внедрения определенной бизнес-модели.
Часто под ERP руководители компаний понимают совсем иное. Для них это просто – «система все в одном». В результате они ждут, что ERP сможет полноценно заменить все другие программные продукты, не понимают, зачем нужны сложности с бизнес-процессами и почему далеко не всегда ERP подходит, например, для полноценной работы бухгалтерии или производства. Также недоумение вызывает необходимость сложного и длительного внедрения ERP-системы, интеграции с какими-то другими продуктами, полноценно заменить которые ERP не способна просто потому, что система предназначена для других целей.
Еще больше проблем и вопросов вызывает CRM-система, если руководитель не до конца понимает, что это такое, и как с ней правильно работать. Часто, начитавшись рекламных материалов, бизнесмены приходят к выводу, что CRM – это просто, покупают готовое решение и требуют от сотрудников, чтобы они начинали работать в новой программе. А когда оказывается, что CRM-система также нуждается в профессиональном внедрении, что часто программный продукт нужно не только настроить, но и доработать какие-то функции, приходит разочарование и ощущение обмана. Как итог, компания отказывается от вложения средств в настройку CRM-системы, работает «по старинке» и теряет на этом каждый день неполученную прибыль.
Что важно учитывать при анализе той или иной системы?
- Общепринятые сведения о системах выбранного типа. Основы терминологии, значение основных терминов, которые применяются при описании системы.
- Соответствие программного продукта термину, которым ее описывает разработчик. Например, отдельные «бесплатные CRM-системы» на проверку оказываются скорее планировщиками задач с возможностью совместной работы нескольких людей, к CRM это не имеет никакого отношения. Также часто системы, в которых имеются небольшие вспомогательные модули CRM или планировщиков задач позиционируют себя как «в том числе CRM-система» или «в том числе task-менеджер». На самом деле ограниченные возможности этих модулей не позволяют называть эти программные продукты ни тем, ни другим.
- Соответствие возможностей решения вашим требованиям. Если вам требуется ERP-система, не имеет смысла покупать CRM и пытаться доработать программный продукт до возможностей ERP. Аналогично из task-менеджера делать CRM нецелесообразно. Доработок должно быть минимальное количество. И они должны применяться для адаптации наиболее подходящего под ваши требования программного продукта вашим специфическим требованиям, связанным с особенностями бизнеса.
Резюме: чем важны термины?
Главная причина изучения IT терминологии для покупателей программного обеспечения – это возможность заранее, до детального изучения или покупки понять, насколько система соответствует тому, что вам необходимо.
IT-терминология стандартна, профессиональные разработчики пользуются ей всегда корректно и грамотно. И даже в тех случаях, когда для маркетинговых целей применяются фразы, не совсем соответствующие действительности, например, «система объединяет в себе task-менеджер и CRM», при внимательном прочтении описания вы сумеете понять, что же имели в виду составители слогана на самом деле и что ждать от программного продукта.
В случае проблем с пониманием терминологии, вы либо выберете систему, вообще не подходящую для ваших целей (ошибочное понимание терминов), либо быстро запутаетесь в описании программного продукта и будете ориентироваться исключительно на рекламные слоганы. А потому очень важно понимать, что вы хотите, как это называется правильно, и какие параметры системы (с правильными названиями) вам нужны. На самом деле, разобраться в минимальном количестве терминов совсем не сложно, а времени, сил и средств это экономит – очень много.
Иерархия IT-систем и выбор программного обеспечения для организации труда
IT-системы плотно вошли в нашу жизнь. Мощные и сложные программные продукты используются в самых разных сферах. При этом многие забывают, что появились IT-системы не просто так, как программные продукты, которые нужно продавать и внедрять, а как инструменты организации и автоматизации труда.И очень важно помнить при выборе и внедрении IT-систем, что первичен здесь — труд, а не программное решение. Я не единожды сталкивался с тем, что люди выбирали программу просто потому что: “она понравилась”. В результате появляются попытки “натянуть” процессное производство, например, работу молокозавода, на ERP-систему, предназначенную для дискретного производства (сборка изделий).
Самое главное правило выбора IT-систем: выбираем программу под бизнес, а не подстраиваем бизнес под понравившийся IT-продукт.
Следующий шаг — выбор непосредственно программной системы. И для того, чтобы этот выбор был для вас проще, чтобы вы или ваши клиенты не терялись в огромном выборе разнообразных систем, я подготовил статью с советами и определением иерархии систем, которая поможет структурировать предлагаемые продукты и сделать правильный выбор.Если вы сталкивались уже с покупкой различных программных решений для бизнеса, в первую очередь, решений, связанных между собой в единую систему, вы уже и сами, скорей всего, догадываетесь, что программные продукты имеют свою иерархию. Она малоизвестна и не столь очевидна, как во многих других сферах. И, тем не менее, она существует.Более того, при автоматизации бизнеса понимание иерархии поможет сделать правильный выбор, определить очередность закупок и внедрения программ, избежать ошибок, результатами которых становятся невостребованные «коробки» оплаченного программного обеспечения.Каждый продавец программных систем стремится показать свой продукт с лучшей стороны, ведь его цель – это продажа. Это необходимо учитывать при выборе системы и оценке, действительно ли продукт вам подойдет.
Важно: перед любой покупкой программных систем и внедрением какой-то автоматизации необходимо четко определить для себя – зачем это вам нужно. Только после ответа на этот вопрос имеет смысл заняться поиском программы, которая сможет решать поставленную задачу, или обратиться за помощью к специалисту, способному предложить оптимальное решение поставленной вами задачи.
А потому первое, что вы должны понимать – зачем вам покупать программы системы. Постановка задачи – вопрос, который каждый решает самостоятельно. А вот как правильно выбирать программы с учетом иерархии, как избежать «подводных камней» агрессивного маркетинга, я постараюсь помочь разобраться.
Классификация IT-систем
С точки зрения применения программных решений системы делятся на несколько уровней:
- Прикладные. Самый нижний уровень. Это программные решения, которые каждый сотрудник использует индивидуально на своем рабочем месте для выполнения каких-то локальных задач. Это могут быть AutoCAD, Mathcad, Photoshop, Corel Draw и т.д. Важно понимать, что прикладные системы не являются самыми простыми или самыми “плохими”, так как они находятся на нижнем уровне. Эти программные решения могут быть очень сложными, и они необходимы в работе специалистов. Нижний уровень они имеют только с точки зрения организации работы в целом, т.е. предназначены для индивидуального использования. Даже если эти продукты позволяют какую-то совместную работу, все же они предназначены, в первую очередь, для работы одного специалиста, а какие-то варианты совместного использования являются вспомогательными. а потому такие системы также относятся к прикладным.
- Системы для совместного решения определенных задач. Эти системы предназначены для решения определенных задач, относящихся к той или иной сфере деятельности. Это могут быть CRM, HR-системы, MRP, SCM-системы и пр. Каждая такая система отличается собственным узким функционалом, она предназначена для решения определенного круга специализированных задач. Программные продукты этой категории могут интегрироваться между собой или с программными решениями нижнего уровня (индивидуальными). Например, HR-системы нередко интегрируют с MS Word. А CRM интегрируются с индивидуальными программами отслеживания и записи звонков.
- ERP -системы. Программное обеспечение, предназначенное для решения самого широкого круга задач и объединения работы различных подразделений компании в единую информационную систему. ERP-системы могут включать в себя специализированные решения второго уровня (CRM, MRP, SCM и т.д.) либо могут интегрироваться со специализированными программными продуктами, предназначенными того или иного направления деятельности.
- BPMS-системы. Что это такое. я подробно писал в статье «Что такое BPMS». Кратко напомню – это непосредственно системы нотаций бизнес-процессов. Я их ставлю на самый верхний уровень иерархии по той причине, что считаю BPMS – системой организации труда в самом «чистом» виде. При этом BPMS может являться частью любых систем организации труда – как второго уровня (CRM, HR, MRP, SCM), так и третьего (ERP). Нотации BPMS встраиваются в программные продукты, тем самым позволяя стандартизировать и упростить организацию процессного подхода к организации труда.
В этой иерархии три нижних уровня программных систем – функциональные, т.е. они выполняют определенные функции. Четвертый самый высокий уровень – BPMS – исключительно процессный.Все перечисленные выше IT-системы предназначены несут в себе определенную добавленную стоимость. Они помогают решать важные задачи.Прикладные программы позволяют создавать какие-то продукты, например, эскизы из Photoshop на следующем этапе “превращаются” в оформление товаров, упаковки, этикетки или рекламные баннеры.CRM, HR и другие подобные системы позволяют значительно экономить время специалистов и стандартизировать рабочий процесс, повышая производительность группы людей в целом.ERP-системы “собирают” функции различных подразделений и направлений деятельности в один общий “организм”, что позволяет повысить эффективность руководства, скорость решения различных задач и качество взаимодействия различных подразделений.BPMS-системы, не являясь какой-то определенной функциональной системой, не несут в себе не только достоинства готовых решений, но также избавлены от их недостатков. И позволяют сравнительно быстро интегрировать любые варианты бизнес-процессов в какой-то единый результат. На этом вопросе я остановлюсь подробнее ниже.
Почему я выбираю английские аббревиатуры и термины
Я уже в прошлых статьях писал, что предпочитаю применять английские аббревиатуры просто по той причине, что они – точнее. Кроме того, английские термины являются первичными, а русские – это различные варианты перевода.В прошлом веке в период СССР, когда на Западе развивались IT системы, в нашей стране все эти решения и связанные с ними термины были не востребованы просто потому, что плановая экономика, которая не предполагает конкуренцию за ресурсы и людей, в них не нуждалась. Теперь все эти идеи и подходы пришли и в наш бизнес. Но по понятным причинам наша страна здесь находится в роли «ведомого» и «догоняющего». А потому и термины русские – не более чем перевод, причем, часто недостаточно точный, что вносит дополнительную путаницу и усложняет понимание.
Бесклассовые IT-системы
При этом все существующие системы делятся на две категории – с разработанной методологией и без нее. В случае разработанной методологии уже из названия системы становится понятно, для чего она может применяться. Примеры — CRM, MRP, HR, ERP. В случае методологии неразработанной название также мало информативно и носит общий характер («электронный документооборот», «управление товарами», “корпоративный портал”). Главная особенность подобных программных решений заключается в том, что у них нет четкой специализации или ограничений. Они пытаются охватить как можно больше направлений деятельности, но в каждой отдельной сфере оказываются неудобными или недостаточно проработанными. Использование таких решений оправдано в определенных случаях, но, чтобы понять, подходит вам это решение или нет, придется внимательно и глубоко изучить выбранную систему. Просто исходя из названия и описания точно определить сферу применения такого продукта невозможно.
Вспомогательные IT-системы
Еще одна разновидность систем — вспомогательные. Это программные продукты, которые не влияют непосредственно на процесс организации труда. Без этих программных решений можно обойтись либо быстро найти им замену. К этому классу относятся различные мессенджеры, системы отчетности, которые выросли в самостоятельные продукты и т.д. Эти программы являются вспомогательными. Использовать их вместо основных нельзя, хотя в определенных случаях этим грешат, преимущественно, IT-компании в стремлении продать свой продукт.Да, они полезны, с их помощью работать удобнее. Но подобное программное обеспечение является всего лишь вспомогательными инструментами, которые сами по себе не несут добавленной стоимости. Они эффективны только как дополнение к основной IT-системе.
Как использовать иерархию на практике
Итак, мы создали определенную иерархию систем, основанную на организации труда. Самый нижний первый уровень – программы для организации работы одного человека, второй уровень – совместная специализированная работа (программное обеспечение для какого-то подразделения компании, выполняющего те или иные функции), третий уровень – работа компании в целом. И над ними – процессный подход к организации любого труда в принципе. Каким образом можно применять этот подход на практике?
Интеграция систем
Интеграция любых двух программных продуктов в соответствии с описанной выше иерархией возможна только по принципу снизу-вверх. Т.е. программы ниже по уровню будут служить источниками данных, а программы более высокого уровня – потребителями. Обратный поток данных возможен в определенных случаях, но эти исключения являются примерами ошибочной организации работы систем. В нашей стране встречаются и довольно часто решения, когда из ERP-системы данные выгружаются в бухгалтерскую систему или другой подобный продукт. Этот подход действительно применяется, но он является следствием ошибок в организации бизнес-процессов и внедрения IT-систем. В результате усложняется как работа программистов, занятых в доработках и внедрении ПО, так и организация работы всего бизнеса. Возникает ненужная путаница. А потому следует избегать такого направления. Обмен данными в две стороны нужен при интеграции между собой систем одного класса.Например, результаты индивидуальной работы в AutoCAD или Photoshop будут отправляться, например, в MRP, CRM или ERP систему в качестве документа, на основе которого производятся расчеты, макета, отправляемого клиенту на утверждение и т.д. В обратную сторону сотруднику могут «спускаться» результаты согласования или расчетов, но в программу индивидуальной работы они не передаются. Всю информацию человек получит из системы совместной работы.
Выбор программного продукта
При выборе программной системы всегда приходится сравнивать между собой разные продукты. С этого этапа обычно начинается любой процесс выбора. Но важно понимать. что сравнивать между собой можно только продукты одного класса, так как системы, отличающиеся друг от друга по уровню организации труда, просто несравнимы. Даже разные продукты одного уровня можно попробовать сравнить, например, CRM и HR системы. Да, они отвечают за разные направления в работе. Это очевидно при самом первом сравнении. И далее вопросов обычно не возникает. А вот попытки сравнивать CRM и ERP я наблюдал не единожды. На самом деле, это так же неразумно, как сравнивать функциональные возможности MS Word и продукта другого класса, например, той же CRM. Сверяйте программные продукты с приведенной выше классификацией, и вы с большой вероятностью избежите ошибки сравнения разных классов. Это позволит сделать выбор точнее и сэкономит ваше время.
Выведение внеклассовых систем
Если система не может быть отнесена однозначно к тому или иному классу, она является внеклассовой. Такие системы невозможно сравнивать со специализированными продуктами, созданными по определенной методологии.Внеклассовые системы – это «управление задачами», «электронный документооборот», «корпоративные порталы» и т.д. Их можно и нужно сравнивать только с им подобными внеклассовыми решениями, обладающими сходным перечнем возможностей.
Классификация программных продуктов
Программные продукты BPMS и ERP определяются очень просто. Обычно уже в названии этих систем присутствует аббревиатура, указывающая на принадлежность программы к определенному семейству. Кроме того, вы всегда можете воспользоваться перечнем признаков той или иной системы, которые я описывал в специализированных статьях: «Что такое BPMN» и «Что такое ERP».Системы для индивидуальной работы также не вызывают вопросов при классификации. Все прикладное программное обеспечение, предназначенное для работы одного сотрудника, относится к этому классу.Системы второго уровня (специализированные решения для совместной работы) классифицируются следующим образом:
- Если программное решение рассчитано на совместную работу, но при этом не является ERP или BPMS, скорей всего, это специализированная система второго класса.
- Второй шаг – проверка наличия в системе жесткой методологической основы. Если ее нет и перечень функций произволен, то это внеклассовая система. В случае, когда имеется определенная методология, функциональность и требования к подобным программным системам описаны в различной литературе (в том числе в статьях сети Интернет), назначение системы понятно уже из названия, это явно система второго класса.
Выбор специалиста для внедрения системы
При выборе специалиста важно понимать, что один человек может быть хорошим специалистом только по одной системе второго или третьего уровня. Подобные системы настолько сложны и объемны, что требуют «полного погружения» и постоянного изучения обновлений и нововведений в каждой новой версии.Многие специалисты глубоко изучают какое-то прикладное программное обеспечение, после чего переключаются на учетные системы, CRM или ERP. При этом знания о прикладном обеспечении и навыки работы с ним, конечно же, никуда не денутся. В этой категории изменения в новых версиях не столь сложны и критичны, их изучение возможно по мере необходимости параллельно с другой работой. Другое дело – большие и сложные многопользовательские продукты. Здесь быть хорошим специалистов одновременно по двум и более системам – крайне сложно. Я рекомендую относиться аккуратно к специалистам «на все руки». Скорей всего, этот человек является неплохим специалистом, изучившим разные системы на уровне опытного пользователя или чуть глубже. Установить и провести первичную настройку он сможет. Но чтобы корректно и грамотно вносить какие-то изменения в систему, доработки, интегрировать ее с другими программами нужен совсем другой уровень знаний.Классификация систем также помогает выбрать специалиста:
- Несколько прикладных программ может настроить один и тот же человек. В большинстве случаев для работы без интеграции с другими системами вам вообще не потребуется помощь. Просто устанавливаете продукт и пользуетесь. При организации интеграции лучше обратиться к специалисту, который знает хорошо прикладную программу и ту систему, с которой будет проводиться интеграция.
- При выборе специалиста по внедрению систем второго уровня или ERP обращайтесь к «узкому специалисту», т.е. к тому, кто занимается нужным вам программным продуктом.
Если вы внедряете несколько разных систем, потребуются разные технические специалисты.Конечно, вы можете заказать внедрение программного обеспечения крупной компании, в штате которой есть специалисты нужного профиля для каждого из программных продуктов, либо обратиться к бизнес-консультанту, который поможет выбрать программистов и организует рабочий процесс. Но если вы хотите выбирать специалистов самостоятельно, помните о классификации и о том, что каждая система, за исключением прикладных программ, требует отдельного специалиста.
Что такое CMS: простыми словами о сложном
Эта статья стала продолжением темы изучения инструментов разработки веб-сайтов, которую я поднял в прошлой публикации «Иерархия КИС для разработки сайтов». Как я и обещал, в этот раз мы поговорим подробно о том, что такое CMS, изучим важные особенности этого инструмента и разберемся, когда его стоит применять.
Напомню, что я пишу не для программистов, а, скорее, для пользователей, в том числе, представителей бизнеса, а также в помощь своим коллегам. Лично мне регулярно приходится отвечать на множество вопросов, связанных с выбором CMS. И нередко приходится начинать с самого простого – что это такое. Казалось бы, «движками сайтов», как нередко называют CMS, пользуются массово, и в них нет ничего сложного. Но практика показывает, что это не совсем так. Даже те, кто уже имеет сайты и постоянно обновляет информацию через административный раздел CMS, часто не понимают, с чем на самом деле работают.
Почему это важно? Для получения ожидаемого результата, очень важно понимать, что именно вам необходимо, а также уметь объяснить это специалистам. И здесь огромную роль играет терминология. О том, почему это так важно, я уже писал в статье «Терминология в IT». И сейчас мы подробно разберемся с этим вопросом в сфере веб-разработки.
Сразу уточню, что по вопросам языков программирования и фреймворкам я не планирую отдельных публикаций, просто потому, что эти темы интересны программистам, а потому не совсем соответствуют тематике блога. Все, что нужно понимать пользователям, я уже описал в упомянутой выше статье «Иерархия КИС для разработки сайтов».
Два разных взгляда на CMS
Любую CMS систему можно рассматривать с двух точек зрения:
- Доступ посетителям сайта к информации;
- Инструмент для организации труда программиста, авторов и редакторов.
С точки зрения доступа посетителей к информации, CMS – это инструмент, который генерирует код сайта, понятный браузерам. Т.е. благодаря программным решениям, имеющимся в CMS, ваши посетители смогут зайти на сайт, увидеть информацию, причем, оформленную так, как вы планировали.
Вторую точку зрения рассмотрим чуть подробнее. Если в недалеком прошлом сайтом чаще всего занимался исключительно программист, так как работать приходилось напрямую с кодом, то сейчас ситуация совсем другая. Сайты стали сложнее, а инструменты позволяют значительную часть работы выполнять на уровне пользователей.
В результате сайтом обычно занимаются:
- Программист. Создает саму «оболочку», т.е. настраивает внешний вид сайта, различные инструменты интерактивного общения с пользователями и т.д.
- Автор контента. Человек, который пишет материалы для сайта.
- Редактор или, как чаще говорят, контент-менеджер. Человек, который оформляет материалы на сайте, добавляет видео, графику и т.д.
Нередко авторы статей сами выполняют работу редактора. В этом случае человек сам пишет текст, оформляет и размещает его на сайте. Здесь все зависит от объемов каждого вида работы и других особенностей организации труда в каждом конкретном случае.
Как это работает:
- Шаг 1. Создается дизайн, т.е. общая «картинку», как будут выглядеть страницы сайта. Этим занимаются веб-дизайнеры. После согласования внешнего вида страниц эти специалисты к работе не привлекаются.
- Шаг 2. Программист (верстальщик) создает на основе дизайна «тему сайта». На этом этапе картинка превращается в HTML-код с множеством картинок и описанием стилей, т.е. того, как информация будет отображаться на сайте, каким шрифтом, в какой цветовой гамме и т.д.
- Шаг 3. Программист подключает тему в CMS и выполняет другие необходимые настройки.
- Шаг 4. Авторы и контент-менеджеры создают контент и заполняют сайт информацией.
Таким образом, получается готовый сайт, состоящий, по сути, из трех основных компонентов – CMS, тема (дизайн) и контент.
Использование CMS позволяет решить вопрос быстрого и эффективного взаимодействия между разными специалистами. Например, до создания CMS для добавления текста на сайт или даже редактирования выявленных опечаток нужно было обращаться к программисту, и он, уже в коде, вносил правки. Еще более трудоемкими и сложными были любые исправления дизайна, так как этим также занимался программист, и правил он каждую страницу отдельно. Теперь изменения вносятся один раз – в тему сайта. Далее CMS автоматически генерирует страницы с обновленным дизайном.
Основные характеристики CMS
Сегодня существует множество CMS систем с самыми разными параметрами. Некоторые из них предназначены для ведения блогов или статейно-новостных проектов, другие больше подходят для интернет-магазинов, третьи «заточены» еще под какие-то функции. Даже те системы, которые претендуют на звание универсальных, на самом деле, такими назвать сложно. В каждой из них что-то реализовано глубже, что-то более поверхностно, какие-то возможности не предусмотрены вообще.
Выбор CMS системы, в принципе, ничем не отличается от выбора любого другого программного продукта. О том, как это правильно делать, я подробно писал в статье «Выбор IT систем».
Но для простоты разберемся с основными этапами выбора CMS подробнее.
1. SAAS или Standalone
В первом случае система будет находиться на серверах разработчика, вы не будете иметь доступа к «ядру» и не сможете в случае необходимости полностью «забрать» сайт к себе на компьютер или перенести на другой хостинг. Но при этом техническая поддержка (обновления, исправления проблем) лежит на разработчиках. Во втором случае вы покупаете «коробочное» решение, которое устанавливаете на серверах по своему выбору и обслуживаете самостоятельно.
В случае выбора SAAS-решения могут возникнуть проблемы с выполнением закона РФ о защите данных пользователей, если сервер окажется зарубежным. Кроме того, при выборе иностранных сервисов нередко возникает проблема с «пингом», т.е. ваш сайт будет медленно загружаться у пользователей.
Дело в том, что сайт формируется следующим образом:
- Браузер пользователя отправляет запрос на сервер.
- Сервер, где хранится CMS и базы данных, в ответ формирует ответ на основе которого ваш браузер формирует страницу.
Чем дальше от пользователя находятся сервера, тем выше вероятность задержки передачи данных.
С другой стороны, многие SAAS-решения позволяют создавать сайты даже без помощи программистов. Так называемые, «конструкторы сайтов» позволяют пользователям делать сравнительно сложные проекты из готовых модулей.
В случае выбора Standalone вы сможете контролировать, в какой стране и на каких серверах хранятся данные, сможете в любой момент сменить хостинг-провайдера. Но без программиста здесь уже никак не обойтись.
2. Платные и бесплатные CMS
Как и многие другие программные системы, CMS бывают бесплатными и коммерческими. К последним относятся, например, Bitrix и Magento. В числе самых популярных бесплатных стоит назвать CMS Drupal, WordPress, Joomla. На самом деле, CMS – очень много, перечислять их все не имеет смысла.
Главное, на что нужно обращать внимание при выборе коммерческого решения:
- Редакция. Насколько выбранный вариант подойдет для ваших целей.
- Стоимость CMS. Возможно, есть решение ничем не хуже, но выгоднее.
- Цена обновлений. Это очень важный параметр, так как часто люди считают, что обновления будут поставляться бесплатно «по умолчанию», но это не всегда так.
Кроме того, обращайте внимание на наличие и цену необходимых вам модулей. Даже в случае выбора бесплатной CMS, дополнительные модули могут оказаться платными. Например, сама CMS WordPress полностью бесплатна. Но если вам хочется чего-то большего, чем может сама система, понадобятся дополнительные загружаемые модули. Какие-то можно просто скачать, другие вы найдете только в магазине за определенную сумму. Более того, большинство качественных плагинов к этой CMS – платные. Для скачивания доступны только самые простые решения.
3. Наличие модуля интернет-магазина
Если вы планируете создание виртуальной торговой площадки, обязательно изучите CMS на наличие нужных вам возможностей. Существуют специализированные CMS, предназначенные, в первую очередь, для создания интернет-магазинов. В других типах могут быть подключаемые модули интернет-торговли.
В любом случае оцените возможности движка или подключаемого модуля:
- Насколько он соответствует вашим пожеланиям?
- Реализованы ли там все нужные вам инструменты?
- Можно ли к ним подключить какие-то системы оплаты и т.д.
Например, CMS WordPress создавалась для ведения блогов. Для нее созданы модули электронной торговли, например, WooCommerce. Но он очень ограничен в своих возможностях, и реализовать здесь многие современные решения в сфере электронной торговли будет крайне сложно или невозможно.
Есть еще CMS которые изначально созданы для ведение интернет торговли, например Prestoshop.
4. Скорость работы
От этого параметра зависит, в первую очередь, скорость загрузки страниц сайта. Особенно это важно для пользователей мобильных устройств или устаревших компьютеров. Некоторые CMS сами по себе «легкие» и быстрые. Другие, например, Bitrix, заметно «перегружены» возможностями, что негативно влияет на скорость работы. А есть и такие, что, казалось бы, и причин низкой скорости не видно, а все равно «тормозят». Чаще всего, это самописные или редко используемые CMS.
В широко известных системах в случае проблем со скоростью загрузки всегда можно оптимизировать этот параметр. В том же Drupal, скорей всего, будет достаточно отключить ненужные модули. и включить кеширование. Решение проблемы часто даже не требует участия программиста.
В случае самописных или малоизвестных систем, оптимизация работы потребует участия профессионалов именно по этой системе, и даже они не всегда смогут решить вопрос.
5. Безопасность
Бытует ошибочное мнение, что чем популярнее система, тем чаще ее взламывают. Считается, что раз CMS активно используется, значит, она привлекает повышенное внимание хакеров. На самом деле, это не совсем так. С одной стороны, да, атаки на популярные системы идут чаще. С другой стороны, благодаря активному использованию «баги» выявляются быстро и «дыры» в безопасности закрываются при обновлениях, и взломать становиться сложнее.
Обращайте внимание на частоту обновлений CMS. Если разработчики ей занимаются, обновления будут выходить регулярно, как минимум, раз в один или два месяца. Слишком частые обновления – также не лучший показатель, как минимум, это не удобно. Но их отсутствие с точки зрения безопасности намного хуже.
6. Масштабируемость
Даже если сегодня вы создаете скромный сайт-визитку, скорей всего, в будущем вам захочется подключить новые возможности, расширить функционал. А потому важно обращать внимание на масштабируемость не только по количеству возможных пользователей, с этим современные сайты справляются без проблем, но и с точки зрения функционала.
Например, если вы захотите к блогу на WordPress подключить форум, это возможно, но подключаемый вариант – не самый удобный. Аналогично с интернет-магазином, об этом я уже говорил выше. Или, например, при работе с Joomla, пока вы работаете с информационным сайтом или небольшой торговой площадкой, проблем не будет. Но любая попытка автоматизации через API, например, обмен данными с CRM, вызовет большие сложности.
7. Шаблонизация (темы)
Обязательно изучите, как работает выбранная CMS с шаблонами (готовыми темами), много ли готовых шаблонов можно найти в сети, есть ли бесплатные варианты и т.д.
Дело в том, что разные CMS по-разному работают с шаблонами. Например, в Drupal есть встроенный шаблонизатор, который позволяет программисту работать с шаблонами без использования PHP. В WordPress или Bitrix подобного шаблонизатора нет. Хотя возможность загружать и редактировать темы имеется и в этих системах, но не столь гибкая.
Также нужно понимать, что готовые темы, которые идут в комплекте с CMS, скорей всего, вам не подойдут. Я практически не встречал достойных внимания встроенных решений оформления сайта.
Существует два выхода:
- Скачать или купить готовый шаблон.
- Заказать дизайн с нуля с последующей шаблонизацией.
Независимо от выбранного пути, чем больше существует готовых шаблонов под выбранную CMS, тем лучше. В первом случае у вас будет широкий выбор, во втором не возникнет сложностей с поиском специалиста по верстки для создания уникального шаблона.
И еще раз о типах CMS
Отдельно хочется сказать о существовании двух разных типов CMS:
- Система управления сайтом, совмещающая в себе управление контентом и генерацию сайта для пользователей. Об этом типе мы говорили выше.
- Система управления контентом. В этом случае система предназначена только для создания контента, а далее программист или другая система используют его для наполнения сгенерированного сайта. При этом за сайт отвечает совсем другая программа.
Пример второго варианта систем - content-cms.ru и contentful.com. Есть и другие аналоги, в том числе, не столь специализированные. Главная особенность – в системе невозможно ни настраивать сайт, ни менять его шаблон, ни управлять какими-то модулями. Есть только пользователи с их уровнем доступа и возможность добавлять, редактировать и удалять контент. Давайте разберемся подробнее, как это работает.
Полноценная CMS
Все данные и программные решения размещаются на вашем хостинге. Более того, “движок” должен находиться там постоянно, так как при каждом обращении пользователя система генерирует код запрошенной страницы, а не хранит готовые html-странички в файлах.
Процесс работы с сайтом выглядит следующим образом:
- Программист один раз устанавливает и настраивает CMS.
- Авторы и контент-менеджеры создают, удаляют и редактируют контент без участия программиста.
- В случае необходимости изменить дизайн, поправить стили или добавить на страницы какие-то функции, работа программиста занимает минимум времени. Правки в шаблон или таблицу стилей вносятся один раз, после чего система начинает использовать обновленную версию для генерации страниц. Добавление функций чаще всего заключается в подключении готовых модулей. Бывают случаи, когда требуется написание кода, но они, скорее, исключение.
В результате вы получаете полноценный сайт с возможностью подключения любых интерактивных модулей. Для работы с проектом большую часть времени не нужен программист, управлять контентом, общаться с пользователями, управлять правами доступа сможет опытный пользователь.
Система управления контентом без автоматической генерации сайта
В этом случае вы используете сервис, в котором можете создавать страницы с контентом, т.е. сочетание текста, графики, видео с готовой html-разметкой. По сути, то же самое делает контент-менеджер в полноценной CMS с применением визуального редактора. Но вы получаете только код контента, без шаблона сайта, меню и других важных атрибутов.
Далее понадобится помощь программиста, чтобы он собрал все эти статьи, после чего вручную или, что чаще, при помощи специальных программ сгенерировал готовый сайт.
Часто сервисы управления контентом уже содержат в себе такой софт, и тогда о них говорят как о генераторах статичных сайтов. На самом деле, они просто собрали вместе два отдельных компонента - CMS второго типа и генератор страниц.
И даже в этом случае обойтись без программиста не выйдет. Необходимо этот набор файлов корректно перенести на хостинг, возможно, для корректного отображения понадобится вносить правки в ручном режиме и т.д.
Для небольших лендингов или статичных сайтов-визиток подобные системы прекрасно подходят и даже имеют свои преимущества. Вы получаете готовые страницы в виде набора файлов, сайт можно размещать практически на любом хостинге, в том числе, на бесплатных с минимальным объемом места и “урезанными” возможностями.
Но есть и целый перечень минусов:
- Для внесения изменений понадобится знание HTML, CSS, javascript и т.д. Без помощи программиста вносить правки на уже готовый сайт вы не сможете.
- Редактирование готовых статичных страниц сайта – процесс трудоемкий. Вам придется либо полностью генерировать сайт с нуля и загружать все файлы на хостинг заново, либо, как мы описали выше, заниматься ручными правками на уровне кода, причем, даже мелкие изменения потребуют значительных затрат времени.
- Статичные сайты крайне ограничены с точки зрения интерактивного обмена информацией с пользователями. Системы генерации контента не подойдут для сложных проектов, в том числе, полноценных интернет-магазинов или систем обслуживания клиентов.
По сути, системы генерации контента нельзя назвать полноценными CMS, о которых я рассказывал выше. Их использование потребует постоянного участия программиста, т.е. совсем другой системы организации труда. Если вам нужен небольшой информационный ресурс, проблем не возникнет. Вы сгенерируете набор статичных страниц и сможете выложить их в сеть. Но если вы планируете постоянно работать с проектом, развивать его, получать обратную связь от пользователей, выбирайте полноценную CMS.
Вопросы и ответы
Конструкторы сайтов: что это такое?
Я уже говорил о конструкторах выше, но хочу выделить это отдельно, так как вопрос очень популярен. Существует множество онлайн-конструкторов сайтов, платных или бесплатных. Это может быть Wix, Tilda, Jimdo, Syte123 и многие другие. Все они также являются одним из видов CMS.
Конструкторы сайтов классифицируются как SAAS-решения с закрытым кодом. Это не всегда удобно для разработки сложных проектов, так как разработчики предоставляют минимум возможностей для программистов. Обычно они ограничиваются изменением шаблона и работой с API (также часто в урезанном варианте). Если вам потребуется больше, придется обращаться к разработчикам и пробовать договариваться с ними за отдельную плату.
Но, тем не менее, это такие же полноценные CMS, как и любые другие. И если возможностей конструктора вам достаточно, а цена ежемесячной оплаты устраивает, вполне возможно, что именно этот вариант будет идеальным. Ведь у вас будет всегда полноценная техподдержка и автоматические обновления, а помощь программиста не понадобится совсем.
Какая CMS лучше?
Однозначно ответить на этот вопрос невозможно. Все зависит от ваших требований и возможностей. Лично я предпочитаю работать с CMS Drupal, считаю ее – одной из лучших разработок для самых разных типов сайтов.
Преимущества системы:
- Универсальная. Подходит для статейных проектов, посадочных страниц (лендингов), интернет-магазинов, корпоративных сайтов и для многого другого.
- Бесплатная. Причем, имеет большой перечень встроенных инструментов, которые достаточно просто подключить.
- С открытым кодом. При необходимости программист может вносить значительные изменения в работу сайта.
- Множество шаблонов и модулей. Библиотеки дополнений к Drupal обширны, всегда есть из чего выбирать.
- Быстрая и надежная.
Мы уже более 10 лет создаем сайты на CMS Drupal, ранее это была версия 7, теперь появилась версия 10. Как и в любой CMS, в ней есть свои особенности, но результат нравится нам и нашим клиентам.
Какая CMS лучше – платная или бесплатная?
На самом деле, это не самое главное. Намного важнее выбирать по техническим параметрам. Т.е. если система подходит под ваши цели, значит, она хорошая.
Для простых блогов или небольших корпоративных сайтов подойдет практически любая CMS. Если вы решили создавать что-то более сложное, то нужно начинать с составления списка требований, а финансовый вопрос оставить на этап финального выбора, когда вы будете определяться между двумя или тремя практически одинаковыми.