Компьютерная система

Взаимодействие между заказчиком и программистом – сложный процесс. Почему? Ведь обе стороны заинтересованы в одном результате. На практике при внедрении программного обеспечения и автоматизации работы не получается найти общий язык, прийти к взаимопониманию и выстроить качественное взаимодействие. Когда заказчик и исполнитель не понимают друг друга, желание обеих сторон реализовать успешный проект становится неосуществимым.

Осознание важности взаимопонимания между заказчиком и программистом приходит с опытом. Каждый опытный программист может рассказать печальную историю, когда из проекта с большими ожиданиями не получилось ровным счетом ничего. Таких историй много, но причина чаще всего одна.

Истоки проблемы – в непонимании заказчиками базовой терминологии, используемой при разработке и внедрении электронных продуктов. Типична ситуация, когда пользователь и программист фактически говорят на разных языках. Не обладая знаниями в сфере IT-технологий, заказчик использует специфическую терминологию «на автопилоте», не вдумываясь в глубинный смысл произнесенных понятий. Как результат – провал проекта, претензии и неудовлетворенность результатом.

Без знания базовых терминов, используемых IT-специалистами, невозможна успешная реализация даже небольшого проекта. Задача заказчика – грамотно оперировать основными понятиями, чтобы делать верные шаги уже на стадии обсуждения будущего программного продукта. Для этого следует разобрать базовую терминологию.

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

Профессия программиста всегда на слуху. Тем не менее, большинство не понимает, кто такие программисты и чем занимаются разработчики ПО. Та же проблема с понятием «компьютерная информационная система» (КИС): термин используется, а понимание его сущности – отсутствует.

Рассмотрим ситуацию на примере из жизни. Обращаясь к парикмахеру, вы понимаете, какой специалист перед вами. Вы знаете, какую услугу он оказывает, какая информация для него важна и какими словами ее лучше выразить. Обращаясь к программисту, заказчик хочет получить услугу, но не имеет четкого представления о характере его работы. Заказчик не владеет базовыми категориями, понятыми IT-специалисту, или того хуже – употребляет термины, не зная их значения. Проблема IT-сферы в том, что терминология, которая была бы понятна неспециалисту, отсутствует.

Перейдем к понятию компьютерной информационной системы. Людям в принципе непонятно, что это такое. Объяснить данный термин на ходу без специальной подготовки – нелегкая задача. Более того, основная масса интернет-источников не дает понятное рядовому пользователю определение IT-системы. Объяснение термина в Википедии, одном из самых популярных информационных ресурсов, предназначено для специалистов. Человек, не имеющий глубоких знаний в сфере IT, воспримет данную информацию как набор сложных слов, далеких от практики.

Цель данной статьи – дать определение компьютерной информационной системы, которое будет понятно широкому кругу пользователей. Это будет первым шагом в достижении взаимопонимания между заказчиком и IT-специалистом.

Понятие IT-системы

Изучая определения термина «компьютерная информационная система», можно заметить, что они очень разные. В одних источниках приведены сложные и всеобъемлющие понятия, в других – краткие, затрагивающие лишь отдельные аспекты. Почти все определения не объясняют термин объективно, а всего лишь выражают его авторское понимание.

Чтобы прийти к понятию IT-системы, рассмотрим этапы создания любого нового программного продукта:

  1. Идея. Осознание необходимости сделать так, «чтобы что-то делало вот такие действия».
  2. Создание модели.
  3. Кодинг. Смоделированный алгоритм становится реальным в процессе написания программного кода, в перспективе предназначенного для использования людьми.

Компьютерная система (программный продукт) – это концепция, выраженная через язык программирования. Так можно определить любую IT-систему на самом общем уровне.

Чтобы задумка работала, стала чем-то материальным, недостаточно даже самого гениального компьютерного кода. Материальную основу идеи должен создать человек.

Рассмотрим пример из жизни. IT-специалист создал компьютерную программу, написав код. Но ее работа невозможна без компьютера, отвечающего за запуск программы, и монитора, представляющего информацию в формате, понятном для пользователя. Необходим и человек, который в случае необходимости будет запускать программу, следить за ее работоспособностью, периодически обслуживать и модернизировать.

Особенности компьютерных систем

Каждый заказчик решает задачу: необходимо правильно выбрать компьютерное обеспечение и при этом понять, что нужно будет сделать с ним дополнительно в будущем. При этом правильнее всего пользоваться сформулированным определением «идеи, выраженной через язык программирования».

Первый шаг при выборе программного обеспечения – концентрация на идее. Требуется понять, какую мысль хотел воплотить автор, и каким получился результат. Необходимо выделить основные принципы, на которых построена задумка.

Если потребителю не удается понять предназначение программного обеспечения, скорее всего он попадет в ситуацию, когда его представления не совпадают с представлениями разработчика. Как результат – покупка ненужного продукта и потраченное время на разработку.

Из этого становится очевидным тот факт, что покупатель программного обеспечения обязательно должен иметь свою собственную идею. То есть понимать, каким он хочет видеть программный продукт, какие функции должно выполнять программное обеспечение. Идея точно должна существовать – необязательно выражать ее на профессиональном языке, достаточно понимания на уровне пользователя.

Допустим, вы собираетесь разместить на сайте компании калькулятор КАСКО. Значит, функция программного обеспечения должна заключаться именно в расчете стоимости страховки с учетом информации об автомобиле, его владельце, регионе регистрации и других параметров. Ваша идея – расчет стоимости именно КАСКО. Следовательно, вам не подойдет просто калькулятор или иная система расчетов, предназначенная для другой цели. Важно, чтобы идеей разработчика программного продукта тоже был расчет стоимости КАСКО. Иначе вы рискуете получить неподходящий продукт или программное обеспечение, требующее огромных усилий при доработке.

При покупке или разработке крупных IT-систем заказчику необходимо четко формулировать список требований к программе. На следующем этапе – убедиться, что разработчик электронного продукта выразил поставленные требования в программном коде. Только так можно определить программное обеспечение, которое будет обладать для заказчика ценностью – решать именно ту задачу, которая была поставлена.

Не менее важный момент – соответствие желания реализованному решению. В процессе разработки программисты по разным причинам часто уходят от базовой идеи. В результате программный продукт или только отчасти реализует идею, или не реализует ее вовсе. Необходимо проверять соответствие исходной идеи полученному результату с помощью консультаций, предварительного тестирования и других способов.

Существует еще одна проблема. Идея, которую вам пытаются продать, может полностью совпадать с вашей, но не совпадать с представлениями разработчика. Другими словами, заказчик может быть намеренно неверно проинформирован о принципах работы программного продукта: ему говорят об одном, а продают – другое.

Коммерческие продукты создаются для получения прибыли от их продажи. Поэтому часто качественная работа программного обеспечения, заключающаяся в решении поставленной пользователем задачи, уходит на второй план. Заказчик уверен, что покупает нужную ему идею, но при этом его интересы стоят на втором месте. Электронный продукт создается для продажи, а не для решения задач пользователя. Он может казаться удобным и красивым, но не обладать необходимым функционалом или работать плохо.

Ситуацию можно сравнить с покупкой подержанного автомобиля. Внешне транспортное средство может выглядеть идеальным, но при этом иметь запрет на регистрационные действия, ошибки в работе электроники или вообще может быть восстановленным после ДТП. С программными продуктами – то же самое.

Маркетинг и программное обеспечение

Говоря о программных продуктах, большая часть пользователей не рассматривает их с точки зрения идеи. Причина в том, что IT-система воспринимается как материальным товар. То, что можно увидеть, оценить, «пощупать». Продать товар относительно просто, ведь он существует здесь и сейчас.

Купить и продать идею сложнее. Она воспринимается как нечто абстрактное, не имеющее ничего общего с реальностью. А значит, невозможно вести разговор о ее преимуществах и непосредственной пользе. Пользователю непонятно, как можно осуществлять выбор идеи и почему одна идея лучше другой. Гораздо проще и удобнее сравнивать товары.

Задача маркетолога – показать преимущества программного продукта потребителю. Эту задачу упрощает наличие определенной цены. Представление о программном обеспечении конкретизируется до того момента, пока оно не начинает восприниматься как готовый продукт. Такой же, как авторучка или компьютерная мышь. Покупая программное обеспечение, пользователи воспринимают его как продукт, готовый к использованию. И часто их обескураживает тот факт, что реализация информационной системы невозможна без настройки, доработки и обслуживания программистами.

Покупка программного продукта

Правильный выбор программного обеспечения базируется на двух критериях:

  1. Идея покупателя должна совпадать с идеей разработчика по всем ключевым параметрам.
  2. Идея должна быть реализована в коде так, чтобы программный продукт решал задачи, поставленные потребителем.

Чтобы выбрать IT-систему, пользователю нужно прийти к пониманию собственной идеи: какую функцию должна выполнять компьютерная информационная система, какие параметры в ней являются ключевыми, а какие – второстепенными. Функции, которые не являются для потребителя необходимыми, можно рассматривать как приятный бонус. Но чаще – как ненужные возможности, которые увеличивают сумму покупки.

Из предложенных программных продуктов разумно интересоваться только теми, в описании которых присутствует сформулированная вами идея. Идеально, если она выделена как основная, а другой функционал – как дополнительный.

Следующий шаг – изучение качества реализации идеи. Для этого могут быть использованы отзывы других покупателей, пробные версии программного обеспечения. Проверка качества реализации идеи должна быть тщательной, ведь фактически функционал может быть далек от указанного в описании.

Часто при выборе софта используется неверная тактика. Пользователь проверяет, реализованы ли необходимые ему функции, не рассматривая программное обеспечение с точки зрения идеи. Нужный функционал присутствует и работает, но не решает задачу пользователя. Зато компьютерная программа содержит огромное количество дополнительных и ненужных функций, увеличивающих сумму покупки. Уходит много сил, времени и ресурсов на доработку IT-системы, если доработка вообще возможна. Результат – финансовые потери и неудовлетворенность результатом.

Рассмотрим пример. Если вам нужен сайт-визитка, нет смысла покупать CMS для социальной сети, хотя в ней присутствует весь необходимый функционал – большая его часть просто не потребуется. Если вам нужен интернет-магазин, не стоит использовать бесплатный «движок» - на доработку и адаптацию кода потребуются серьезные финансовые вложения, а функционал все равно останется ограниченным. Возникнут проблемы с внедрением новых функций. Гораздо проще и выгоднее изначально совершить обдуманную покупку, отвечающую основной идее.

На одном языке с разработчиком

Люди, далекие от мира информационных технологий, считают всех программистов одинаковыми. Большинство уверено, что с программистом сложно найти общий язык – это человек, живущий чуть ли не в другом мире. Однако понимание сути IT-систем помогает правильно выбрать разработчика для написания или доработки программного обеспечения и конструктивно вести диалог.

Чтобы прийти к взаимопониманию с программистом, нужно:

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

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