Структура затрат на ПО Арбатский Е.В. Многие программные проекты уникальны, скорее исключение, чем правило, составляют лишь проекты по разработке простых веб-сайтов, где основной упор делается на визуальную составляющую. Но несмотря на это можно выделить несколько структур затрат согласно применяемой технологии разработки. Согласно [1] существуют следующие структуры: 1. При четком разграничении этапов (спецификация, проектирование, разработка, сборка и тестирование) проекта и подсчете стоимости на них раздельно типично следующее разделение затрат. Можно сказать что это относится к водопадной модели. В некоторых случаях при особых требованиях к надежности расходы на тестирование могут превысить 40-50%. Сборка и тестирование Разработка Проектирование Спецификация 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% 2. Для спиральной модели добавляются дополнительные этапы, но при этом проблематично разделить затраты на макетирование, оценку рисков, доработку спецификаций. Тестирование системы Эволюционная разработка Спецификация 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% 3. Если оценивать структуру затрат в долгосрочной перспективе (с учетом сопровождения), то затраты на модернизацию (но не на исправление ошибок) могут превысить первоначальную стоимость ПО в 3-4 раза. На основе личного опыта могу сказать что эти цифры полностью подтверждаются, но временной период процесса модернизации для таких проектов обычно по времени превышает временные затраты на разработку первоначального ПО в 5-10 раз. Модеринизация Разработка системы 0% Версия 1.0 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% 27 января 2008 1 Хотя временные затраты на модернизацию занимают меньше времени, чем на разработку, при правильно организованном процессе разработки. 4. Отдельно выделяют структуру затрат для многоплатформенного / многопользовательского ПО, так как особое внимание приходится уделять тестированию работы ПО на различных платформах, конфигурациях. Тестирование системы Разработка Спецификация 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% Для небольших проектов тестирование возлагается на разработчиков, поэтому на сборку и тестирование отводится 5-10% от общей стоимости, либо это все включается в разработку. Если же взять некоторые современные подходы к разработке, то в них на уровне модели закреплены принципы вида «в начале тестируй, затем кодируй». Здесь так же не рассмотрены затраты, связанные с внедрением ПО. Дело в том, что этот аспект в большей степени зависит вида клиентов и конкретного ПО, в частности для сложных информационных систем внедрение подразумевает перестраивание бизнес-процессов организации, что мало связано с самим процессом разработки таких ИС. Литература 1. Иан Соммервилл «Инженерия программного обеспечения» 6-ое издание Версия 1.0 27 января 2008 2