Цели и процессы технико-экономического обоснования проектов программных средств

Методика 3—уточненная оценка технико-экономических показателей проектов программных продуктов с учетом полной совокупности факторов детальной модели СОСОМО 11.2000

Методика 2 — оценка технико-экономических показателей проектов...

Выбор и формирование требований к функциональной пригодности ПС — наиболее ответственная, стратегическая задача начальных этапов технико-экономического обоснования проекта программного продукта, системного проектирования и всего последующего развития его жизненного цикла. Жизненный цикл ПС можно разделить на две части, существенно различающиеся экономическими особенностями процессов и ресурсов, характеристиками и влияющими на них факторами. В первой части ЖЦ ПС производятся системный анализ, проектирование, разработка, тестирование и испытания базовой версии программного продукта. Номенклатура работ, их трудоемкость, длительность и другие экономические характеристики на этих этапах ЖЦ существенно зависят от характеристик объекта, технологии и инструментальной среды разработки. Особенно важно учитывать возможное возрастание суммарных затрат при завышении требований к качеству программного продукта. Как и для других видов промышленной продукции, улучшение качества комплексов программ обычно достигается не пропорциональным, а более значительным возрастанием требуемых для этого ресурсов. Сокращение этой потребности в ресурсах часто возможно только за счет принципиального изменения и совершенствования технологии проектирования и разработки.

Ориентирами для оценивания необходимых ресурсов трудоемкости, длительности и числа специалистов по крупным этапам работ при создании сложных ПС высокого качества могут служить данные, приведенные ниже в п. 5.2—5.4. Максимум трудоемкости и числа специалистов приходится на этапы программирования и тестирования компонентов, когда привлекается основная масса программистов-кодировщиков для разработки компонентов ПС. При активном использовании и совершенствовании технологий системного анализа и проектирования происходит перераспределение всех видов затрат в сторону увеличения трудоемкости начальных этапов разработки. Это дает значительное снижение использования совокупных ресурсов для всего проекта. Менее изучены распределения необходимых ресурсов по этапам работ, с учетом реализации требуемых конкретных характеристик качества ПС. Опубликованные данные и зависимости для различных классов ПС позволяют прогнозировать совокупные затраты и другие основные технико-экономические показатели (ТЭП), планы и графики работ вновь создаваемых проектов программных продуктов.

Вторая часть ЖЦ, отражающая эксплуатацию, сопровождение, модификацию, управление конфигурацией и перенос ПС на иные платформы, в меньшей степени зависит по величине требуемых ресурсов от функциональных характеристик объекта и среды разработки. Номенклатура работ на этих этапах более или менее определенная, но их трудоемкость и длительность могут сильно варьироваться, в зависимости от массовости и других внешних факторов распространения и применения конкретных версий программного продукта. Успех ПС у пользователей и на рынке, а также будущий процесс развития версий трудно предсказать, и он не связан напрямую с экономическими параметрами процессов разработки ПС. Определяющими становятся потребительские характеристики продукта, а их экономические особенности с позиции разработчиков и вложенные ресурсы на очередную версию отходят на второй план (см. первую часть ЖЦ).

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

Для прогнозирования и планирования любых процессов или характеристик объектов (в частности ПС) используются исходные данные двух типов:

— функции и номенклатура характеристик самого прогнозируемого объекта или процесса, для которого необходимо спланировать жизненный цикл;

— характеристики прототипов и пилотных проектов, в некоторой степени подобных планируемому объекту, о которых известны реализованные планы и необходимые экономические характеристики уже завершенных аналогичных процессов или объектов.

Совместная, корректная обработка исходных данных этих двух типов позволяет при проектировании оценивать и получать новые, прогнозируемые характеристики процессов, планов и экономических показателей создания ПС. Исходные данные первого типа отражают характеристики конкретного создаваемого объекта или процесса, доступные методы и инструментальные средства автоматизации труда при их создании. Эти данные последовательно детализируются и уточняются в процессе проектирования и дальнейшего ЖЦ ПС, что, в частности, позволяет уточнять выбор компонентов аналогичных объектов и их характеристик для исходных данных второго типа.

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

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

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

— несовершенство исходных данных при оценивании ТЭП (оценки размера, рейтинги влияния факторов) определяет важность для руководителя проекта пересматривать их оценки, учитывая новую информацию, чтобы обеспечить более реальную основу для дальнейшего управления проектом;

— вследствие несовершенства методов оценивания ПС следует сравнивать оценки с действительными значениями и использовать эти результаты для улучшения методов оценивания ТЭП;

— проекты ПС имеют тенденцию к изменению характеристик и экономических факторов и руководителю проекта необходимо идентифицировать эти изменения и выполнять реалистичное обновление оценок затрат.

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

Основными ресурсами у разработчиков при создании сложных комплексов программ являются: допустимые трудозатраты (стоимость) на разработку ПС с требуемым качеством; время — длительность полного цикла создания программного продукта; необходимое и доступное число специалистов соответствующей квалификации. Потребность в этих ресурсах в наибольшей степени зависит от размера — масштаба и сложности разрабатываемого ПС. Уточнения размеров ПС и компонентов могут быть решены последовательно к концу детального проектирования, однако при этом сохраняется неопределенность оценки размера комплекса программ и его трудоемкости порядка 5—10%, связанная с тем, насколько хорошо программисты понимают спецификации, в соответствии с которыми они должны кодировать программу, при этом целесообразно учитывать:

— цели оценивания ТЭП должны быть согласованы с потребностями в информации, способствующей принятию решений на соответствующем этапе проекта ПС;

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

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

Достаточно трудно оценить объем трудозатрат, необходимых для выполнения задачи, без достоверной информации относительно ее размера. Таким образом, измерение размера (сложности) предшествует оценке ТЭП, а эта оценка, в свою очередь, предшествует составлению графика работ. Недостаточно достоверные оценки влекут проблемы взаимодействия разработчика с заказчиком и увеличивают степень риска проекта.

Исходные данные реальных завершенных разработок для оценивания ТЭП собираются, накапливаются и обрабатываются с начала 70-х годов в разных отечественных организациях и за рубежом. Они позволили получать и прогнозировать основные обобщенные ТЭП процессов разработки ПС. При этом обычно рассматривался полный технологический процесс разработки ПС от начала подготовки технического задания до завершения испытаний базовой версии программного продукта. Учитывались все категории специалистов, участвующих в создании программ и обеспечивающих разработку, а также все виды работ, связанные с созданием программного продукта на выделенном интервале времени. Теоретические работы и системный анализ до подготовки требований заказчика в значениях ТЭП не учитывались. В общем случае для оценки технико-экономических характеристик новых проектов необходимы исходные данные:

— обобщенные характеристики использованных ресурсов и технико-экономические показатели завершенных разработок — прототипов ПС, а также оценки влияния на их характеристики различных факторов объекта и среды разработки;

— реализованные и обобщенные перечни выполненных работ и реальные графики проведенных ранее разработок различных классов ПС;

— цели и содержание частных работ в процессе создания сложных комплексов программ и требования к их выполнению для обеспечения необходимого качества ПС в целом;

— структура и содержание документов, являвшихся результатом выполнения частных работ.

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

Трудоемкость разработки программных средств наиболее сильно зависит от размерамасштаба комплекса программ, выраженного: числом операторов, строк на языке программирования или функциональных точек (см. стандарт ISO 14143:1-5:1998-2004. — Измерение функционального размера). Реальное изменение создаваемых в настоящее время сложных ПС от 104 до 107 строк (LOC) определяет диапазон трудоемкости разработки таких программ от человеко-года до десятков тысяч человеко-лет. Подтверждена по большому числу проектов высокая статистическая корреляция между размером комплексов программ и трудоемкостью их разработки.

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

— первичный системный анализ целесообразности применения ПИК;

— поиск, адаптацию и процессы использования готовых компонентов;

— оценку затрат с учетом стоимости приобретения и адаптации переносимых программ и баз данных;

— интегрирование в новой операционной или внешней среде;

— тестирование и испытания компонентов в комплексе с унаследованными программами.

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

В совокупных затратах на создание полностью новых ПС доминирует трудоемкость непосредственной разработки программных компонентов. Распределение необходимой трудоемкости на этапы разработки программ сложного ПС реального времени представлено в таблице 5.1. Этап технологической подготовки разработки включен в техническое проектирование, а документирование объединено с комплексной отладкой. В распределении учтены подмножества работ, соответствующие разным категориям специалистов. Все специалисты были разделены на три категории: руководители разработки и системные аналитики; непосредственные разработчики программных компонентов и специалисты по комплексированию; вспомогательный персонал, обеспечивающий разработку и документирование программ. Первая и третья категории специалистов непосредственно не взаимодействуют с текстом программ при их отработке, однако их труд является неотъемлемой частью всего процесса разработки и в крупных проектах составляет около половины затрат на каждом этапе.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: