Экономика программной инженерии
Выбери формат для чтения
Загружаем конспект в формате doc
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
МИНОБРНАУКИ РОССИИ
Федеральное государственное бюджетное образовательное учреждение высшего образования
«МИРЭА – Российский технологический университет»
РТУ МИРЭА
_____________________________________________________________________________________
ИКБСП
Кафедра КБ-9 «Прикладная и бизнес-информатика»
доцент кафедры, к.э.н. Кириллина Ю.В.
ЛЕКЦИИ
по дисциплине «Экономика программной инженерии»
2018 г.
СОДЕРЖАНИЕ
Тема 1 Введение в экономику программной инженерии 3
Тема 2 Основные особенности рынка ПО и ИТ 5
2.1 Понятие программного продукта и ИТ-услуги 5
2.2 Рынок информационных технологий 9
2.3 Программное обеспечение как товар 16
2.4 Жизненный цикл программного продукта 21
2.5 Особенности распространения программного обеспечения 25
Тема 3 Предприятия ИТ-сферы 27
3.1 Основные особенности ИТ-компаний 27
3.2 Основы налогообложения ИТ-компаний 28
3.3 Модели ведения бизнеса ИТ-компаний 41
Тема 4 Маркетинг на рынке ПО 45
4.1 Понятие и цели маркетинга 45
4.2 Сегментирование и позиционирование на рынке ПО 46
4.3 Продвижение и реклама 48
4.4 Специфика продаж программного продукта 50
Тема 5 Оценка трудоемкости и сроков разработки ПО 53
5.1 Измерения и метрики в разработке ПО 53
5.2 Критерии выбора модели оценки и метрик 55
5.3 Метрики размера программного обеспечения 58
5.3.1 Число строк кода 58
5.3.2 Метрики Холстеда 59
5.3.3 Функциональные точки (Function points) 59
5.3.4 Точки свойств (Feature points) 62
5.3.5 Объектные точки (Object points) 62
5.4 Неалгоритмические методы оценки трудозатрат 63
5.4.1 Оценка по аналогии 63
5.4.2 Экспертная оценка 64
5.4.3 Принцип Паркинсона 64
5.4.4 Цена победы 65
5.5 Алгоритмические методы 65
5.6 Модель COCOMO 67
Тема 6 Ценообразование на рынке ПО и ИТ 69
6.1 Особенности ценообразования в ИТ 69
6.2 Оценка стоимости программного продукта 70
6.3 Ценообразование при разработке ПО на заказ 72
Тема 7 Технико-экономическое обоснование проектов по разработке ПО 76
7.1 Цели технико-экономического обоснования 76
7.2 Основные технико-экономические показатели 77
Рекомендуемая литература……………………………………………………………………………...….83
Тема 1 Введение в экономику программной инженерии
Программная инженерия в основном представляет собой интеллектуальный вид деятельности, направленный на решение проблем высочайшего уровня сложности с бесконечным числом неизвестных в постоянно меняющихся условиях.
Программная инженерия — это интегрирование принципов математики, информатики и компьютерных наук с инженерными подходами, разработанными для производства осязаемых материальных артефактов. Также программная инженерия определяется как системный подход к анализу, проектированию, оценке, реализации, тестированию, обслуживанию и модернизации программного обеспечения, то есть применение инженерии к разработке программного обеспечения.
Экономика (от др.-греч. οἰκονομία, буквально — «искусство ведения домашнего хозяйства») — совокупность общественных наук, изучающих производство, распределение и потребление товаров и услуг.
В современных условиях под термином «экономика» может пониматься следующее:
• хозяйство района, региона, страны, группы стран или всего мира (например: мировая экономика, экономика России и т. д.);
• научная дисциплина, занимающаяся изучением народного хозяйства в целом, некоторых условий и элементов производства (народонаселения, труда, управления и т. д.), отдельных отраслей (промышленности, машиностроения, сельского хозяйства, животноводства, образования и т. д.);
• исторически определенная совокупность экономических отношений между людьми, складывающихся в процессе производства, распределения, обмена, потребления и образующих определенную экономическую систему.
Курс «Экономика программной инженерии» опирается на второе из этих определений, рассматривая создание программного обеспечения как составную часть отрасли народного хозяйства, называемой «информационно-коммуникационные технологии» и изучает основные экономические закономерности и экономические проблемы, связанные с разработкой ПО.
В условиях рынка основной целью деятельности предприятий является удовлетворение общественных потребностей, получение прибыли и обеспечение своей финансовой устойчивости.
На рисунке показаны три поколения основных достижений технологии в части инструментария, компонентов и процессов. Необходимый уровень качества и персонал принимаются постоянными. По оси ординат откладывается стоимость единицы ПО (строка исходного кода (SLOC) или функциональная точка или компонент), созданного некоей организацией. Ось абсцисс представляет жизненный цикл использования ПО в бизнесе данной организации.
Рисунок 1 — Три поколения экономики создания ПО, ведущие к намеченной цели
Одним из показателей, характеризующих доходность работы предприятия является окупаемость инвестиций (англ. Return On Investment (ROI)). Он используется для оценки эффективности инвестиций или для сравнения эффективности нескольких различных инвестиций. Чтобы вычислить ROI, прибыль от инвестиций необходимо разделить на инвестиционные затраты, результат может быть как коэффициент, либо процент. Предприятия стремятся к улучшению (повышению значения) ROI.
Три поколения процессов разработки ПО могут быть определены следующим образом:
1. Традиционный: 60-е — 70-е гг., кустарное производство. Организации используют кустарный инструментарий, кустарные процессы и практически все компоненты для заказчика пишутся на примитивных языках. Результат выполнения проекта был легко предсказуем в том смысле, что он практически никогда не укладывался в заранее заданные стоимость, сроки и качество.
2. Переходный: 80-е — 90-е гг., программная инженерия. Организации используют воспроизводимые процессы и готовые инструменты, а большинство создаваемых компонентов (>70%) пишется на языках высокого уровня. Некоторые компоненты (системы, системы управления базами данных, сетевое ПО и графический интерфейс пользователя. В течение 80-х гг. некоторые организации начинают достигать экономии при больших масштабах, однако с ростом сложности приложений (особенно при переходе к распределенным системам) существовавшие языки, методы и технологии оказались недостаточными для того, чтобы поддерживать требуемый уровень промышленного создания.
3. Современная практика: начиная с 2000 г., производство ПО. Применение управляемых и измеряемых процессов, интегрированных сред автоматизации и по большей части (70%) готовых компонентов. Возможно, всего лишь 30% компонентов следует создавать на заказ. Используя преимущества технологии создания ПО и интегрированных сред разработки, можно очень быстро создавать системы, построенные из компонентов.
Тема 2 Основные особенности рынка пО и ИТ
2.1 Понятие программного продукта и ИТ-услуги
Программа – это последовательность команд компьютера, приводящая к решению поставленной перед разработчиком задачи.
Под программным обеспечением (ПО) чаще всего понимают программный продукт в совокупности с необходимой для его установки и эксплуатации технической документацией.
Программный продукт (ПП) можно охарактеризовать как комплекс взаимосвязанных программ, позволяющий решать определенную бизнес-задачу и, как правило, предназначенный для последующей реализации на рынке.
Большинство существующих сегодня на рынке ПП представляют собой своеобразные программные комплексы, состоящие из отдельных программных модулей. Совокупность и взаимосвязь программных модулей между собой принято называть архитектурой ПП.
Модуль – это самостоятельная часть программы, имеющая определенное назначение и обеспечивающая заданные функции обработки автономно от других программных модулей.
Использование подобной архитектуры не случайно, потому что это позволяет решать следующие задачи:
а) с точки зрения разработчика.
— распределять работы по исполнителям, обеспечивая их загрузку и требуемые сроки разработки;
— строить календарные графики проектных работ и осуществлять их координацию в процессе создания программного продукта;
— контролировать трудозатраты и стоимость проектных работ.
Кроме того, структурное разбиение ПП на отдельные составляющие служит основой и для выбора средств их создания. Так, при этом выделяются многократно используемые модули, проводится их типизация и унификация, за счет чего сокращаются сроки и трудозатраты на разработку ПП в целом.
б) с точки зрения заказчика. Для заказчика деление ПП на отдельные модули удобно тем, что оно позволяет подобрать именно ту конфигурацию ПП, которая необходима ему на текущий момент, а кроме того предоставляет заказчику возможность изменения конфигурации в процессе использования ПП путем приобретения дополнительных или отказа* от ранее приобретенных модулей (*отказ возможен при использовании SaaS-модели. SaaS (англ. software as a service — программное обеспечение как услуга; также англ. software on demand — программное обеспечение по требованию) — одна из форм облачных вычислений, модель обслуживания, при которой подписчикам предоставляется готовое прикладное программное обеспечение, полностью обслуживаемое провайдером. Поставщик в этой модели самостоятельно управляет приложением, предоставляя заказчикам доступ к функциям с клиентских устройств, как правило через мобильное приложение или веб-браузер. Основное преимущество модели SaaS для потребителя услуги состоит в отсутствии затрат, связанных с установкой, обновлением и поддержкой работоспособности оборудования и работающего на нём программного обеспечения).
С точки зрения разработчика, модель SaaS позволяет эффективно бороться с не лицензионным использованием программного обеспечения (пиратством), поскольку само программное обеспечение не попадает к конечным заказчикам. Кроме того, концепция SaaS часто позволяет уменьшить затраты на развертывание и внедрение информационных систем, хотя и не исключает их полностью.
Необходимо отметить, что модель SaaS ориентирована на предоставление услуг с помощью Интернета, и исторически ее развитие непосредственно связано с развитием глобальной сети. Первые компании, предлагавшие программное обеспечение как услугу, появились в западных странах в 1997-1999 годах, а акроним SaaS вошел в широкое употребление в 2001 году.
Программное обеспечение по требованию обладает следующими ключевыми признаками:
1. Доступ к программному обеспечению удаленно предоставляется по сетевым каналам через веб-интерфейс.
2. Программное обеспечение развертывается в едином дата-центре, а не на мощностях каждого конкретного заказчика.
3. Программное обеспечение предоставляется на условиях аренды и предполагает периодические платежи. Стоимость технической поддержки обычно включена в стоимость арендной платы;
4. Обновления программного обеспечения устанавливаются централизованно на стороне провайдера SaaS.
Технология SaaS (Software Services) является составной частью Cloud Computing, одной из трех основных, наряду с IaaS (Infrastructure as a Service) и PaaS (Platform as a Service).
Уровни моделей Cloud Computing:
1. SaaS (Software-as-a-Service, программное обеспечение как услуга) — провайдер предоставляет клиенту готовое к пользованию приложение.
2. IaaS (Infrastructure-as-a-Service, инфраструктура как услуга) — провайдер предлагает клиенту вычислительные ресурсы в аренду: серверы, системы хранения, сетевое оборудование, операционные системы и системное ПО, системы виртуализации, системы управления ресурсами.
3. PaaS (Platform-as-a-Service, платформа как услуга) – провайдер предлагает клиенту программную платформу и инструменты для проектирования, разработки, тестирования и развертывания приложений пользователя.
В общем виде программные продукты традиционно принято делить на три основных класса:
1. Системные программные продукты
а) операционные системы, обеспечивающие распределение вычислительных ресурсов ПК между разными программами, а также предоставляющие им доступ к компонентам и периферийным устройствам ПК (MS-DOS, UNIX, MSWindows, Linux, OS/2 и др.);
б) операционные или системные оболочки — программы, которые облегчают работу с файловой системой ОС (TotalCommander, DOSNavigator, Farmanager и др.);
в) драйверы — программы, обеспечивающие работоспособность внутренних компонентов ПК и периферийных устройств;
г) справочно-информационные и тестирующие программы — программы, анализирующие состав компонентов и периферийных устройств ПК, а также проверяющие их работоспособность (NortonUtilities, NokiaMonitorTest и др.);
д) антивирусные пакеты — программы, обеспечивающие безопасную работу ПК и его защиту от различных вредоносных программ (NOD 32, Avast, Symantec др.);
е) программы-оптимизаторы — программы, поддерживающие в оптимальном состоянии системный реестр и файловую систему ОС (NortonUtilities, WinBoost, RAMBooster, SystemMechanic и др.)
ж) программы-архиваторы — программы, «сжимающие» информацию в целях уменьшения занимаемого ею объема памяти (WinZIP, WinRAR и др.).
2. Средства разработки приложений
а) средства проектирования приложений:
— графическая нотация моделирования бизнес-процессов BPMN (Vision 2003 + BPMN, AcuaLogicBPMN, Eclipse, SybasePowerDesigner);
— построение блок-схем (Vision 2003 и др);
— построение ER-диаграмм (Visio 2003, ERWin, Sybase Power Designer и др).
— построение UML-диаграмм (Sybase Power Designer, Rational Rose и др).
б) средства реализации программного кода:
— языки программирования (C++, C#, Java, PHP и др);
— средства создания пользовательского интерфейса (MFC, WPF, QT, GTK+ и др);
— средства управления версиями программного кода (CVS, svn, VSS);
— средства получения исполняемого кода (MS VisualStudio, gcc и др);
— средства управления базами данных (Оracle, MySQL и др);
— отладчики (MS Visual Studio, gdbит.д.).
в) средства тестирования программ:
— средства анализа кода (CodeWizard, Purify, TestCoverage и др);
— средства для тестирования функциональности (TEST, QACenter, BorlandSilkTest и др);
— средства для тестирования производительности (QACenterPerformance и др).
3. Различные приложения. Самая многочисленная группа программных продуктов – различные пользовательские приложения. В их числе:
а) текстовые редакторы (MSWord, OpenOffice, AdobePageMaker и др);
б) табличные процессоры или электронные таблицы (MS Excel, BorlandQuattroPro, Lotus и др);
в) графические редакторы (Paint, CorelDraw, AdobePhotoShop и др);
г) музыкальные редакторы (WaveLab, Sony Sound Forge, Cubase, Frooty Loops и др.);
д) видео-редакторы (Sony Vegas, Adobe Premiere, Pinnacle Studio идр);
е) браузеры (MS Internet Explorer, Opera, Mozilla Firefox, Google Chrome и др.);
ж) электронные учебники — программные комплексы, разработанные с использованием достижений в области мультимедиа технологий.
З) видеоигры.
И целый ряд других приложений самого разного назначения.
Также можно привести еще один вариант классификации ПП. Так, в зависимости от предназначения ПП — для конкретного заказчика или всего ИТ-рынка — можно выделить (рис.): тиражные (коробочные) программные продукты — коммерческие ПП специального и широкого применения; заказные (внутрифирменные) программные продукты, разрабатываемые для информационной поддержки управления конкретным бизнес-процессом либо адаптируемые к требованиям определенных бизнес-процессов.
Процессы разработки тиражных и заказных программных продуктов соответствуют стандартному и индивидуальному подходам к созданию продукта. Проблема выбора заказчиком между стандартным и индивидуальным ПП при информатизации своих бизнес-процессов стояла и будет стоять еще долгое время. Безусловно, любой способ создания (приобретения) прикладного ПП таит в себе свои риски. Всегда есть риск купить типовой пакет прикладных программ, в течение продолжительного времени пытаться его освоить, но в конечном итоге не получить ожидаемого эффекта. С другой стороны, имеется риск разработать или заказать индивидуальный прикладной программный продукт, работающий с ошибками, непригодный для сопровождения и не соответствующий техническим и отраслевым стандартам. Кроме того, имеется риск «затянуть» проект или попасть в опасную зависимость от разработчиков (как внешних, так и внутренних).
Рисунок 2 ― Классификация ПП
Внутрифирменные программные продукты разрабатываются, как правило, по специальным заказам собственными или сторонними программистами. Именно к данной группе ПП относится часто используемый в последнее время термин «заказное ПО». Коммерческие продукты специального применения предназначены для использования ограниченным кругом пользователей в определенных предметных областях (издательские системы, научные пакеты и пр.). Принципиальное отличие между коммерческими ПП специального назначения и ПП широкого применения состоит в способе их распространения: ПП широкого применения изначально ориентировано на использование разветвленной сетью потребителей и в этом плане может характеризоваться как «коробочное» ПО; специальные программные продукты распространяются, прежде всего, самими разработчиками, и только самые лучшие образцы — фирмами-посредниками.
Одним из вариантов классификации программных продуктов является разделение на три самостоятельных класса:
• прикладное программное обеспечение — программный продукт для индивидуальных пользователей (программы для развлечений, образования и обработки данных, автоматизации бизнес-процессов в экономике, коммерции, бизнесе, индустрии и др.);
• общесистемное программное обеспечение — комплекс программ, обеспечивающих эффективное управление компонентами вычислительной системы. В отличие от прикладного ПО, системное программное обеспечение не решает конкретные прикладные задачи, а лишь обеспечивает работу других программ, управляет аппаратными ресурсами вычислительной системы и т. д. К общесистемному ПО обычно относят операционные системы, сервисные программные средства, в том числе и средства защиты.
• инструментальное программное обеспечение (средства разработки и развертывания), предназначенное для профессионального использования специалистами по проектированию и разработке различных ПП (языки и среды программирования проектирования, проблемно-ориентированные оболочки, системы управления базами данных).
Основные виды ИТ-услуг
Услуга — результат непроизводственной деятельности предприятия или лица, направленный на удовлетворение потребности человека или организации в использовании различных продуктов. Информационная услуга — получение и предоставление в распоряжение пользователя информационных продуктов. В узком смысле информационная услуга часто воспринимается как услуга, получаемая с помощью компьютеров, хотя на самом деле это понятие намного шире. Перечень услуг определяется объемом, качеством, предметной ориентацией по сфере использования информационных ресурсов и создаваемых на их основе информационных продуктов. Информационные услуги возникают только при наличии баз данных в компьютерном или некомпьютерном варианте.
Несмотря на частое использование термина ИТ-услуги, единого и четкого определения, что именно следует понимать под последними, не выработано до сих пор.
Фактически под ИТ-услугой теперь можно понимать решение любых бизнес-задач клиента, основанное на использовании современных информационных технологий.
Существуют различные подходы к классификации ИТ-услуг, одна из них представлена на Рисунке.
Рисунок 3 — Структура рынка ИТ-услуг в терминологии IDC
2.2 Рынок информационных технологий
В истории развития общества можно выделить несколько информационных революций, связанных с существенными преобразованиями общественных отношений вследствие кардинальных изменений в сфере обработки информации.
Первая из них связана с изобретением письменности. Этот качественный скачок в обработке информации привел к возможности передачи знаний от поколения к последующим поколениям.
Вторая информационная революция (середина XVI в.) вызвана изобретением книгопечатания, которое радикально изменило способы хранения, обработки и передачи информации.
Третья информационная революция (конец XIX в.) обусловлена изобретением электричества, благодаря которому появились телеграф, телефон, радио, позволяющие оперативно передавать и накапливать информацию в любом объеме.
Четвертая информационная революция (70-е гг. XX в.) связана с изобретением микропроцессорной технологии и появлением персонального компьютера. На микропроцессорах и интегральных схемах создаются компьютеры, компьютерные сети, системы передачи данных (информационные коммуникации). Последняя информационная революция выдвинула на первый план новую отрасль — информационную индустрию, связанную с производством технических средств, методов, технологий для производства новых знаний. Важнейшими составляющими информационной индустрии становятся все виды информационных технологий, особенно телекоммуникации. Современная информационная технология опирается на достижения в области компьютерной техники и средств связи.
Информационная технология (ИТ) — процесс, использующий совокупность средств и методов сбора, обработки и передачи данных (первичной информации) для получения информации нового качества о состоянии объекта, процесса или явления. Телекоммуникации — дистанционная передача данных на базе компьютерных сетей и современных технических средств связи.
Бурное развитие компьютерной техники и информационных технологий послужило толчком к развитию общества, построенного на использовании различной информации и получившего название информационного общества. Информационное общество — общество, в котором большинство работающих занято производством, хранением, переработкой и реализацией информации, особенно высшей ее формы – знаний.
Одним из основных понятий информационного общества является информационный ресурс. Под информационными ресурсами понимаются отдельные документы и отдельные массивы документов в информационных системах (библиотеках, архивах, фондах, банках данных, других информационных системах). Информационные ресурсы являются базой для создания информационных продуктов. Любой информационный продукт отражает информационную модель его производителя и воплощает его собственное представление о конкретной предметной области, для которой он создан. Информационный продукт, являясь результатом интеллектуальной деятельности человека, должен быть зафиксирован на материальном носителе любого физического свойства в виде документов, статей, обзоров, программ, книг и т.д.
Рынок информационных продуктов и услуг (информационный рынок) — система экономических, правовых и организационных отношений по торговле продуктами интеллектуального труда на коммерческой основе. Информационный рынок характеризуется определенной номенклатурой продуктов и услуг, условиями и механизмами их предоставления, ценами. В отличие от торговли обычными товарами, имеющими материально-вещественную форму, здесь в качестве предмета продажи или обмена выступают информационные системы, информационные технологии, лицензии, патенты, товарные знаки, ноу-хау, инженерно-технические услуги, различного рода информация и прочие виды информационных ресурсов.
Поставщиками информационных продуктов и услуг могут быть:
— центры, где создаются и хранятся базы данных, а также производится постоянное накопление и редактирование в них информации;
— центры, распределяющие информацию на основе разных баз данных;
— службы телекоммуникации и передачи данных;
— специальные службы, куда стекается информация по конкретной сфере деятельности для ее анализа, обобщения, прогнозирования, например консалтинговые фирмы, банки, биржи;
— коммерческие фирмы;
— информационные брокеры.
Потребителями информационных продуктов и услуг могут быть различные юридические и физические лица.
Условно рынок информационных продуктов и услуг можно поделить на пять секторов, представленных на рисунке 4.
Рисунок 4 — Сектора рынка информационных продуктов и услуг
С точки зрения экономики программной инженерии наибольший интерес представляет сектор информационных систем и средств, который состоит из следующих частей:
— консультирование по различным аспектам информационной индустрии (какие технические средства и программное обеспечение необходимо для реализации профессиональной деятельности, нужна ли информационная система и какая, на базе какой информационной технологии лучше организовать свою деятельность и т.д.);
— программные продукты — программные комплексы с разной ориентацией (системное программное обеспечение, программы общей ориентации, прикладное программное обеспечение по реализации функций в конкретной области принадлежности, по решению задач типовыми математическими методами и др.);
— технические средства — компьютеры, телекоммуникационное оборудование, оргтехника, сопутствующие материалы и комплектующие;
— подготовка источников информации — создание баз данных по заданной теме, области, явлению и т.п.;
— разработка и сопровождение информационных систем и технологий —обследование организации в целях выявления информационных потоков, разработка концептуальных информационных моделей, разработка структуры программного комплекса, создание и сопровождение баз данных.
Так как во всем мире рынок программных продуктов и услуг рассматривается как один из сегментов рынка информационно-коммуникационных технологий (ИКТ), анализ тенденций развития рынка ПО и У нередко проводится в рамках анализа всего рынка ИКТ в целом. Это можно объяснить тесной взаимосвязью, которая существует между компьютерным и телекоммуникационным оборудованием и программным обеспечением, необходимым для их эксплуатации.
Объем мирового рынка ИКТ по ежегодно составляет более $3 трлн, примерно половина из которых, т.е. $1,5 трлн приходится на рынок программных продуктов и услуг. Причем по мнению аналитиков компании IDC, объем мирового ИТ-рынка ежегодно растет еще на 7% до $1,65 трлн, при этом расходы на программное обеспечение и услуги растут на 5% и 4% соответственно.
Схожие данные приводит и FТ500. Так, суммарная капитализация транснациональных корпораций сектора ИКТ в последние 3-4 года стабильно превышает 3 трлн. долларов США и конкурирует за 1-2 место с сектором «Банки и финансы» (также более 3 трлн. долларов), опережая сектор «Нефть и газ» (более 2 трлн. долл. США).
Темпы развития отрасли ИКТ опережают темпы роста всех остальных отраслей, а в дальнейшем доля ИКТ в ВВП всех стран будет только нарастать. По пессимистическим оценкам, объем сектора ИКТ к 2025 году утроится. Более оптимистические оценки прогнозируют удвоение объемов каждые 5 лет, то есть в 5-7 раз к 2025 году с последующей стабилизацией сектора.
Рассмотрим основные особенности, присущие рынку ПП и У, проявляющие себя в специфике спроса на ПП и услуги или особой природе конкуренции.
1. Оптимизация затрат на ИТ.
Исследования показывают, что, например, из 48 тыс. серверов BankofAmerica реально используются всего лишь 8–12%. Кризисные явления в экономике, спады производства вынуждают не только мелкий бизнес, но и крупные компании оптимизировать затраты на ИТ. Полная модернизация и покупка нового оборудования заменяется оптимизационными работами по отладке и интеграции существующей ИТ-системы, сокращается объем покупаемых часов технической поддержки ПП, происходит переход от покупки лицензий на ПП к аренде последнего через SaaS.
2. Осознание опасности «инвестиционной ловушки».
Приобретение ПП означает и покупку определенного способа осуществления бизнес-процессов, что может привести к риску попадания в зависимость от конкретного продавца ПП. Инвестиционная ловушка в этом случае включает в себя невозвратные затраты на обучение персонала, оплату лицензии, расходы по модернизации и приобретению приложений.
Одним из решений проблемы может стать приобретение ПП с открытым кодом, которые позволяют компании самой дорабатывать программы в нужном направлении по мере возникновения такой потребности.
3. Интерес к интеграционным решениям.
Как следствие рассмотренного выше аспекта, растет интерес к универсальным ПП, которые обеспечивали бы возможность одновременного использования ПО различных, чаще всего конкурирующих, производителей.
4. Эффект перелета.
Эффект перелета связан с тем, что сегодня сферы использования и производительность многих ПП значительно превышают реальные потребности непрофессиональных пользователей из мира бизнеса и тем более в области домашнего хозяйства. Закупив сложное технологическое оборудование и приобретя лицензии на комплексные ПП, предприятия-заказчики начинают осознавать свою неспособность ― в силу нецелесообразности― использовать ПП на 100%. Это стимулирует их переходить на более дешевые базовые версии, которые зачастую поставляются небольшими ИТ-фирмами, фрилансерами и компаниями-аутсорсерами.
5. Поляризация спроса.
В последнее время усиливается и углубляется поляризация между двумя типами пользователей ПП, где на одном краю оказываются непрофессионалы, способные применять компьютеры исключительно для самых простых операций, а на другом профессионалы высокого уровня. Для решения этой проблемы разработчики часто выпускают ПП в двух версиях: полной для квалифицированных пользователей и сокращенной для непрофессионалов.
6. Повышенные требования к информационной безопасности.
Растут требования к информационной безопасности предлагаемых на рынке ПП, поскольку неудовлетворительная защита деловой и личной информации от несанкционированного доступа и вирусов может не только затруднить нормальную деятельность компании, но и стать фактором ее банкротства. Однако по мере того, как ПП распространяется среди пользователей, его защитные компоненты устаревают, в результате чего-либо необходимы дополнительные ресурсы для закупки обновления, либо отказ от него. Наряду с устареванием функциональных возможностей, это также снижает интерес к предыдущим версиям ПП.
7. Положительный эффект масштаба.
ИТ-отрасль характеризуется значительными первоначальными вложениями. Однако если ПП уже написан, ограничений для его воспроизводства с точки зрения технологии практически не существует. Копирование и распространение ПП почти не требует затрат и может, с экономической точки зрения, рассматриваться как сопровождающаяся нулевыми предельными издержками.
8. Волноообразный характер динамики отрасли.
Развитие ИТ-отрасли подвержено волнообразной динамике. Сначала инновационный продукт появляется у одного-двух разработчиков — лидеров рынка. Этот ПП подвергается многочисленным доработкам, в нем устраняются первичные ошибки, продукт подстраивается под более массового заказчика.
После чего в отрасль входит большое число фирм-последователей. Объемы продаж растут. Все потенциальные клиенты оказываются охваченными данным ИТ-продуктом. И как только пик рынка достигнут, компании-разработчики выпускают на рынок новый ПП, в то время как старый отходит на второй план. Его производство либо резко прекращается, либо уходит в малозначительную нишу. И волна повторяется вновь.
9. Другая природа конкуренции.
Информационные технологии изменяют природу конкуренции. Наличие сетевого эффекта и точки «критической массы» означает, что лучший, с точки зрения, качества и технологических характеристик ПП не всегда оказывается в числе победителей. Первостепенную роль играют ожидания потребителей относительно того, какая именно из конкурирующих технологий окажется доминирующей. Большая клиентская база компании в этих условиях служит сигналом жизнеспособности фирмы. Потребители формируют свои ожидания, опираясь на известность бренда, влияние СМИ (насколько часто продукт упоминается в популярной прессе), предварительные объявления о разработках со стороны самих ИТ-компаний.
Таким образом, в сфере ИТ-конкуренция имеет место главным образом не внутри рынка, а за рынок, за выбор потребителями той или иной высокотехнологичной платформы.
10. Основные отрасли-заказчики.
Наиболее частые заказы на разработку ПП приходят от компаний финансового сектора и банков. На втором месте находятся сами ИТ-фирмы и телекомы. Третье место по частоте заказов занимает розничная торговля.
2.3 Программное обеспечение как товар
Действующий ГОСТ 19781-90 «Обеспечение систем обработки информации программное. Термины и определения» определяет программу как «данные, предназначенные для управления конкретными компонентами системы обработки информации в целях реализации определенного алгоритма», а программное обеспечение — как «совокупность программ системы обработки информации и программных документов, необходимых для эксплуатации этих программ». При этом по назначению выделяются прикладные программы — «предназначенные для решения задачи или класса задач в определенной области применения системы обработки информации» и системные программы — «предназначенные для поддержания работоспособности системы обработки информации или повышения эффективности ее использования в процессе выполнения прикладных программ».
Согласно ст. 1261 ч. 4 Гражданского кодекса Российской Федерации, «программой для ЭВМ является представленная в объективной форме совокупность данных и команд, предназначенных для функционирования ЭВМ и других компьютерных устройств в целях получения определенного результата, включая подготовительные материалы, полученные в ходе разработки программы для ЭВМ, и порождаемые ею аудиовизуальные отображения».
Аналогично понятия «программа» и «программное обеспечение» определяются в стандартах и законодательстве других стран.
Различные пользователи используют разное прикладное программное обеспечение, в состав которого могут входить приложения горизонтальной и вертикальной сферы.
Приложения горизонтальной сферы — это средства, независимые от конкретной области применения:
— офисные приложения (текстовые редакторы, табличные процессоры, редакторы презентаций);
— системы управления ресурсами предприятия (Enterprise Resource Planning, ERP), системы управления взаимоотношениями с клиентами (Customer Relationship Management, CRM), системы автоматизации бухгалтерского учета, системы управления проектами, системы автоматизации документооборота, системы управления архивами документов, корпоративные сайты и порталы);
— системы управления цепочками поставок (Supply Chain Management, SCM);
— системы бизнес-аналитики (Business Intelligence, BI);
— системы автоматизации бухгалтерского учета;
— системы автоматизации документооборота и др.
Приложения вертикальной сферы — это специализированные средства для конкретной области применения:
— информационные системы торговых компаний;
— билинговые системы операторов связи;
— автоматизированные банковские системы и др.
Отдельно от системного и прикладного выделяется инструментальное программное обеспечение, к которому относятся средства и среды разработки программного обеспечения, а также системы управления базами данных.
Классифицируя программное обеспечение по способам его распространения, прежде всего, следует выделить распространяемое на возмездной и безвозмездной основе. Нужно также выделить программное обеспечение, приобретаемое легально (у правообладателя) и пиратским путем (без ведома правообладателя). При этом возможны различные комбинации: программные продукты могут приобретаться легально и возмездно, легально и безвозмездно, пиратским путем на возмездной основе, пиратским путем на безвозмездной основе. Далее следует выделить программное обеспечение, передаваемое пользователям, и программное обеспечение, доступное на серверах владельцев (SaaS). Если программное обеспечение передается пользователям, то важна также форма передачи: на правах собственности или аренды. Наконец, отметим, что программное обеспечение различается по степени устаревания и обновления. Обычно разработчики программного обеспечения постоянно занимаются улучшением потребительских качеств программных продуктов и регулярно выпускают новые версии и обновления. Для одних видов программного обеспечения (операционных систем, офисных пакетов и др.) новые версии представляют собой самостоятельные продукты, которые могут быть приобретены сами по себе, но в целях ценовой дискриминации производители предлагают пользователям переход на новую версию (upgrade) по сниженной цене по сравнению с покупкой новой версии как самостоятельного продукта. Использование других видов программных продуктов (антивирусов, систем автоматизации бухгалтерского учета и др.) бессмысленно без постоянного обновления (update), поэтому, как правило, разработчики предлагают пользователям подписки на обновления в течение определенного срока.
Одной из особенностей программных продуктов как объектов продажи является то, что они относятся к группе интеллектуальных товаров и обладают всеми признаками, отличающими товары такого рода. В их числе:
1) нематериальность заложенных в ПП знаний означает их физическую неосязаемость, которая влечет за собой сложность в оценке себестоимости разработки таких товаров;
2) идемпотентность понимается в алгебраическом смысле: два одинаковых интеллектуальных товара полностью эквивалентны одному такому товару, т. е. знание, будучи однажды создано, может, не теряя своих свойств, использоваться многократно (бесконечно много раз) одним или многими потребителями (и не исчезать в процессе потребления в отличие от традиционных товаров). В приложении к товарам рынка программного обеспечения это означает возможность установки неограниченного числа копий одного и того же программного продукта на различные компьютеры. При этом стоимость копирования программного обеспечения бесконечно мала по сравнению со стоимостью его разработки, что приводит к эффекту возрастания отдачи от масштаба распространения. Тиражирование продукции на рынке программного обеспечения производится практически без материальных затрат ― в отличие от создания новых продуктов. Себестоимость записи программы на компакт-диск достаточно мала, а себестоимость распространения копии продукта через Интернет еще меньше;
3) наличие (или отсутствие) института защиты авторских прав, который гарантирует, что интеллектуальный товар можно купить только у правообладателя (производителя).
Основное отличие программного обеспечения от других интеллектуальных товаров — литературных текстов, музыкальных записей, видеофильмов и др. — состоит в том, что программное обеспечение является не просто экономическим благом, оно может входить в интеллектуальный капитал организаций, являясь интеллектуальным средством труда.
Кроме того, потребительская ценность других интеллектуальных товаров заключена, в первую очередь, в их содержании, а не в форме. Например, литературное произведение имеет для потребителей приблизительно одинаковую ценность независимо от того, предлагается ли оно в форме печатной книги, электронной книги, или же в форме воспроизведения текста в радиопередаче.
В этом отношении программное обеспечение существенно отличается от других интеллектуальных товаров. Оно является комплементарным товаром к аппаратному обеспечению и не может быть использовано без аппаратного обеспечения.
Еще одна особенность — распространение технологий облачных приложений (cloudcomputing), которые позволяют разработчику предлагать программные продукты не только на условиях приобретения лицензии и последующей инсталляции на сервере заказчика, но и в форме своеобразной аренды в рамках модели SaaS.
Softwareas a service (SaaS) ― предоставление программного обеспечения в качестве услуги ― это модель предложения программного обеспечения потребителю, при которой поставщик разрабатывает Интернет-приложение, размещает его в сети и управляет им (самостоятельно либо через третьих лиц), предоставляя потребителю возможность использования услуг поставщика программного обеспечения посредством предоставления доступа к программому обеспечению через Интернет.
Обобщим отличительные особенности разработки ПО от производства обычных видов продукции:
— ПО представляет собой не физический, а интеллектуальный продукт. Поэтому при его создании действуют скорее человеческие и логические ограничения, а не физические закономерности;
— технические требования к ПО нельзя считать стабильными. Наоборот, при разработке ПО более характерны постоянно меняющиеся требования к нему;
— производительность труда при создании ПО может варьироваться в широких пределах, причем эти колебания выше для отдельных исполнителей, нежели для творческих коллективов;
— дефекты ПО являются следствием человеческих ошибок и неграмотности, а не низкого качества материалов;
— ценность физических продуктов определяется их техническими характеристиками, а ПО оценивают еще и с учетом их интерактивной функциональности;
— экономические аспекты качества ПО определяются преимущественно процессами согласования требований к ним. Цена ПО обычно в большей степени определяется этими процессами, нежели их соответствием установленным требованиям;
— стоимость непосредственного изготовления ПО составляет незначительную часть их полной стоимости, определяемой в основном затратами на разработку, внедрение и испытания.
— статистические методы не применимы к процессу тиражирования, поскольку все копии, как правило, являются однородными по качеству;
— стоимость содержания ПО определяется иными методами, так как эти активы не поддаются капитализации и амортизации.
2.4 Жизненный цикл программного продукта
Программные продукты, как и все прочие товары и услуги, характеризуются жизненным циклом.
Жизненный цикл ПП определяется как совокупность последовательных состояний программного продукта и всех действий по его преобразованию, начиная с анализа потребности в автоматизации определенных бизнес-процессов и заканчивая полным изъятием ПП из эксплуатации. Жизненный цикл ПП состоит из следующих этапов:
a) маркетинг рынка программных средств, спецификация требований к программному продукту;
b) проектирование структуры программного продукта;
c) программирование (создание программного кода), тестирование, автономная и комплексная отладка программ;
d) документирование программного продукта, подготовка эксплуатационной и технологической документации;
e) выход на рынок программных средств, распространение программного продукта;
f) эксплуатация программного продукта пользователями;
g) сопровождение программного продукта;
h) снятие программного продукта с продажи, отказ от сопровождения.
На рисунке изображены этапы жизненного цикла и показаны их временное соответствие друг другу. Рассмотрим содержание отдельных этапов жизненного цикла.
Рисунок 5 ― Этапы жизненного цикла программного продукта
Маркетинг и спецификация программного продукта предназначены для изучения требований к создаваемому программному продукту, а именно:
— определение состава и назначения функций обработки данных программного продукта;
— установление требований пользователя к характеру взаимодействия с программным продуктом, типу пользовательского интерфейса (система меню, использование манипулятора мышь, типы подсказок, виды экранных документов и т.п.);
— требования к комплексу технических и программных средств для эксплуатации программного продукта и т.д.
На данном этапе необходимо выполнить формализованную постановку задачи. Если программный продукт создается не под заказ и предполагается выход на рынок программных средств, маркетинг выполняется в полном объеме: изучаются программные продукты-конкуренты и аналоги, обобщаются требования пользователей к программному продукту, устанавливается потенциальная емкость рынка сбыта, дается прогноз цены и объема продаж. Кроме того, важно оценить необходимые для разработки программного продукта материальные, трудовые и финансовые ресурсы, ориентировочные длительности основных этапов жизненного цикла программного продукта. Если программный продукт создается как заказное программное изделие для определенного заказчика, на данном этапе также важно правильно сформулировать и документировать задание на его разработку. Ошибочно понятое требование к программному продукту может привести к нежелательным результатам в процессе его эксплуатации.
Проектирование структуры программного продукта связано с алгоритмизацией процесса обработки данных, детализацией функций обработки, разработкой структуры программного продукта (архитектуры программных модулей), структуры информационной базы (базы данных) задачи, выбором методов и средств создания программ-технологии программирования.
Программирование, тестирование и отладка программ являются технической реализацией проектных решений и выполняются с помощью выбранного инструментария разработчика (алгоритмические языки и системы программирования, инструментальные среды разработчиков и т.п.). Для больших и сложных программных комплексов, имеющих развитую модульную структуру построения, отдельные работы данного этапа могут выполняться параллельно, обеспечивая сокращение общего времени разработки программного продукта. Важная роль принадлежит используемым при этом инструментальным средствам программирования и отладки программ, поскольку они влияют на трудоемкость выполнения работ, их стоимость, качество создаваемых программ.
Документирование программного продукта является обязательным видом работ, выполняемых, как правило, не самим разработчиком, а лицом, связанным с распространением и внедрением программного продукта. Документация должна содержать необходимые сведения по установке и обеспечению надежной работы программного продукта, поддерживать пользователей при выполнении функций обработки, определять порядок комплексирования программного продукта с другими программами.
Успех распространения и эксплуатации программного продукта в значительной степени зависит от качества его документации. На машинном уровне программного продукта, как правило, создаются:
— автоматизированная контекстно-зависимая помощь (HELP);
— демонстрационные версии, работающие в активном режиме по типу обучающих систем (электронный учебник) или пассивном режиме (ролик, мультфильм) — для демонстрации функциональных возможностей программного продукта и информационной технологии его использования.
Выход программного продукта на рынок программных средств связан с организацией продаж массовому пользователю. Этот этап должен по возможности быть коротким, для продвижения программных продуктов применяются стандартные приемы маркетинга: реклама, увеличение числа каналов реализации, создание дилерской и дистрибьютерной сети, ценовая политика — продажа со скидками, сервисное обслуживание и др. Требуется постоянная программа маркетинговых мероприятий и поддержки программных продуктов.
Как правило, для каждого программного продукта существует своя форма кривой продаж, которая отражает спрос (рисунок).
Рисунок 6 ― Кривая продаж программного продукта
Вначале продажа программного продукта идет вверх — возрастающий участок кривой. Затем наступает стабилизация продаж программного продукта. Фирма-разработчик стремится к максимальной длительности периода стабильных продаж на высоком уровне. Далее происходит падение объема продаж, что является сигналом к изменению маркетинговой политики фирмы в отношении данного программного продукта, требуется модификация данного продукта, изменение цены или снятие с продажи.
Эксплуатация программного продукта идет параллельно с его сопровождением, при этом эксплуатация программ может начинаться и в случае отсутствия сопровождения или продолжаться в случае завершения сопровождения еще какое-то время. После снятия программного продукта с продажи определенное время также может выполняться его сопровождение. В процессе эксплуатации программного продукта производится устранение обнаруженных ошибок. Снятие программного продукта с продажи и отказ от сопровождения происходят, как правило, в случае изменения технической политики фирмы-разработчика, неэффективности работы программного продукта, наличия в нем неустранимых ошибок, отсутствия спроса.
Длительность жизненного цикла для различных программных продуктов неодинакова. Для большинства современных программных продуктов длительность жизненного цикла измеряется в годах (2-3 года). Хотя достаточно часто встречаются на компьютерах и давно снятые с производства программные продукты. Особенность разработки программного продукта заключается в том, что на начальных этапах принимаются решения, реализуемые на последующих этапах. Допущенные ошибки, например при спецификации требований к программному продукту, приводят к огромным потерям на последующих этапах разработки или эксплуатации программного продукта и даже к неуспеху всего проекта. Так, при необходимости внесения изменений в спецификацию программного продукта следует повторить в полном объеме все последующие этапы проектирования и создания программного продукта.
2.5 Особенности распространения программного обеспечения
Традиционные формы распространения программного обеспечения.
Рынок программного обеспечения можно позиционировать как рынок лицензий, основанных на авторском праве. На сегодняшний день существуют следующие традиционные инструменты распространения коммерческого программного обеспечения:
1. Традиционные лицензионные договоры, заключаемые в письменной форме и предусматривающие паушальный платеж (единоразовый платеж, выплачиваемый одной суммой или в рассрочку, но при этом в сравнительно короткий срок) и роялти (периодические выплаты продавцу за право пользования предметом лицензионного соглашения).
2. Коробочные (или оберточные) лицензии, напечатанные на упаковке продукта (или размещенные на сайте, с которого пользователи скачивают продукт), представляющие собой разновидность договора оферты, к которой покупатель присоединяется, вскрыв упаковку или завершив скачивание копии продукта с сайта (оферта ― адресованное одному или нескольким конкретным лицам предложение, которое достаточно определенно и выражает намерение лица, сделавшего предложение, считать себя заключившим договор с адресатом, которым будет принято предложение); этот вид лицензий был введен в практику в 70-х гг. XX в. корпорацией Microsoft, и получил наиболее широкое распространение в связи с отсутствием необходимости в переговорах о цене лицензии в процессе торговли, что создает определенные психологические удобства как для производителя, так и для потребителя.
3. Договоры аренды, по которым программное обеспечение остается в собственности производителя, а потребитель получает право пользования программным продуктом в течение оговоренного срока.
4. Подписки на обновления, когда потребитель приобретает право пользования постоянно развивающимся программным продуктом, а также право на периодическое получение очередных версий и обновлений продукта; такой способ наиболее удобен для распространения антивирусов, бухгалтерских пакетов, а также справочных правовых систем.
Следует отметить, что лицензии, подписки на обновления и договоры аренды программного обеспечения могут быть бессрочными, а могут иметь определенный срок действия.
При этом часть программных продуктов — так называемое предустановленное программное обеспечение — продается вместе с аппаратным обеспечением (как правило, таким способом распространяется системное программное обеспечение). Другая часть программных продуктов приобретается пользователями дополнительно.
Довольно давно применяются еще две формы распространения программного обеспечения:
1) частично бесплатное программное обеспечение (Partially Freeware) — такая форма предполагает, что часть пользователей, например, студенты и школьники, могут пользоваться продуктом бесплатно, а остальные пользователи обязаны приобретать лицензии на возмездной основе;
2) условно бесплатное программное обеспечение (Shareware) — когда пользователю предлагается версия продукта, ограниченная по возможностям (неполнофункциональная или демонстрационная версия), сроку действия (пробная версия) или версия со встроенным напоминанием о необходимости оплаты использования программы, и пользователь имеет возможность перейти к использованию полной версии после платной регистрации. Кроме того, некоторые программные продукты (драйверы устройств, веб-браузеры и др.) традиционно распространяются бесплатно.
Тема 3 ПредприятиЯ ИТ-СФЕРЫ
3.1 Основные особенности ИТ-компаний
Ведущим звеном экономики, ее основой являются предприятия, которые производят продукцию и услуги, сосредоточивают в своей собственности большую часть общественного капитала, определяют деловую активность экономики, обеспечивают занятость населения, формируют бюджет страны
По цели и характеру деятельности в ИТ-сфере, как в любой иной отрасли, можно выделить два вида организаций:
— коммерческие — деятельность которых направлена на систематическое получение прибыли от пользования имуществом, продажи товаров, выполнения работ или оказания услуг;
— некоммерческие, которые не имеют в качестве основной цели своей деятельности извлечение прибыли и не распределяют полученную прибыль между участниками организации.
Существование последних обеспечивается бюджетным финансированием государства. Их создание, как правило, обусловлено необходимостью оказания различных ИТ-услуг для других государственных и общественных структур (например, вычислительные или информационные центры при министерствах, жилищно-коммунальных службах, медицинских учреждениях и т.п.). Такие организации в первую очередь ориентированы на максимизацию общественной выгоды. Однако большинство ИТ-компаний относится к коммерческим организациям и преследуют цель максимизации собственной прибыли.
Существуют несколько факторов, на основании которых все предприятия и организации подразделяются на различные группы. Рассмотрим особенности ИТ-компаний в соответствии с этой классификацией.
1. Используемые ресурсы. Разработка ПП и оказание ИТ-услуг являются трудоемкими процессами, а сами ИТ-компании относятся к трудоемким. Для них характерна высокая доля затрат на оплату труда в совокупных издержках производства. Такие компании, как правило, имеют высокую степень разделения труда.
2. Отраслевая принадлежность. ИТ-компании относятся к сектору информационных и коммуникационных технологий, сфера «ИТ-продукция и услуги».
3. Местоположение. Выбор места расположения ИТ-компании может определяться рядом критериев, в числе которых:
— ориентация на трудовые ресурсы − количество трудовых ресурсов необходимой квалификации в регионе и цена рабочей силы;
— ориентация на налоги – характерно размещение (регистрация) центров разработки в зонах с особым правовым статусом (ПВТ) или в странах, в которых предоставляются различные налоговые льготы;
— ориентация на потребителя – если ИТ-компания ориентирована на определенного потребителя или группу потребителей, она может иметь представительства в соответствующих регионах.
Остальные критерии, важные при выборе места для предприятий других отраслей, как то ориентация на материалы, транспортные средства, источники энергии для сферы ИТ значения не имеют.
4. Размер предприятия. Сфера ИТ представлена компаниями самого разного размера: от крупных транснациональных компаний, насчитывающих тысячи работающих до небольших компаний и индивидуальных предпринимателей (фрилансеров).
5. Организационно-правовая форма. Для сферы ИТ нет никаких ограничений с точки зрения выбора организационно-правовой формы собственности. Осуществлять деятельность в сфере ИТ можно как с образованием юридического лица (в форме ООО, АО, ПАО), так и без образования оного (в форме индивидуального предпринимательства).
3.2 Основы налогообложения ИТ-компаний
На развитие предпринимательства влияет множество различных факторов, в их числе:
— внутренняя среда;
— внешняя среда;
— государственная поддержка (программы, стимулирующие развитие предпринимательства);
— государственное регулирование (квоты и лицензии).
Также на развитие предпринимательства весомое воздействие оказывает система налогообложения.
Выбор системы налогообложения является наиболее важным и сложным направлением развития бизнеса любого субъекта предпринимательской деятельности, будь то ООО или индивидуальный предприниматель (ИП). Ведь от этого зависит достижение самой главной цели любого бизнеса – получение прибыли.
В соответствии с отечественным законодательством в России действуют следующие режимы налогообложения, которые могут применять малые предприятия и индивидуальные предприниматели:
1. Общий режим, при котором уплачиваются в бюджет все установленные налоги.
2. Специальные налоговые режимы:
— упрощенная система налогообложения;
— налогообложение единым налогом на вмененный доход для определенных видов деятельности;
— иные специальные налоговые режимы.
Общий режим налогообложения предполагает ведение налогового учета по многим налогам, входящим в данный режим. В частности, это относится к налогу на добавленную стоимость, налогу на прибыль организаций, налогу на доходы физических лиц и др.
Рисунок 7 — Элементы общей системы налогообложения
Постановлением Правительства РФ от 15.11.2017 № 1378 установлена предельная база для начисления страховых взносов в 2018 году:
• на пенсионное страхование ― 1 021 000 рублей;
• на обязательное социальное страхование ― 815 000 рублей.
Постановлением Правительства РФ от 28.11.2018 № 1426 установлена предельная база для начисления страховых взносов в 2019 году:
• на пенсионное страхование ― 1 150 000 рублей;
• на обязательное социальное страхование ― 865 000 рублей.
По достижению этих выплат (отдельно по каждому работнику) плательщик выплачивает взносы по пониженным тарифам: 10% в ПФРФ и 5,1% в ФОМС.
ИТ-компании имеют возможность платить в ПФРФ, ФССРФ, ФОМС по льготным ставкам. Для этого они должны удовлетворять определенным условиям. Одним, из которых является наличие государственной аккредитации как организации, осуществляющей деятельность в области информационных технологий.
В соответствии с Положением о государственной аккредитации организаций, осуществляющих деятельность в области информационных технологий, утвержденным постановлением Правительства Российской Федерации №758 от 6 ноября 2007 года, государственную аккредитацию может получить российская организация, осуществляющая деятельность в области информационных технологий, независимо от организационно-правовой формы и формы собственности при условии, что данная организация осуществляет разработку и реализацию программ для ЭВМ и баз данных на материальном носителе или в электронном виде по каналам связи независимо от вида договора и (или) оказывает услуги (выполняет работы) по адаптации программ ЭВМ и баз данных (программных средств и информационных продуктов вычислительной техники), установке, тестированию и сопровождению программ ЭВМ и баз данных.
Для аккредитованных организаций, осуществляющих деятельность в области информационных технологий (ИТ-компании), законодательством предусмотрены следующие преференции:
• пониженные тарифы страховых взносов (не более 14 процентов) при соблюдении дополнительных условий о доле «профильных» доходов и численности работников;
• право включать расходы на приобретение электронно-вычислительной техники в состав материальных расходов (для целей налогообложения прибыли) в размере полной стоимости такого имущества по мере ввода его в эксплуатацию (без амортизации) при соблюдении дополнительных условий о доле «профильных» доходов и численности работников;
• возможность привлекать к трудовой деятельности в Российской Федерации высококвалифицированных специалистов из числа иностранных граждан в упрощенном порядке.
Пониженные тарифы страховых взносов могут применять ИТ-компании при следующих условиях:
1. Для вновь созданных организаций:
• получение документа о государственной аккредитации организации, осуществляющей деятельность в области информационных технологий, в порядке, установленном Правительством Российской Федерации;
• доля доходов от реализации экземпляров программ для ЭВМ, баз данных, передачи исключительных прав на программы для ЭВМ, базы данных, предоставления прав использования программ для ЭВМ, баз данных по лицензионным договорам, от оказания услуг (выполнения работ) по разработке, адаптации и модификации программ для ЭВМ, баз данных (программных средств и информационных продуктов вычислительной техники), а также услуг (работ) по установке, тестированию и сопровождению указанных программ для ЭВМ, баз данных по итогам отчетного (расчетного) периода составляет не менее 90 процентов в сумме всех доходов организации за указанный период;
• среднесписочная численность работников за расчетный (отчетный) период составляет не менее семи человек;
2. Для организаций, не являющихся вновь созданными:
• получение документа о государственной аккредитации организации, осуществляющей деятельность в области информационных технологий, в порядке, установленном Правительством Российской Федерации;
• доля доходов от реализации экземпляров программ для ЭВМ, баз данных, передачи исключительных прав на программы для ЭВМ, базы данных, предоставления прав использования программ для ЭВМ, баз данных по лицензионным договорам, от оказания услуг (выполнения работ) по разработке, адаптации и модификации программ для ЭВМ, баз данных (программных средств и информационных продуктов вычислительной техники), а также услуг (работ) по установке, тестированию и сопровождению указанных программ для ЭВМ, баз данных по итогам девяти месяцев года, предшествующего году перехода организации на уплату страховых взносов по пониженным тарифам, предусмотренным подпунктом 1 пункта 2 настоящей статьи 427 части 2 Налогового кодекса, составляет не менее 90 процентов в сумме всех доходов организации за указанный период;
• средняя численность работников, определяемая в порядке, устанавливаемом федеральным органом исполнительной власти, уполномоченным в области статистики, за девять месяцев года, предшествующего году перехода организации на уплату страховых взносов по пониженным тарифам, предусмотренным подпунктом 1 пункта 2 настоящей статьи 427 части 2 Налогового кодекса, составляет не менее семи человек.
Также ИТ-компании имеют право не применять установленный статьей 259 Налогового кодекса Российской Федерации порядок амортизации в отношении электронно-вычислительной техники, а включать расходы на ее приобретение в полном размере в состав материальных расходов сразу после ввода в эксплуатацию при выполнении 3 условий:
• доля доходов от реализации экземпляров программ для ЭВМ, баз данных, передачи имущественных прав на программы для ЭВМ, базы данных, от оказания услуг (выполнения работ) по разработке, адаптации и модификации программ для ЭВМ, баз данных (программных средств и информационных продуктов вычислительной техники), а также услуг (работ) по установке, тестированию и сопровождению указанных программ для ЭВМ, баз данных по итогам отчетного (налогового) периода составляет не менее 90 процентов в сумме всех доходов организации за указанный период, в том числе от иностранных лиц не менее 70 процентов;
• среднесписочная численность работников за отчетный (налоговый) период составляет не менее 50 человек;
• организацией получен документ о государственной аккредитации.
ИТ-компания, созданная в форме коммерческой организации, а также ИТ-компания, созданная в форме некоммерческой организации, указанной в абзаце третьем подпункта 1 пункта 5 статьи 13.2 Федерального закона от 25 июля 2002 г. №115-ФЗ «О правовом положении иностранных граждан в Российской Федерации», вправе привлекать к трудовой деятельности в Российской Федерации высококвалифицированных специалистов из числа иностранных граждан в упрощенном порядке, который предусматривает следующие преференции:
• для привлечения ИТ-компанией высококвалифицированных специалистов из числа иностранных граждан не требуется разрешение на привлечение и использование иностранных работников;
• на высококвалифицированных специалистов и членов их семей (супруг или супруга), дети, в том числе усыновленные, супруги детей, родители, в том числе приемные, супруги родителей, бабушки, дедушки, внуки) не распространяются квоты на выдачу иностранным гражданам приглашений на въезд в Российскую Федерацию в целях осуществления трудовой деятельности и на выдачу иностранным гражданам разрешений на работу, установленные Правительством Российской Федерации;
• прибывшим в Российскую Федерацию высококвалифицированным специалистам и членам их семей на срок действия трудового договора или гражданско-правового договора на выполнение работ (оказание услуг) по их заявлению в письменной форме территориальным органом Федеральной миграционной службы может быть оформлен вид на жительство.
Упрощенная система налогообложения (УСН) регулируется главой 26.2 Налогового кодекса РФ и применяется как организациями, так и индивидуальными предпринимателями. Сущность упрощенной системы налогообложения и ее привлекательность заключаются в том, что уплата целого ряда налогов (НДС, налога на прибыль, налога на имущество) заменяется уплатой единого налога, который рассчитывается на основании результатов хозяйственной деятельности налогоплательщика за налоговый период.
Рисунок 8 — Пример формирования НДС
Кроме единого налога, организации или индивидуальные предприниматели, применяющие упрощенную систему налогообложения, должны платить взносы в Пенсионный фонд, страховые взносы на обязательное социальное страхование от несчастных случаев на производстве и профессиональных заболеваний, а также прочие налоги и сборы, например: земельный налог, транспортный налог, налог на добычу полезных ископаемых, налог за пользование недрами, сборы за пользование водными объектами, таможенные платежи и сборы, госпошлину и др.
Рисунок 9 — Особенности УСН
Ставка страховых взносов в 2018 году ИП за себя не изменилась и считалась так же, как и в предыдущие годы:
• на пенсионное страхование составляла в 2018 году 26 545 рублей;
• на медицинское страхование ― 5 840 рублей.
Итого, минимальная фиксированная сумма взносов каждого индивидуального предпринимателя за себя (при годовых доходах до 300 000 рублей) в 2018 году была равна 32 385 рублей. Если предприниматель был зарегистрирован в этом качестве не весь год, то годовая сумма соответственно пересчитывается.
Не изменилось и правило расчёта дополнительного взноса при доходах свыше 300 000 рублей за год: по-прежнему для пенсионного страхования взимается 1% от суммы сверх лимита. Также продолжает действовать ограничение размера взносов предпринимателя за свое пенсионное страхование. Максимальные взносы в ПФР в 2018 году ИП за себя составляли 212 360 рублей.
На своё медицинское страхование в 2018 году ИП отчислял фиксированную сумму 5 840 рублей, независимо от получаемых доходов. Взносы в соцстрах на травматизм и несчастный случай ИП за себя платить не может.
В 2019 году ИП направляет:
• на пенсионное страхование году 29 354 руб.;
• на медицинское страхование 6 884 руб.
Минимальная фиксированная сумма взносов каждого индивидуального предпринимателя за себя (при годовых доходах до 300 000 рублей) в 2019 году равна 36 238 рублей.
Не изменилось и правило расчёта дополнительного взноса при доходах свыше 300 000 рублей за год: по-прежнему для пенсионного страхования взимается 1% от суммы сверх лимита. Также продолжает действовать ограничение размера взносов предпринимателя за свое пенсионное страхование. Максимальные взносы в ПФР в 2019 году ИП за себя составляют 234 832 рублей.
3.3 Модели ведения бизнеса ИТ-компаний
Модели ведения бизнеса также можно классифицировать по различным основаниям.
С некоторой долей условности основные модели ведения бизнеса, практикуемые ИТ-компаниями, можно свести к двум видам: сервисной и продуктовой.
Сервисная модель (называемая иногда аутсорсинговой), предполагает оказание ИТ-услуг для удовлетворения конкретных нужд заказчика. Перечень конкретных услуг, оказываемых клиенту может быть довольно обширным (как было подробно рассмотрено в предыдущем вопросе) и включать услуги по автоматизации бизнес-процессов заказчика, ИТ-консалтинг, интеграцию корпоративных приложений, тестирование программного обеспечения, создание выделенных центров разработки, электронное обучение и ряд других. Ключевым отличием такой модели ведения бизнеса является выполнение работ по конкретным заказам.
Продуктовая модель предполагает разработку собственных программных продуктов, разрабатываемых на свой страх и риск, тиражируемых и предлагаемых широкому кругу потенциальных покупателей.
С точки зрения маркетинговой деятельности ИТ-компании приведенные выше модели имеют принципиальные отличия.
В сервисной модели речь идет о поиске клиента, его маркетинговой «обработке», заключении с ними договора на оказание услуг и последующем осуществлении непосредственного обслуживания.
Во втором случае создание программного обеспечения подразумевается еще до появления первых клиентов, а все процессы по маркетингу и активным продажам «запускаются» уже после разработки программного продукта.
Между тем с точки зрения клиента и всего рынка в целом различие между двумя указанными моделями выглядит иначе. Клиент, прежде всего, понимает «продукт» как нечто, передаваемое в его распоряжение навсегда или на длительный срок и чем он может воспользоваться любым способом по своему усмотрению. В то время как «услуги» воспринимаются как единоразовые или повторяющиеся действия ИТ-поставщика, решающие некоторую проблему клиента и приносящие ему те или иные выгоды.
Например, всемирно известная компания Google предлагает широкий спектр сервисов – электронную почту, поиск в интернете, хранение и обработку фотографий, видеофайлов и документов, онлайн-переводчик и т.п. Подобные сервисы воспринимаются клиентами преимущественно как услуги, хотя для самой компании они выступают как программные продукты.
Также модель бизнеса можно классифицировать по способу распространения продуктов:
— продажа лицензий (традиционных или коробочных);
— сдача в аренду;
— продажа подписок на обновления, которое позволяет любым желающим пользователям изменять исходные программные коды (конкретно, Microsoft передала сообществу разработчиков Linux 20 000 строк исходного кода драйверов на условиях GNU GPL).
Основное преимущество открытой модели бизнеса состоит в том, что такая модель предполагает создание ценности усилиями большого сообщества разработчиков. Закрытая модель бизнеса, с другой стороны, предполагает более простую форму извлечения доходов, поскольку права на интеллектуальную собственность остаются под контролем разработчика. Однако в чистом виде открытая и закрытая модели бизнеса существовать не могут: закрытая модель дает очень мало простора для инноваций, а открытая — слишком слабые возможности для извлечения прибыли.
На сегодняшний день уже многие участники медиарынка одновременно распространяют взаимодополняющие закрытые коммерческие и открытые бесплатные продукты. Такая модель бизнеса, которую далее будем называть гибридной, предполагает, что разработчик выпускает открытое ядро (базовый модуль), а доходы получает от распространения закрытых расширений (модулей, дополнительных к базовому), либо продает закрытое ядро, а с помощью распространения открытых расширений, которые можно использовать только с этим ядром, увеличивает популярность базового модуля, и как следствие, количество его потребителей и прибыль от его распространения. Гибридная модель бизнеса дает возможность соединить достоинства открытой и закрытой моделей (Рисунок).
Рисунок 10 — Баланс между степенью открытости и степенью коммерциализации продукта в гибридной модели бизнеса
Несмотря на высказанные аргументы в пользу гибридной модели бизнеса, на реальном медиарынке далеко не все фирмы открывают (полностью или частично) свои продукты. Поэтому являются актуальными следующие вопросы:
— при каких условиях производитель, максимизирующий прибыль, должен применять гибридную модель?
— фирма следует этой модели, то какую часть продуктов следует открыть, а какую — оставить закрытой?
— что лучше — открыть ядро и оставить закрытыми расширения, или наоборот, сделать ядро закрытым и распространять открытые расширения?
Извлечение доходов в рамках любого из указанных типов моделей бизнеса возможно путем использования одного или нескольких из следующих способов:
— получение с пользователей платы за лицензии или подписки;
— встраивание в продукты рекламы и взимание с рекламодателей платы за показы рекламы;
— стратегическая кооперация с производителями аппаратного обеспечения, в частности, распространение предустановленного программного обеспечения и программного обеспечения, прилагаемого к вычислительным устройствам, и получение с производителей аппаратного обеспечения платы за обеспечение совместимости программных продуктов с аппаратным обеспечением и надежности программного обеспечения.
Тема 4 Маркетинг на рынке ПО
4.1 Понятие и цели маркетинга
Маркетинг — это культура, стратегия и задачи компании, направленные на привлечение внимания и получение денег от потребителей товаров и услуг компании.
Это концептуальное определение современного маркетинга принадлежит Филипу Котлеру (Philip Kotler) — одному из самых признанных практиков и теоретиков современного маркетинга, автору классических учебников «Стратегический маркетинг» и «Управление маркетингом».
В частности, в стратегический маркетинг основан на планировании и осуществлении маркетинговой деятельности в 4 направлениях («4P-marketing»):
— продукт (Product) — для разных сегментов ПП может поставляться в разных конфигурациях и предлагать пользователю различную функциональность. Так например, при продаже ПП на территории РФ, в нем могут отсутствовать модули для осуществления онлайн-платежей через платежные системы, не работающие в нашей стране;
— цена (Price) — как правило, цена одного и того же программного продукта (в том числе с одинаковой функциональностью) может существенным образом отличаться при продаже на различных сегментах: крупному бизнесу дороже, чем среднему; американскому клиенту дороже, чем российскому и т.д. Для отдельных сегментов дополнительно могут быть предусмотрены платежи за каждую успешную транзакцию, сделанную с использованием ПП;
— место (распростанение) (Place) — точно так же как и в случае с ценой, могут отличаться и подходы к распространению ПП. Крупному бизнесу ПП может продаваться только на условиях покупки лицензии на инсталляцию, мелкому тот же продукт может быть предложен в своеобразную аренду при сравнительно небольших ежемесячных платежах – на условиях SaaS;
— продвижение (Promotion) — различные сегменты требуют различных подходов к продвижению ПП. Если для потребительского сегмента реклама является вполне эффективным инструментом продвижения, то для корпоративных продаж, гораздо более значимы личные продажи и активный PR.
Таким образом, маркетинг – это сфера деятельности компании, далеко выходящая за пределы рекламной политики. Маркетинг начинается с миссии, то есть привлекательной для общества и потребителей видения будущего, а где заканчивается – сказать невозможно. Маркетинг присутствует в стратегии, так как обращение к потребителям и формирование спроса является ее частью. Маркетинг влияет на производство – услуги и товары должны быть привлекательны для потребителей. Маркетинг присутствует в финансовом анализе – чем больше предприятие снизит издержки, тем более выгодную цену сможет предложить покупателю. Маркетинг присутствует в кадровой политике: каждый сотрудник должен уметь не просто выполнить свою работу, но завоевать симпатии клиентов и помочь это сделать своим коллегам.
4.2 Сегментирование и позиционирование на рынке ПО
По определению Ф. Котлера, «сегмент рынка состоит из потребителей, одинаково реагирующих на один и тот же набор побудительных стимулов маркетинга».
Рынок программного обеспечения в первую очередь можно разделить на два больших сегмента:
— потребительский рынок (рынок физических лиц);
— корпоративный рынок (рынок юридических лиц).
Далее корпоративный рынок разбивается на сегмент крупного бизнеса и сегмент малого и среднего бизнеса.
С другой стороны, рынок программного обеспечения сегментируется в соответствии с назначением продуктов:
— рынок системного программного обеспечения;
— рынок инструментального программного обеспечения;
— рынок прикладного программного обеспечения (который, в свою очередь, делится на сегменты приложений горизонтальной и вертикальной сферы).
Рынок приложений горизонтальной сферы разделяется на сегменты офисных приложений, ERP-систем, CRM-систем и т. д., на рынке приложений вертикальной сферы выделяются сегменты билинговых систем, автоматизированных банковских систем и др.
В соответствии со способами распространения товаров и услуг и их правовой основой выделяются следующие сегменты рынка программного обеспечения:
— рынок легальных программных продуктов, распространяемых на возмездной основе;
— рынок пиратских программных продуктов, распространяемых на возмездной основе;
— рынок легальных программных продуктов, распространяемых на безвозмездной основе;
— рынок пиратских программных продуктов, распространяемых на безвозмездной основе.
Еще один признак, в соответствии с которым сегментируется рынок программного обеспечения — модель бизнеса. Под моделью бизнеса понимается логика фирмы, способ ее деятельности и способы увеличения ценности фирмы для ее владельцев. При этом к стратегии относятся решения по выбору фирмой модели бизнеса, а решения по деятельности в рамках избранной модели бизнеса считаются тактическими.
При выделении ИТ-компанией целевых сегментов и формировании предложений для них осуществляется позиционирование. Позиционирование в маркетинге — это процесс создания образа и ценности у потребителей из целевой аудитории таким образом, чтобы они понимали, зачем существует компания или брэнд по отношению к конкурентам.
Следует отметить, что на ИТ-рынке позиционироваться может как сама компания в качестве надежного аутсорсингового разработчика или провайдера ИТ-услуг, так и ее продукты или сами услуги.
В первом случае позиционирование может предполагать выбор определенных отраслей, технологий и т.д., в которых ИТ-компания может быть рассмотрена как обладающая достаточной экспертизой, накопленной в ходе выполнения ряда соответствующих проектов. Например, в сфере ИТ-решений для банковской сферы или онлайн-туризма.
В случае с позиционированием разрабатываемого компанией ПП, необходимо определить целевые сегменты, продвижение на которых представляется экономически оправданным, и сформировать выгодные предложения для каждого из выделенных сегментов.
4.3 Продвижение и реклама
В основном для программных продуктов и ИТ-услуг рекламы как таковой вообще не существует, а все функции по продвижению подобных товаров сводятся к PR-акциям и прямому маркетингу. Тем не менее реклама в ИТ существует и имеет свои специфические черты.
Особенности каналов распределения, присущие сфере ИТ, находят свое отражение и в специфике рекламы, осуществляемой в этой области. Источниками рекламной активности могут выступать все участники цепочки дистрибуции: вендор; дистрибьюторы; дилеры; реселлеры.
Аналогичным образом следует разделять и адресатов, на которых направлена такая реклама. В сфере ИТ принято выделять рекламу, адресованную партнерам компании (например, реклама вендора, рассчитанная на потенциальных дистрибьюторов) и рекламу, направленную на конечного потребителя ПП и ИТ-услуг.
Данные целевые аудитории имеют свои собственные интересы, которые должны быть отражены в рекламном сообщении: для конечных пользователей более интересны функции и цена продукта, а для реселлеров и партнеров - то, что может дать их бизнесу работа с этим продуктом или услугой. Реклама более важна для привлечения новых партнеров, а для существующих, наряду с известностью марки, на первый план выходят другие виды маркетинговой активности - ценообразование, рибейтная политика, сервисная поддержка, наличие совместных рекламных фондов, тренинги, участие в семинарах.
Одним из ключевых вопросов рекламы в ИТ является вопрос что рекламировать, продукт или поставщика? Считается, что в идеале и вендоры, и дистрибьюторы должны рекламировать не продукты, а преимущества работы со своей компанией.
В сфере ИТ в основном используются те же рекламные инструменты, что и в других отраслях, однако их применение имеет свою специфику. В числе наиболее эффективных инструментов принято называть рекламу в специализированной ИТ-прессе и Интернет-ресурсах.
Реклама в сети Интернет имеет свои плюсы и минусы. Преимуществами такой рекламы являются:
— максимально широкий охват аудитории;
— возможность точечного воздействия, фокусировки на представителях целевой аудитории потребителей продвигаемого продукта;
— высокая подотчетность и тщательный контроль пропорциональности затраченных средств и привлеченной клиентской аудитории;
— интерактивность.
К недостаткам следует отнести:
— сравнительную фрагментарность и неупорядоченность сетевого пространства;
— низкую эффективность при неточном таргетировании;
— не всегда полную статистику, что снижает точность расчетов эффективности вложенных средств.
Продвижение продуктов на рынке программного обеспечения обеспечивается не только и не столько рекламой, сколько сетевыми эффектами: например, чем больше существует пользователей пакета Microsoft Office и создающих документы в формате «*.doc», тем больше будет спрос на текстовые процессоры, распознающие этот формат; точно так же количество разработчиков программных продуктов, работающих под управлением конкретной операционной системы растет в прямой зависимости от роста числа пользователей этой операционной системы.
4.4 Специфика продаж программного продукта
Специфика продаж в сфере ИТ лучше всего проявляется в нише сложных программных продуктов – при продажах на В2В-рынке. Подобные программные продукты слишком сложны и объемны, чтобы описать их преимущества двумя словами, а стоимость такого ПО может составлять несколько десятков, а то и сотен тысяч евро, что не позволяет отнести его к числу товаров, приобретаемых под воздействием хорошо сделанной рекламы. Такие программные продукты продаются, как правило, через канал личных продаж, а сам процесс имеет несколько специфических особенностей:
1. Большая длительность переговорного этапа. От начала переговоров до начала эксплуатации установленного ПО может пройти от нескольких месяцев до года.
2. Большое количество заинтересованных лиц. Для такого рода сделок характерно участие большого числа заинтересованных лиц. Владельца автоматизируемой компании, лиц, принимающих финансовые решения, будущих пользователей продукта, ИТ-специалистов со стороны заказчика. Специалистов по продажам, бизнес-аналитиков, предполагаемого менеджера проекта, финансового директора со стороны ИТ-компании. И наконец, представителей третьих сторон, если предполагается интеграция их программных продуктов в ходе реализации проекта.
3. Затяжной характер продаж. Процесс продаж нередко носит перманентный характер. Клиент покупает определенную конфигурацию системы, докупает дополнительные модули, заказывает кастомизацию и т.д.
4. Большое значение маркетинговых материалов. Большое значение для успеха имеет наличие маркетинговых материалов, сопровождающих все стадии переговорного процесса, в том числе:
— подробных описаний основных возможностей программного продукта;
— различного рода презентаций;
— демо- и промо-роликов;
— демо-версий продукта.
Как и в любом случае, когда процесс продаж связан с проведением переговоров и нахождением устраивающего стороны компромисса, количество и содержание этапов может быть разным, и зависит от особенностей конкретной сделки. Тем не менее, можно выделить определенные стадии, характерные для большинства случаев:
1. Появление интереса к программному продукту. Процесс продаж начинается с того, что у клиента возникает интерес к предлагаемому ИТ-решению. Подобный интерес может исходить как от самого клиента в результате посещения им стенда ИТ-компании на выставке, положительных откликов о продукте со стороны партнеров по бизнесу или впечатления от знакомства с демонстрационными роликами, размещенными на сайте разработчика, так и в результате активных действий со стороны вендора (холодные звонки, директ-мейл и т.д.). По итогам этой стадии клиенту может быть предоставлен демо-доступ к продукту, организована онлайн-презентация или предоставлен доступ к другим материалам.
2. Знакомство. На второй стадии происходит знакомство участников переговорного процесса и первичное обсуждение общих вопросов, связанных с покупкой ПО. Здесь проводится укрупненный анализ бизнес-потребностей клиента, оценка временных и стоимостных затрат на реализацию, принимается решение о сотрудничестве.
3. Детальное обсуждение конфигурации. В случае позитивного решения стороны приступают к детализированному анализу бизнес-потребностей, т.е. к выбору необходимой конфигурации, составляют спецификации или подготавливают истории использования продукта, обсуждают необходимость кастомизации программного продукта.
4. Обсуждение необходимости привлечения дополнительных сторон. Отдельным пунктом обсуждается потребность в услугах сторонних организаций, предоставляющих услуги по хостингу, дизайну, возможности осуществления онлайн-платежей и т.д.
5. Уточнение сроков и стоимости работ. После обсуждения всех перечисленных выше нюансов стороны могут более точно оценить сроки и стоимости работ.
6. Составление и подписание договора.
7. Поставка продукта (внедрение системы, обучение пользователей работе с ней).
8. Получение оплаты.
Тема 5 Оценка трудоемкости и сроков разработки ПО
5.1 Измерения и метрики в разработке ПО
В отличие от большинства отраслей материального производства в проектах создания программного обеспечения не работают простые подходы, основанные на умножении трудоемкости на среднюю производительность труда. Это вызвано прежде всего тем, что экономические показатели проекта нелинейно зависят от объема работ, а оценка трудоемкости всегда очень приблизительна.
В настоящее время используются комплексные и достаточно сложные методики для решения следующих задач:
— оценки экономических параметров проекта (трудоемкость, длительность, стоимость);
— оценки рисков по проекту (риск нарушения сроков и невыполнения проекта, риск увеличения трудоемкости на этапах отладки и сопровождения проекта и пр.);
— принятия оперативных управленческих решений (на основе отслеживания определенных показателей (метрик) проекта можно своевременно предупредить возникновение нежелательных ситуаций и устранить последствия непродуманных проектных решений).
Эти методики требуют высокой ответственности при их применении и определенного времени на адаптацию (настройку коэффициентов). При этом все они основаны на определенных измерениях, которые помогают оценить как продукт, так и сам процесс его разработки. В результате измерений определяется мера – количественная характеристика какого-либо свойства объекта. Некоторые измерения позволяют сразу определить свойства объекта. А остальные можно получить лишь за счет вычисления от значений опорных характеристик.
Результаты подобных вычислений называют метриками. Зачастую понятие мера и метрика рассматривают как равноценные определения. Измерения при разработке ПО необходимы для того, чтобы:
— определить или показать качество ПО;
— оценить производительность труда персонала, занятого разработкой;
— оценить выгоды (прибыль или доход), которые могут быть получены в результате разработки новых программных средств;
— сформировать основу (базовую линию) для последующих оценок;
— получить данные для обоснования запросов на дополнительные средства, обучение и т.п.
Измерения бывают прямые и косвенные. Результатами прямых измерений процесса разработки и сопровождения программного изделия могут выступать показатели: трудозатрат и стоимости, числа строк кода (LOC – lines-of-code), размера требуемой памяти, скорости выполнения программы, числа ошибок (дефектов), обнаруженных за определенный период времени. Косвенные измерения дают оценку функциональных возможностей, показателей качества программного продукта (надежность, эффективность, пригодность к сопровождению и т.п.).
Существует деление метрик на три группы: метрики производительности (фокусируются на выходе процессов разработки ПО), метрики качества (позволяют судить о том, насколько близко соответствие программного изделия явным и подразумеваемым требованиям пользователя, т.е. пригодности изделия к использованию) и технические характеристики продукта (большей степени относятся к особенностям программного изделия, а не к процессу его разработки, например, логическая сложность изделия, модульность проекта и т.п.).
Вторая классификация метрик – классификация по признаку их ориентации:
— размерно-ориентированные метрики, использующиеся для сбора результатов прямых измерений программного продукта и его качества, а также процесса разработки;
— функционально-ориентированные метрики, которые являются косвенными мерами, характеризующими функциональное назначение продукта и особенности его входных и выходных данных;
— человеко-ориентированные метрики, которые также являются косвенными мерами, позволяющими судить об отношении персонала (разработчиков и пользователей), об эффективности и качестве работы программного изделия, удобстве взаимодействия с ним, простоте обучения и т.д.
5.2 Критерии выбора модели оценки и метрик
Один из важных аспектов экономики создания ПО (как это представляется в современных моделях определения стоимости ПО) заключается в том, что связь между работой и размерами определяет плату за большой масштаб. Плата за масштаб при разработке ПО является результатом того, что показатель экспоненты процесса больше единицы. В отличие от большинства производственных процессов, чем дольше ПО создается, тем дороже оно обходится в пересчете на одну единицу. Например, для некоторого произвольного приложения программное решение объемом в 10000 строк обойдется дешевле в пересчете на одну строку, чем программное решение объемом 100000 строк. На сколько дешевле? Предположим, что для создания 100 000-строчной системы требуется 900 человеко-месяцев, или около 111 строк за один человеко-месяц, или 1,37 часа на одну строку. Если бы та же самая система состояла из 10 000 строк при неизменных остальных параметрах, то проект оценивался бы приблизительно в 62 человеко-месяца, или 175 строк за один человеко-месяц, или 0,87 часа на одну строку.
Стоимость одной строки для меньшего приложения оказывается гораздо ниже таковой для большего приложения. Причина этого заключается, прежде всего, в сложности управления межличностными взаимодействиями по мере того, как число членов команды (и соответственно число целей, условий их достижения, технических предпочтений) возрастает. Эта плата за большой масштаб характерна для любого исследовательского проекта, продуктом которого является единственный в своем роде объект интеллектуальной собственности.
Широко применяемым на практике методом оценки трудозатрат на разработку ПО является экспертная оценка. Однако, такой подход сопряжен с множеством проблем:
— основания для получения оценки не являются явными;
— тяжело находить высококвалифицированных экспертов для каждого нового проекта;
— связь между размером системы и трудозатратами - нелинейна. Трудозатраты возрастают экспоненциально с увеличением объема. Поэтому экспертная оценка получается адекватной, только в случае, если текущий проект и предыдущие примерно одинакового масштаба;
— политика руководства направленная на сокращение затрат, как правило ставит под сомнение реальный опыт предыдущих проектов и вносит долю «слепого оптимизма».
За три последних десятилетия было разработано множество различных моделей количественной оценки трудозатрат. Каждая модель имеет свои достоинства и недостатки, но ключевым фактором при её рассмотрении, конечно же, является точность.
Эмпирические модели используют данные предыдущих проектов чтобы оценить текущий (анализируя закономерности прослеживаемые с помощью имеющихся баз данных предыдущих проектов).
Аналитические модели базируются на глобальных предположениях, относительно связи различных параметров, таких, например, как скорость устранения дефектов разработчиком и их количество в определенный момент времени.
Большинство моделей (как эмпирических, так и аналитических) базируются на использовании различных метрик размера разрабатываемой системы (LOC, FP и др.). Точность оценки трудозатрат напрямую зависит от точности оценки размера. Независимо от выбранной метрики размера, определить его заранее точно не представляется возможным, поэтому приходится его уточнять (и, соответственно, производить общую переоценку трудозатрат) уже непосредственно в процессе разработки. Влияние этого фактора заметно уменьшается при использовании достаточно строгой методологии разработки и при детальной проработке требований к системе.
У хорошей оценки издержек производства программного обеспечения должны быть следующие признаки:
— понятна и поддержана менеджером проекта и командой разработчиков;
— одобрена всеми заинтересованными лицами как реально осуществимая;
— основана на четкой модели с заслуживающими доверия основаниями;
— основана на базе данных подобного проекта (с подобными бизнес-процессами, подобными технологиями, подобной внешней средой, подобными людьми и подобными требованиями);
— определена настолько детально, что ключевые области риска поняты и вероятность успеха объективно оценена.
Размер программного обеспечения − самый важный фактор, определяющий трудоемкость реализации ПО.
Основная проблема в оценке трудоемкости и сроков выполнения проектов заключается в низкой точности применяемых методов оценивания.
Таблица 1 — Методы оценки стоимости ПО
Метод
Описание
Алгоритмическое моделирование себестоимости
Метод основан на анализе статистических данных о ранее выполненных проектах, при этом определяется зависимость себестоимости проекта от какого-нибудь количественного показателя программного продукта (обычно это размер программного кода).
Оценка эксперта
Проводится опрос нескольких экспертов по технологии разработки ПО, знающих область применения создаваемого программного продукта.
Оценка по аналогии
Проект оценивается по уже реализованным аналогичным проектам.
Закон Паркинсона
Усилия, затраченные на работу, распределяются равномерно по выделенному на проект времени. Здесь критерием для оценки затрат по проекту являются человеческие ресурсы, а не целевая оценка самого программного продукта.
Назначение цены с целью выиграть контракт
Затраты на проект определяются наличием тех средств, которые имеются у заказчика. Поэтому себестоимость проекта зависит от бюджета заказчика, а не от функциональных характеристик создаваемого продукта.
Предварительная оценка может выполняться с применением нисходящего и восходящего подходов:
— при нисходящем подходе оценка себестоимости начинается на уровне системы: рассматриваются функциональные возможности программы в целом и то, как эти возможности реализуются посредством функций более низкого уровня;
— восходящий подход начинается на уровне системных компонентов. Система разбивается на компоненты и определяются затраты на разработку каждого из них. Затем эти затраты суммируются для определения полной стоимости проекта.
Недостатки восходящего подхода являются достоинствами нисходящего и наоборот. Для работы с большими проектами необходимо применить несколько методов оценивания себестоимости для их последующего сравнения.
5.3 Метрики размера программного обеспечения
5.3.1 Число строк кода
LOC (Lines Of Code) - число непустых строк исходного текста, исключая комментарии. Несмотря на то, что эта метрика существенно зависит от выбранного языка программирования, она до сих пор остается самой используемой метрикой размера ПО. Конечно, точное число LOC может только быть получено только после того, как проект уже закончен. Поэтому, оценка размера кода программы до его создания, не намного проще оценки реальных трудозатрат, например, в человеко-месяцах.
Типичный метод осуществления такой оценки использует комбинацию экспертных оценок с техникой под названием PERT, заключающейся в следующем: пусть имеется n экспертов, каждый i-ый эксперт высказывает три предположения относительно конечного размера: Li - нижняя оценка размера, Hi - верхняя оценка размера и Mi - наиболее вероятный размер. Тогда размер S может быть вычислен как:
Точность оценки может быть существенно улучшена, если применить PERT не к проекту в целом, а к его отдельным компонентам. Тогда общая оценка размера может быть получена как сумма таких «локальных» оценок.
5.3.2 Метрики Холстеда
Холстедом были предложены такие метрики как длина кода и объем. Длина кода определяется как:
где N1 — общее количество появлений операторов в программе;
N2 — общее количество их операндов.
Объем кода - соответствует объему памяти требуемой для хранения программы и определяется как:
где n1 — число различных операторов;
n2 — число различных операндов, появляющихся в программе.
Очевидно, оценить общее число операторов и их операндов до завершения проекта, как правило, еще более затруднительно чем оценить LOC. Поддержка такого подхода в последние годы постоянно уменьшается.
5.3.3 Функциональные точки (Function points)
Наиболее удачной заменой количеству строк кода для измерения размера стали функциональные точки (function points), впервые предложенные сотрудником IBM Аланом Альбрехтом (Allan Albrecht) в 1979 г. Применение функциональных точек основано на оценке объема реализуемой функциональности за счет изучения требований, вследствие чего, оценка необходимых трудозатрат может быть выполнена на самых ранних стадиях работы над проектом и далее будет уточняться по ходу жизненного цикла, а явная связь между требованиями к создаваемой системе и получаемой оценкой позволяет заказчику понять, за что именно он платит, и во что выльется изменение первоначального задания.
Кратко рассмотрим основные принципы метода. Общее количество функциональных точек программы зависит от количества элементарных процессов пяти типов (Рисунок).
Рисунок 11 — Типы элементарных процессов используемых в методе FP
1. Входящие транзакции (External inputs (EI)) - транзакции, получающие данные от пользователя.
2. Исходящие транзакции (External outputs (EO)) - транзакции, передающие данные пользователю.
3. Взаимодействия с пользователем (External inquiries (EQ)) - интерактивные диалоги взаимодействия с пользователем (требующие от него каких-либо действий).
4. Файлы внутренней логики (Internal logical files) - файлы (логические группы информации), использующиеся во внутренних взаимодействиях системы.
5. Файлы внешних взаимодействий (External interface filese) - файлы, участвующие во внешних взаимодействиях с другими системами.
В данной терминологии, транзакция — элементарный неделимый замкнутый процесс, представляющий значение для пользователя и переводящий продукт из одного консистентного состояния в другое.
Каждому из этих типов назначают один из трех уровней сложности (1 = простой, 2 = средний, 3 = сложный), а каждой паре (тип, уровень сложности) ставят в соответствие вес, представляющий собой количество не выровненных функциональных точек (UFP), который изменяется от 3 (для простой входящей транзакции) до 15 (для сложных внутренних файлов). Общая оценка размера в UFP рассчитывается как:
где Nij и Wij - соответственно число и вес элементов системы класса i со сложностью j.
Например, если в системе 2 простых входа (Wij = 3), 2 сложных выхода (Wij = 7) и 1 сложный внутренний файл (Wij = 15). Тогда UFP = 2×3 + 2×7 +1×15 = 35.
Это число функциональных точек может как непосредственно использоваться для оценки стоимости/трудоемкости, так и может быть еще уточнено с помощью фактора выравнивания (VAF), который вычисляется на основании характеристик общей сложности проекта, таких как: степень распределенноcти обработки и хранения данных, требования к производительности системы, требования к безопасности и т.д. При этом окончательная оценка размера в выровненных функциональных точках, рассчитывается как:
где CFP - дополнительные функциональные точки, которые потребуются, например, для установки или миграции данных.
Общая схема процедуры оценки представлена на Рисунке:
Рисунок 12 — Процедура оценки функционального размера по методу FP
Число UFP и число строк кода (LOC) связаны линейно:
Параметры a и b могут быть получены с помощью линейной регрессии на основании имеющихся данных о завершенных проектах.
5.3.4 Точки свойств (Feature points)
В условиях, когда сформулированные требования не отражают истинной сложности реализации (что особенно характерно для системного ПО, критически важных программных комплексов и пр.), метод функциональных точек себя не оправдывает. В этом случае на помощь приходит его модифицированный вариант, предложенный в 1988 г. Кейперсом Джонсом (Capers Jones), который учитывает не только требования к системе, но и внутренние особенности ее реализации – метод точек свойств (feature points). Он очень близок к методу функциональных точек, с тем лишь отличием, что предусматривает корректирование получаемой оценки с учетом алгоритмической сложности. К перечисленным выше пяти элементарным классам функциональных объектов, добавляется класс алгоритмов. Алгоритм определяется как свод правил, который решает какую-либо существенную вычислительную задачу. Например, вычисление квадратного корня можно рассмотреть как алгоритм. Каждому используемому алгоритму сопоставляют вес в пределах от 1 (элементарный) до 10 (очень сложные алгоритмы) и количество точек свойств рассчитывается как взвешенная сумма алгоритмов плюс число функциональных точек. Эта метрика особенно полезна для систем с незначительным вводом/выводом, но с высокой алгоритмическая сложностью, таких как математическое программное обеспечение, системы дискретного моделирования, военные приложения и т.п.
5.3.5 Объектные точки (Object points)
Поскольку классическая интерпретация метода функциональных точек не предусматривает применения объектно-ориентированного подхода, в современных проектах используется его адаптированный вариант, оперирующий именно терминами ОО-технологии. Принципиальным его отличием от других методов, производных от классического FP, является то, что он не расширяет базовый набор элементарных классов FP, а вводит совершенно иные: окна (screens), отчеты (reports) и 3GL компоненты. Каждому из этих объектов назначается вес в пределах от 1 (простое окно) до 10 (3GL компонент) и количество объектных точек рассчитывается по формуле, аналогичной UFP. Это относительно новая метрика и она пока не настолько популярна как FP. Но в силу своего удобства в применении на самых ранних этапах жизненного цикла проектов, она нашла успешное применение в некоторых разновидностях COCOMO.
5.4 Неалгоритмические методы оценки трудозатрат
5.4.1 Оценка по аналогии
Этот метод требует наличия одного или нескольких законченных проектов, которые подобны новому проекту. Оценка получается путем сравнения текущего проекта с предыдущими, с использованием реальных наблюдавшихся в них показателей. Оценка по аналогии может быть сделана или на уровне проекта в целом или на уровне отдельных подсистем. Преимуществом оценки по аналогии всего проекта в целом, является учет всех возможных составляющих факторов (например, учет накладных расходов на организацию должного взаимодействия всех компонентов в целом). Оценка же по отдельным компонентам позволяет обеспечить более детальный учет общих черт и различий между новым проектом и законченными проектами. Достоинство этого метода: оценка основана на фактических проектных результатах.
Конечно, не всегда корректно переносить результаты предыдущих проектов на текущий, т.к. нельзя с уверенностью сказать, что ограничения и условия предыдущего проекта можно перенести и использовать в новом проекте.
5.4.2 Экспертная оценка
Для получения оценки с помощью этого метода используются мнения нескольких экспертов. Эксперты полагаются на их собственные методы и опыт. Для достижения коллективного согласия, используются такие механизмы как техника Delphi или PERT.
Техника Delphi заключается в следующем:
1. Координатор выдает каждому эксперту спецификацию и форму для выставления оценок.
2. Каждый эксперт заполняет форму строго индивидуально, однако разрешено задавать вопросы координатору.
3. Координатор подготавливает свод всех экспертных оценок (который включает также их средние значения и пояснения) на другой форме, которая раздается каждому эксперту для проведения следующей итерации.
Шаги 2-3 повторяются до достижения необходимой степени единообразия оценок.
Модификация техники Delphi, предложенная Боемом, показала себя, более эффективной: предварительно производится совещание координатора и экспертов, на котором обсуждаются проблемы оценки. На шаге 3 эксперты не дают никакого объяснения своих оценок. Вместо этого после каждой итерации координатор проводит собрание, на котором обсуждаются детали оценки, по которым были выявлены наибольшие разногласия.
5.4.3 Принцип Паркинсона
В соответствии с этим принципом «работа расширяется, заполняя весь доступный объем»: трудозатраты определяются не за счет объективной оценки, основанной на функциональности конечного продукта, а доступными ресурсами. Т.е. например, если конечный продукт должен быть передан заказчику через 12 месяцев и в проекте задействовано 5 человек, то оценка трудозатрат составит 60 человеко-месяцев. Иногда такой подход и бывает успешным, однако его применение чаще приводит к целому ряду негативных последствий, начиная от работы разработчиков в сверхурочное время и заканчивая расторжением контракта со стороны заказчика в случае невыполнений обязательств в срок из-за слишком нереалистичных сроков. Кроме всего прочего, принцип Паркинсона, как правило, приводит к созданию очень некачественного конечного продукта.
5.4.4 Цена победы
При данном подходе оценка трудозатрат производится таким образом, чтобы она была самой выгодной для заказчика и контракт был бы гарантированно заключен. Т.о. оценка основывается на бюджете заказчика, а не на конечной функциональности ПО. Например, если разумная оценка для проекта составляет 100 человеко-месяцев, но заказчик может оплатить только 60 человеко-месяцев, то оценщика просят изменить оценку, до 60-ти человеко-месяцев, чтобы выиграть проект. Это также очень плохой подход, который однако очень часто встречается на практике вследствие «политических игр руководства», и он с очень высокой степенью вероятности, вызовет задержку поставки или вынудит команду работать в сверхурочное время.
5.5 Алгоритмические методы
Используемый в алгоритмических моделях математический аппарат весьма разнообразен и варьируется от простых линейный формул, использующих математическое ожидание и среднеквадратичное отклонение, до сложных регрессионных моделей и дифференциальных уравнений. Как правило, чтобы улучшить точность алгоритмических моделей, их требуется приспособить (например, с помощью пересчета основных параметров и коэффициентов) к конкретным обстоятельствам. Причем, даже после такой калибровки точность может оставлять желать лучшего. Поэтому, можно считать, что у каждой конкретной модели есть своя конкретная область применения, в которой она может дать адекватный конечный результат.
Все алгоритмические методы основаны на математических моделях которые определяют трудозатраты как функцию зависящую от множества переменных соответствующих основным влияющим на трудозатраты факторам и имеют общий вид:
Где E - суммарный объем трудозатрат (например, в человеко-часах);
xi, i = 1,...,n - учитывающиеся факторы.
Соответственно многообразие алгоритмических методов обуславливается двумя основными аспектами: выбором факторов и формой функции f. В зависимости от этого, среди алгоритмических моделей могут быть выделены 3 основных группы:
1. Линейные модели ()
2. Мультипликативные модели ()
3. Степенные модели ()
в первых двух группах коэффициенты a1,...,an выбираются на основании данных предыдущих проектов; в третьей группе: S – размер проекта (основной фактор), a, b – функции (как правило очень простые) других факторов трудозатрат.
Линейные модели не оправдали себя на практике и не раз подвергались объективной критике. В частности, зависимость от большого числа факторов влияющих на разработку ПО имеет явно нелинейный характер, что приводит к явной неэффективности данного класса моделей. Мультипликативные модели (например модель Валстона-Феликса) сложны в калибровке (расчете и уточнении коэффициентов) и не нашли обширного практического применения.
5.6 Модель COCOMO
COCOMO (COnstructive COst MOdel) и её производные являются, пожалуй самыми популярными алгоритмическими моделями для оценки трудоемкости разработки ПО, которые де-факто стали стандартом. Модели относятся к классу степенных. Базовая модель была представлена в 1981 г. Барри Боемом (Barry Boehm). С момента своего появления модель постепенно эволюционировала и можно обозначить основные этапы её развития следующим образом.
Базовая модель COCOMO. Размер проекта S измеряется в LOC (KLOC), а трудозатраты в человеко-месяцах. Cоздана на основе анализа статистических данных 63 проектов (в основном Министерства Обороны США) различных типов. Используется три набора параметров {a, b} в зависимости от сложности разрабатываемого программного обеспечения:
Для простых, легко понимаемых проектов, а = 2.4, b = 1.05
Для сложных систем, a = 3.0, b = 1.15
Для встроенных систем, a = 3.6, b = 1.20.
Модель была проста в использовании, но не обеспечивала должной точности.
Детализированная модель COCOMO. Уточнены наборы параметров {a, b}, и, кроме того, общая формула приняла форму , где M – уточняющий коэффициент, рассчитывающийся как произведение 15-ти поправочных факторов из 4-х категорий (факторы конечного продукта, вычислительной среды, персонала, проекта) варьирующихся в диапазоне от 0.7 до 1.66, которые могут быть найдены в специальной таблице. Эти изменения базовой модели позволили существенно улучшить точность оценки, особенно в случае применения метода к отдельным компонентам, а не к системе в целом.
COCOMO II (1997 г.) Имеет много общего со своей предшественницей, однако во многом основана на новых идеях, а также адаптирована к современным методологиям разработки ПО (в частности, если COCOMO подразумевала только каскадную модель жизненного цикла, то COCOMO II также пригодна для спиральной и итеративной). При построении COCOMO II для обработки статистических данных использовался Байесовский анализ, который дает лучшие результаты для программных проектов, характеризующихся неполнотой и неоднозначностью, в отличие от многофакторного регрессионного, примененного в COCOMO. Также в ней допускается измерять размер проекта не только числом строк кода (LOC), но и более современными функциональными и объектными точками (см. выше). Помимо прочего, при расчете показателей COCOMO II учитывает уровень зрелости процесса разработки в соответствии с моделями SEI CMM/CMMI.
Общее плановое время разработки в модели COCOMO рассчитывается по формуле:
где c – коэффициент сжатия нормального графика;
p – функция зависящая от факторов масштаба системы.
Тема 6 Ценообразование на рынке ПО и ИТ
6.1 Особенности ценообразования в ИТ
Проблема оценки стоимости ПО и ИТ-услуг на сегодняшний день является весьма спорной, а подходы, практикуемые различными компаниями при формировании цен, могут существенным образом отличаться друг от друга. Это обусловлено многообразием видов ИТ-деятельности, связанных как с разработкой программных продуктов, так и с оказанием широкого спектра ИТ-услуг.
Выбор конкретного метода зависит от того, что является предметом продажи (программный продукт или услуга) и на каких рынках предполагается его продавать. Учитывается также и финансовое положение покупателя (крупным клиентам один и тот же ПП может быть продан дороже, чем средним или небольшим компаниям), каналы распределения, наличие или отсутствие в цене платежей за каждую успешную транзакцию и другие факторы.
Тем не менее, попробуем выделить некоторые особенности ценообразования, присущие рынку ИТ в целом.
1. Сложность определения базы для ценообразования. Во многих случаях, сложно определить базу, на основе которой будет формироваться цена. Так, например, если на уровне инфраструктуры как сервиса (IaaS) можно оценить использованное заказчиком процессорное время, ввод/вывод, трафик, память и дисковое пространство, то уже на уровне платформы как сервиса (PaaS) необходимо добавить в счет разработку приложений и поддержку. При этом разработка приложений бывает очень разной по времени и загруженности ИТ-персонала, а стоимость услуг последнего будет, в свою очередь, сильно варьироваться в зависимости от опыта и сложности решаемых задач. В подобных ситуациях, стоимость ИТ-услуг может быть рассчитана только по факту, как сумма понесенных издержек + прибыль разработчика, что не всегда удобно заказчику.
2. Себестоимость совпадает с постоянными издержками. Как уже отмечалось выше, затраты, связанные с тиражированием ПП несоизмеримы с затратами на его создание и в большинстве случаев могут рассматриваться как несущественные. В связи с этим, при исчислении себестоимости программного обеспечения практически невозможно разнести издержки по экземплярам продукции. Переменные издержки близки к нулю, а себестоимость практически совпадает с постоянными издержками по созданию нового продукта.
3. Продается лицензия, а не сам продукт. При продаже ПП продается не сам продукт, а лишь лицензия на его использование. Как следствие, рассуждая о стоимости ПП, мы говорим о стоимости лицензии, предполагающей его легальное использование в течение определенного периода времени.
4. Совокупная стоимость владения складывается из ряда слагаемых. Совокупная стоимость владения ПП представляет собой агрегированную величину, состоящую из ряда слагаемых и включающую в себя:
— стоимость лицензии;
— затраты на хостинг и/или модернизацию аппаратного обеспечения;
— затраты на внедрение;
— затраты на обучение;
— стоимость сопровождения и технической поддержки;
— затраты на SEO и рекламу.
5. Рейт как предмет продажи. При продаже аутсорсинговых услуг речь, как правило, идет о стоимости, по которой продаются человеко-часы (рейты) ее сотрудников. Чем выше экспертиза компании, тем более высокий рейт она может запросить у заказчика.
6.2 Оценка стоимости программного продукта
Рассмотрим проблему оценки затрат и времени, необходимых для выполнения определенных этапов проекта.
Менеджерам необходимо получить ответы на следующие вопросы.
— Какие затраты необходимы для выполнения этапа?
— Сколько это займет времени?
— Какова стоимость выполнения данного этапа?
Этапы расчета оценки стоимости:
1. Предварительные расчеты должны быть выполнены на ранней стадии для утверждения бюджета.
2. Во время выполнения проекта все расчеты должны регулярно обновляться. Это помогает планировать работу и содействует эффективному использованию средств.
Параметры, используемые для оценки проекта:
— стоимость аппаратных средств и программного обеспечения, включая их обслуживание;
— расходы на командировки и обучение;
— расходы на персонал (в основном на привлечение со стороны специалистов по программному обеспечению), включающие:
а) расходы на содержание, отопление и освещение офисов;
б) на содержание вспомогательного персонала — бухгалтеров, секретарей, уборщиц и технического персонала;
в) на содержание компьютерной сети и средств связи;
г) на централизованные услуги — библиотеки, места отдыха и развлечения и т.д.;
д) на социальное обеспечение и выплаты служащим (например, пенсии и медицинская страховка).
Таблица 2 — Факторы, влияющие на стоимость программного продукта
Фактор
Описание
Возможности рынка ПО
Организация-разработчик может выставить низкие цены на программный продукт из-за намерения переместиться в другой сегмент рынка ПО, что в будущем может привести к более высоким доходам.
Непредвиденные факторы
Если организация примет фиксированную величину стоимости, издержки производства могут возрасти из-за непредвиденных расходов
Условия контракта
Если, например, право на владение программным кодом после завершения проекта передано заказчику, то проект стоит дороже.
Изменение требований
После заключения контракта за изменение требований можно назначить дополнительную цену
Финансовая стабильность
Во избежание банкротства фирмы, испытывающие финансовые затруднения, для получения заказа могут снизить цены на свои разработки.
Самым важным фактором являются индивидуальные способности специалистов, занятых при разработке ПО.
Таблица 3 — Факторы, влияющие на производительность программиста
Фактор
Описание
Опыт разработки ПО для предметной области
Для эффективной разработки программного продукта необходимо знание той предметной области, где будет эксплуатироваться области разрабатываемое ПО.
Процесс управления качеством
Применяемый метод программирования может оказать существенное влияние на производительность написания кода.
Размер проекта
Чем больше проект, тем больше времени уходит на согласование различных вопросов внутри группы разработчиков и ниже производительность.
Поддержка технологии разработки ПО
Хорошая поддержка технологии разработки ПО, например CASE-средства или системы управления конфигурацией, может значительно повысить производительность труда программиста
Рабочая обстановка
Спокойное рабочее окружение с индивидуальными рабочими местами способствует повышению производительности
6.3 Ценообразование при разработке ПО на заказ
В его ценообразования зачастую лежит часовой тариф, выражаемый обычно в долларах США или евро. Ввиду самой специфики аутсорсинга (переносить разработку туда, где труд разработчиков обходится дешевле), отечественные компании практически работают в пределах границ, жестко заданных извне: верхнюю «планку» тарифов здесь формируют тарифы разработчиков Западной Европы и Америки (≈50-90$), а нижнюю – тарифы индийских, китайских и иных азиатских компаний (≈10-30$).
Еще одним фактором, оказывающим влияние на цену, являются используемые компанией технологии и содержание работ. Так, например, квалифицированные SAP-консультанты всегда стоят дорого – значительно дороже представленных в таблицах ставок.
В общем случае можно выделить по меньшей мере 2 широко практикуемых подхода (формы) к установлению цены на такого рода ИТ-услуги:
1. Фиксированная цена (FixedPrice). Подход, при котором цена на разработку не зависит от количества затраченных ресурсов и времени. Используется в тех случаях, когда можно с большой долей вероятности заранее оценить сроки и затраты на выполнение работ. Кроме непосредственных затрат на разработку, вендору выплачивается вознаграждение для обеспечения прибыли. В рамках этого подхода существуют также такие разновидности как:
— затраты плюс фиксированная плата (Cost-PlusFixedFee - CPFF);
— затраты плюс поощрительное вознаграждение за перевыполнение целевых показателей (Cost-Plus-IncentiveFee - CPIF);
— затраты плюс премия (Cost-Plus Award Fee - CPAF);
— затраты плюс процент затрат (Cost-Plus Percentage of Cost -CPPC).
2. «Время и материалы» (Time and Material - T&M).Подход, сочетающий фиксированные цены (например, часовые ставки специалистов) и возмещение реально потраченных усилий на разработку (количество отработанных человеко-часов). При этом фиксированные ставки могут быть оговорены заранее, а реальное количество отработанных часов устанавливается по факту. Чтобы как-то сориентировать заказчика о предстоящих затратах, может использоваться метод минимальных и максимальных оценок стоимости проекта, либо работа осуществляется по так называемым гибким технологиям разработки (Agilesoftwaredevelopment).
В качестве примера ценообразования в ИТ-консалтинге, рассмотрим метод договорного ценообразования, основанного по принципу «средние издержки + прибыль». Данный метод хорошо работает как при оказании «чистых» консалтинговых услуг, так и в том случае, когда ИТ-консалтинг является частью комплексного договора, включающего в себя разработку, внедрениу и сопровождение ПП.
Метод «средние издержки + прибыль» основывается на начислении стандартной наценки на себестоимость ИТ-услуги/ИТ-товара (оборудования, ПО, БД, БЗ и т.д.). Существует два варианта этого метода:
1. Метод «полных затрат» основан на расчете суммы всех прямых и косвенных затрат (в т. ч. на производство/продажу) и определении себестоимости в расчете на единицу продукции (услуги). Преимущество этого метода заключается в том, что он полнее калькулирует цену производства. Недостатком является то обстоятельство, что данный метод не учитывает фактор рыночного спроса, а потому услуга (ИТ-консалтинг) или товар (ИТ-продукт: оборудование, ПО и др.) может оказаться невостребованным на рынке. В результате - услуга может оказаться нереализованной, а товар непроданным.
2. Метод «предельных издержек» базируется на использовании предельных издержек производства/продажи. При расчете цены этим методом учитываются только те затраты, которые можно непосредственно отнести на оказание ИТ-консалтинга или производство (поставку) ИТ-продукта. К преимуществу данного метода можно отнести то, что он вносит в процесс ценообразования ИТ-консалтинговых услуг элементы экономического анализа. Кроме того, доступность метода позволяет использовать его при планировании и контроле прибыльности ИТ-консалтинговой компании любого масштаба.
3. Метод «средние издержки + прибыль» основан на использовании принципа добавленной стоимости (т.н. «маржинального подхода»). Эта стоимость определяется как разница между выручкой от реализации и прямыми переменными затратами. Маржинальный доход идет на покрытие накладных расходов, а остающаяся разница представляет собой прибыль. Косвенные и условно-переменные затраты практически неизменны и при реализации новой консалтинговой ИТ-услуги, и при производстве нового ИТ-продукта, и при изменении объема. Следовательно, чем выше разница между ценой (выручкой от реализации) и переменными затратами, тем более рентабелен, в данном случае, ИТ-консалтинг. Цена при использовании метода «средние издержки + прибыль» определяется по формуле:
Цит = И (1 + R/100)
где Цит – цена ИТ-консалтинговой услуги;
И – издержки («полные» или «предельные» - в зависимости от выбранного варианта);
R – рентабельность, %.
В качестве базовых принципов ценообразования в ИT-консалтинге применяются различные методики. Среди них:
— расчет экономической ценности услуги для потребителя;
— расчет затраченного времени;
— метод следования за рыночными ценами.
Широко используются индивидуальные расценки и договорные условия для каждого отдельного проекта. В зависимости от условий договора, могут использоваться различные подходы к ценообразованию, такие как Fixedprice, TimeandMaterial или Finalprice.
Тема 7 Технико-экономическое обоснование проектов по разработке ПО
7.1 Цели технико-экономического обоснования
Технико-экономический анализ разработки проектов программных средств - это выбор и прогнозирование наиболее адекватных экономических и функциональных критериев для обобщенного описания эффективности, стоимости создания и использования проектов программных средств в зависимости от их назначения, области применения и прочих факторов.
Методы технико-экономического анализа в зависимости от дальнейшего применения программного средства можно разделить на две группы:
1. Программное средство ориентировано на массовое тиражирование и продажу на рынке. Конкретная область применения и заказчик неизвестны. В данном случае методы технико-экономического анализа базируются на данных, полученных при исследовании рынка сбыта программного средства. Изучаются характеристики программных продуктов разработчиков-конкурентов: эффективность, стоимость, трудозатраты; большое внимание уделяется показателям конкурентоспособности продуктов программных средств. На основании полученной информации оптимизируются технико-экономические показатели разрабатываемого программного средства.
2. Программное средство предназначено для конкретного пользователя и ориентировано на заранее известную область применения. При этом заказчик выбирает на рынке услуг конкурентоспособного разработчика, которого оценивает на возможность реализовать проект с необходимым качеством с учетом ограничения требуемых бюджета, сроков и других ресурсов. Заказчик заинтересован в получении программного средства высокого качества при минимальных затратах и в приемлемые сроки, а разработчик стремится к получению достаточных ресурсов на реализацию программного средства и максимальной оплаты за свою работу.
Цели технико-экономического обоснования:
1. Прогнозирование реальных затрат: изучается процесс разработки программ, происходит определение метрик технико-экономических показателей. На основе обобщения этих метрик выявляется трудоемкость и производительность труда, а также факторы, влияющие на эти показатели. Разрабатываются и внедряются методики сбора первичных данных, с помощью которых определяется длительность всего процесса разработки.
2. Создание методов и методик прогнозирования затрат и длительности разработки: методики базируются на анализе аналогов - прототипов и должны учитывать полученные значения технико-экономических показателей, основные характеристики создаваемых программных средств, а также технологию, оснащенность и организацию их разработки.
3. Обоснование и создание методов и средств снижения совокупных затрат и сроков разработки сложных программных средств: решаются задачи эффективного распределения трудовых ресурсов, повышение уровня автоматизации технологий разработки, выбор методов и средств, позволяющих снизить длительность разработки и проч.
4. Создание методических и нормативных документов: появляется возможность управления затратами на разработку, количеством и качеством создаваемых программных средств и их компонентов.
7.2 Основные технико-экономические показатели
Эффективность – это характеристика системы с точки зрения соотношения затрат и результатов ее функционирования. К основным показателям экономической эффективности относятся: экономический эффект, коэффициент экономической эффективности капитальных вложений, срок окупаемости капитальных вложений и др.
Экономический эффект – результат внедрения какого-либо мероприятия, выраженный в стоимостной форме, в виде экономии от его осуществления. Общий экономический эффект от производства и использования за весь срок службы нового программного продукта:
где Эобщ – общий экономический эффект от производства и эксплуатации нового программного продукта за весь срок его службы, руб.;
З1, З2 – удельные затраты на базовый и новый программный продукт, руб.;
В1, В2 – годовой объем работ, производимых с помощью базового и нового программных продуктов, натур.ед.;
В2/В1 – коэффициент роста производительности нового программного продукта по отношению к базовому;
(Р1+Ен)/(Р2+Ен) – коэффициент учета изменения сроков службы нового программного продукта по сравнению с базовым;
U1, U2 – годовые средние удельные эксплуатационные издержки пользователя при эксплуатации единицы базового и нового ПП, руб.;
К2, К1 – удельные средние капитальные вложения пользователя при использовании единицы базового и нового ПП в расчете на объем работ, производимых с помощью нового ПП, руб.;
(U1-U2)-Ен×(К2-К1) – средняя величина годовой экономии потребителя на приведенных затратах, руб.;
((U1-U2)-Ен×(К2-К1))/(Р2+Ен) – средняя экономия пользователя на приведенных затратах для всего срока службы ПП по сравнению с базовым, руб.;
А2 – объем внедрения ПП в рассматриваемый период, ед.
Масштаб-размер программ может приводиться в различных единицах, что может изменять их численные значения для одних и тех же программ в несколько раз. Размер исходных текстов программ, прежде всего, отражает трудоемкость и длительность их разработки и позволяет оценивать относительные характеристики производительности труда специалистов разработчиков. Единицы измерения масштаба-размера программных средств можно разделить на две группы:
1. Единицы измерения, которые разрабатываются и анализируются человеком (отражают сложность и трудоемкость создания программных средств и их компонентов). При этом различаются следующие типы текста программы:
— новый код текстов программ, разработанный полностью для нового приложения, который не включает фрагменты и процедуры ранее написанного и испытанного кода;
— модифицируемый код, разработанный для предыдущих проектов программных средств, который становится пригодным для использования в новым проекте, после внесения умеренного объема изменений;
— повторно используемый код, разработанный для предыдущих программных средств, который будет полностью пригодным для новых приложений без внесения каких-либо изменений;
— наследственный код, разработанный для предыдущих проектов, использование которого ожидается новым комплексом программ.
2. Единицы измерения, которые размещаются в реализующем компьютере (характеризуют объем памяти и производительность компьютера, необходимые для нормального функционирования разрабатываемого программного средства).
Конкурентоспособность проекта – это степень его соответствия выбранному рынку по коммерческим, техническим и экономическим показателям, обеспечивающим возможность сбыта товара на этом рынке. Это те характеристики, которые выгодно отличают данный товар от товаров-конкурентов.
Конкурентоспособность определяется как соотношение возможной эффективности (ценности, достоинств) последующего применения ПС и способности удовлетворить потребности пользователей при его использовании; к стоимости (цене, затратам), которую готов заплатить пользователь при приобретении и эксплуатации данного комплекса программ или базы данных. Техническая прогрессивность нового программного средства определяется коэффициентом эквивалентности. Расчет этого коэффициента осуществляется путем сравнения технического уровня товара-конкурента и разрабатываемого программного средства по отношению к эталонному уровню программного средства данного направления.
Коэффициент эквивалентности:
где Ктн и Ктб – коэффициенты технического уровня нового и базового программного средства.
Коэффициент технического уровня:
где β – коэффициент весомости i-го технического параметра,
n – число параметров,
Пi – численное значение i-го технического параметра сравниваемого программного средства,
Пэ – численное значение i-го технического параметра эталона.
Также к показателям конкурентоспособности можно отнести коэффициент функциональных возможностей, коэффициент соответствия нормативам и коэффициент цены потребления. Общую конкурентоспособность нового программного средства по отношению к базовому можно оценить с помощью интегрального коэффициента конкурентоспособности, учитывающего все ранее рассчитанные показатели.
Интегральный коэффициент конкурентоспособности:
где Кфв — коэффициент функциональных возможностей;
Кн — коэффициент соответствия нового программного средства нормативам;
Кц — коэффициент цены потребления.
Сложность создания программного средства. Оценка таких характеристик качества, как надежность и сопровождаемость не может быть выполнена до тех пор, пока не будет получена хотя бы первая версия программного средства. Еще до конца разработки программного средства метрика сложности позволяет прогнозировать, какие компоненты программного средства будут способны к отказу, сложнее тестироваться и негативно реагировать на изменение настроек или конфигурации.
Метрики сложности непосредственно определяют трудоемкость разработки комплекса программ. Метрики сложности можно разделить на две группы:
— метрики сложности потока управления программ (метрика Маккейба, метрика Майерса, метрика подсчета точек пересечения, метрика Джилба, метрика граничных значений). С помощью этих метрик оперируют либо плотностью управляющих переходов внутри программ, либо взаимосвязями этих переходов;
— метрики сложности потока данных (метрика обращения к глобальным переменным, метрика спена, метрика Чепина). Метрики сложности потока данных определяют использование, конфигурацию и размещение данных в программе.
Впервые графическое представление программы в виде графа было предложено Маккейбом в 1976г. Данный граф строится в виде ориентированного графа, в котором вычислительные операторы или выражения представляются в виде узлов, а передача управления между узлами - в виде дуг. Основной метрикой сложности считается цикломатическая сложность графа программы (цикломатическое число Маккейба), характеризующая трудоемкость тестирования программы.
Цикломатическое число Маккейба показывает требуемое количество проходов для покрытия всех контуров сильносвязанного графа или количества тестовых прогонов программы, необходимых для исчерпывающего тестирования по принципу «работает каждая ветвь».
Рисунок 13 — Оценка цикломатической сложности
Упрощенная формула вычисления цикломатической сложности:
C = e - n + 2,
где e - число ребер,
n - число узлов на графе управляющей логики.
Как правило, при вычислении цикломатической сложности логические операторы не учитываются. В процессе автоматизированного вычисления показателя цикломатической сложности построение графа не осуществляется. Вычисление показателя производится на основании подсчета числа операторов управляющей логики (if, switch и т.д.) и возможного количества путей исполнения программы.
РЕКОМЕНДУЕМАЯ ЛИТЕРАТУРА
а) основная литература:
1. Лаврищева Е.М. Программная инженерия. Тема 3. Базовые основы программной инженерии: учебно-методической пособие. — М.МФТИ, 2016. — 51 с.
2. Аккредитация ИТ-компаний. Министерство цифрового развития, связи и массовых коммуникаций РФ — URL: http://minsvyaz.ru/ru/activity/govservices/1/
3. В.В. Липаев Экономика программной инженерии заказных программных продуктов. Учебное пособие. — М:Макс-пресс 2014, 148с
4. Быховский М.А. Развитие телекоммуникаций. На пути к информационному обществу. (Развитие спутниковых телекоммуникационных систем). — М.: Горячая линия-Телеком, 2014. — 436 с.
б) дополнительная литература:
1. Инвестиции: учебник для бакалавров / В. М. Аскинадзи, В. Ф. Максимова. — М.: Юрайт 2014. — 423 с.
2. Антамошкин О.А. Программная инженерия. Теория и практика: учебник. — Красноярск: СФУ, 2012. — 247 с.
3. Цуканова О.А. Сетевая экономика [Электронный ресурс]: учебное пособие / О.А. Цуканова, А.В. Варзунов. — Спб.: НИУ ИТМО (Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики), 2012. — 77 с.
4. Полукаров Д.Ю., Моисеева, Т.В. Экономические и правовые основы рынка программного обеспечения. Учебное пособие [Электронный ресурс]: учебное пособие. — М.: СОЛОН-Пресс, 2012. — 224 с.
5. Сухарев О.С. Информационная экономика: знание, конкуренция и рост: монография. — М.: Финансы и статистика, 2015. — 288 с.