Тема 3: Учет и анализ затрат в ЖЦПО.
При группировке затрат на разработку программного продукта следует исходить из общего положения в определении статей расходов для традиционной продукции.
Статьи расходов:
Затраты по заработной плате (основной, дополнительной и все отчисления);
Затраты на технологию (на инструментальные средства, используемые при создании ПИ), в основном затраты на приобретение и освоение ППП, используемых как инструментальные средства. Затраты на ПИ, которые используются как эталон.
Расходы на содержание и эксплуатацию технических средств разработки, эксплуатации и сопровождения (затраты на машинное время).
Затраты на материалы (информационные носители).
Затраты на энергию, на использование каналов связи (для отдельных видов).
Общепроизводственные расходы (затраты на управленческий персонал, на содержание помещений).
Непроизводственные расходы (затраты связанные с рекламой, поиском заказчиков, поставками конкретных экземпляров).
Классификация затрат
Выделяют расходы основные (непосредственно связанные с процессом разработки и эксплуатации ПО) и накладные расходы, которые носят обеспечивающий характер.
По способу отнесения на конкретный продукт:
прямые (могут быть учтены при создании конкретного экземпляра продукта);
косвенные (связанные с созданием нескольких продуктов).
Основные отличия в расчете затрат на программную продукцию от традиционных продуктов :
Большая динамичность и большая неопределенность результата в заданные сроки, особенно на ранних стадиях разработки.
Отсутствует сложившаяся технологическая база для создания программной продукции, что приводит к разнообразию приемов и методов разработки при создании схожей продукции различными разработчиками.
Разнообразие предметной области.
Методы нормирования затрат на программную продукцию отличаются от затрат, сложившихся в традиционных отраслях. Метод – анализ статистических данных о фактически завершенных разработках, выявление факторов, определяющих разнообразие затрат, классификация этих факторов и предоставление пользователю нормативных материалов, возможности выбора наиболее близкого ему аналога и корректировки затрат, которые произошли при разработке аналога с помощью набора коэффициентов, учитывающих факторы разнообразия.
Особенно это существенно для затрат живого труда.
Стадии ЖЦПИ | Стоимостные затраты, % | Временные затраты |
Разработка требований | 10 | 6 |
Проектирование | 10 | 5 |
Программирование | 10 | 7 |
Отладка | 20 | 15 |
Эксплуатация и сопровождение | 50 | 67 |
С = Ср+Сэ+Сс ; Ср – разработка, Сэ – эксплуатация, Сс – сопровождение.
Ср = С1р+С2р+С3р+С4р+С5р+С6р, где
С1р – затраты труда на создание программного продукта;
С2р – затраты на изготовление эталонного экземпляра;
С3р – затраты на технологию (затраты на приобретение ПС, использованных при разработке ПИ, инструментарий ПС);
С4р – затраты на ВТ, использованную при разработке;
С5р – затраты на обеспечение должной квалификации персонала разработки;
С6р – различного рода затраты накладные, косвенные, необходимые для разработки.
Основную роль играют затраты на труд, на технологию и на технику (согласно статистическим данным).
Необходимо предложить методику для расчета С1р, С3р и С4р, так как величина С2р и С5р в %–ом выражении сравнительно устойчива и после определения суммы С1р+С3р+С4р может быть получена с использованием коэффициента. С2р » 0,05, С5р » 0,07. С1р зависит от объема разработки.
, где Р – производительность труда разработчика, Сi – произведение коэффициентов, которые отражают изменение трудоемкости разработки, в зависимости от конкретных условий в которых она проводится.Перечень коэффициентов Сi может быть очень разнообразен применительно к конкретным разработкам. Для каждой разработки автору расчетов С1р необходимо определить свой перечень коэффициентов, если нужно использовать различные источники.
Перечень первоочередных Сi :
Сложность комплекса программ (С1) проводится классификация программ по группам сложности (3–4 группы) и определяются признаки, позволяющие отнести разоаботку к конкретной группе сложности. С1 – 1¸4 (увеличение затрат труда в несколько раз, по сравнению с простейшей).
Надежность функционирования (защита от ошибок, возможность дополнительного контроля, обеспечение сохранности и восстановления информации, обеспечение ограничения доступа). С2 ¸ 1–5.
Ограничения реализующей ЭВМ (дополнительные требования производительности, насколько нас сдерживает та ЭВМ, которая будет связана с эксплуатацией). С3 – 1¸1,2–3.
Если в результате разработки задействовано было до 50% мощности реализующей ЭВМ, то влияние этого фактора не учитывается. Если же мы превосходим эту величину, то появляется необходимость учета этого фактора. Если наша величина составляет более 70%, то возрастает на несколько десятков процентов.
Необходимость использования компонент создаваемого ПО для других разработок, то есть ведется разработка типового ПО. С4 – 1¸1,1–1,4 (10–20%)
Использование типовых проектных решений (ТПР) и ППП при разработке ПИ. С5 – 1¸0,7–0,3 (0,3 – предельное решение)
Использование передовых методов организации разработки. С6 – 1¸0,8–0,5. (Сттруктурное программирование, использование формализованных методов при распределении ресурсов, нисходящее проектирование).
Уровень автоматизации разработки (использование достаточно современных инструментальных средств, например систем программирования, проблемно–ориентированных систем программирования, генераторы программ, использование удачного текстового редактора для подготовки текстов и документации, средства автоматизации для отладки программ). С7 – 1¸0,5–0,25.
Относительное быстродействие машин. С8 – 1¸0,7–0,5, возможность использования ресурсов ЭВМ.
Относительное число доступов к машине (число дисплеев). С9 – 1¸0,7–0,5.
Тематическая квалификация разработчика. С10 – 1¸0,8–0,4
Технологическая квалификация разработчика (опыт использования технических и технологических средств, которые применяются в данной разработке, например: язык программирования, ППП, ОС). С11 – 1¸0,8–0,6.
Квалификация заказчика (опыт заказчика в формулировании технического задания на аналогичные программноы продукты и опыт в эксплуатации). С12 – 1¸1,5 вплоть до 5.
1 – Предпроектная стадия;
2 – Проектирование;
3 – Технологическая подготовка;
4 – Программирование;
5 – Автономная отладка;
6 – Комлексная отладка;
7 – Выпуск документации, подготовка носителей;
8 – Испытания.
В определении конкретной величины С1р используют подход “от аналога”. Ищутся близкие к нашим, но уже завершенные разработки.
Книги:
УНВ (укрупненные нормы времени) – позволяют подобрать аналог исходя из особенностей технологического процесса обработки информации на объекте.
ТНВ (типовые нормы времени) – позволяют подобрать аналог исходя из функциональных особенностей решаемой задачи.
УНВ – базируются на подборе аналога, исходя из технологии обработки информации. По каждой типовой процедуре (ввод, генерация отчетов, поиск в БД). Для прогнозируемого объема разработки предлагаются базовые трудоемкости. В дальнейшем базовые трудоемкости корректируется исходя из технологических факторов, которые связаны с условиями реального объекта.
Учитываются следующие факторы, определяющие трудоемкость:
Объем разработки (количество операторов);
Сложность разработки;
Степень новизны;
Степень использования типовых проектных решений, стндартных модулей и т.д. при разработке;
Этапы определения трудоемкости:
Определяется тип процедуры;
По каталогу аналогов определяется сколько потребовала реализация этой типовой процедуры в тестовых условиях (количество строк исходного текста):
Определяется степень сложности разработки;
3–4 группы сложности, по каждой из групп сложности заданы характеристики, которые позволяют отнести разработку к той или иной группе :
1 группа : (высшая) интеллект и языковой интерфейс, работа в режиме реального времени (процесс обработки сопоставим по времени с требованиями), режим работы телекоммуникационный, машинная графика (разработка элементов), реализация комплекса разработок.
2 группа : оптимизационные расчеты, применение сложных математических методов, настройка на изменяющиеся внешние условия, предусмотрение переносимости создаваемого продукта.
3 группа : (не встречается ничего из вышеперечисленного).
По группе сложности из таблиц определяется трудоемкость:
V | Группа сложности | ||
тыс. усл. ед. | 1 | 2 | 3 |
1 | 229 | ||
2 | 244 | ||
10 | 3905 | 2425 | 445 |
20 | 4700 | 2858 | 812 |
100 | 15598 | 8700 | 5800 |
200 | 35000 | 20000 | 15000 |
500 | 110000 | 65000 | 54000 |
После получения базового значения необходимо откорректировать это значение с учетом всех возможных коэффициентов, учитывающих вляние факторов связанных с прогрессивными технологическими разработками (С6¸С9)
По степени новизны классификация по трем группам.