Структура затрат на ПО

Многие программные проекты уникальны, скорее исключение, чем правило, составляют лишь проекты по разработке простых веб-сайтов, где основной упор делается на визуальную составляющую. Но несмотря на это можно выделить несколько структур затрат согласно применяемой технологии разработки. Согласно [1] существуют следующие структуры:
  1. При четком разграничении этапов (спецификация, проектирование, разработка, сборка и тестирование) проекта и подсчете стоимости на них раздельно типично следующее разделение затрат. Можно сказать что это относится к водопадной модели. В некоторых случаях при особых требованиях к надежности расходы на тестирование могут превысить 40-50%.
  2. Для спиральной модели добавляются дополнительные этапы, но при этом проблематично разделить затраты на макетирование, оценку рисков, доработку спецификаций.
  3. Если оценивать структуру затрат в долгосрочной перспективе (с учетом сопровождения), то затраты на модернизацию (но не на исправление ошибок) могут превысить первоначальную стоимость ПО в 3-4 раза. На основе личного опыта могу сказать что эти цифры полностью подтверждаются, но временной период процесса модернизации для таких проектов обычно по времени превышает временные затраты на разработку первоначального ПО в 5-10 раз. Хотя временные затраты на модернизацию занимают меньше времени, чем на разработку, при правильно организованном процессе разработки.
  4. Отдельно выделяют структуру затрат для многоплатформенного / многопользовательского ПО, так как особое внимание приходится уделять тестированию работы ПО на различных платформах, конфигурациях.
Для небольших проектов тестирование возлагается на разработчиков, поэтому на сборку и тестирование отводится 5-10% от общей стоимости, либо это все включается в разработку. Если же взять некоторые современные подходы к разработке, то в них на уровне модели закреплены принципы вида «в начале тестируй, затем кодируй».
Здесь так же не рассмотрены затраты, связанные с внедрением ПО. Дело в том, что этот аспект в большей степени зависит вида клиентов и конкретного ПО, в частности для сложных информационных систем внедрение подразумевает перестраивание бизнес-процессов организации, что мало связано с самим процессом разработки таких ИС.

Литература
1.Иан Соммервилл «Инженерия программного обеспечения» 6-ое издание

Статья в формате PDF с рисунками
Last modified: Thursday, 14 July 2011, 6:47 PM