ИНСТРУМЕНТАЛЬНЫЙ МЕТОД ОЦЕНКИ СТОИМОСТИ IT-ПРОЕКТОВ НА СТАДИИ ПРЕДВАРИТЕЛЬНОГО ПРОЕКТИРОВАНИЯ

Кратенок А.А.
Белорусский государственный университет информатики и радиоэлектроники

Аннотация
В статье рассматривается инструментальный метод оценки стоимости IT-проектов на стадии предварительного проеткирования.

Ключевые слова: оценка стоимости IT-проекта


INSTRUMENTAL METHOD OF VALUATION OF IT-PROJECTS DURING PRE-DESIGN

Kratenok A.A.
Belarusian State University of Informatics and Radio Electronics

Abstract
This article is about instrumental method of valuation of IT-projects during pre-design.

Рубрика: 05.00.00 ТЕХНИЧЕСКИЕ НАУКИ

Библиографическая ссылка на статью:
Кратенок А.А. Инструментальный метод оценки стоимости IT-проектов на стадии предварительного проектирования // Современные научные исследования и инновации. 2012. № 12 [Электронный ресурс]. URL: https://web.snauka.ru/issues/2012/12/19093 (дата обращения: 20.04.2024).

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

Оценка стоимости программного обеспечения проводится с целью определения ресурсов, необходимых для разработки, верификации и валидации программного продукта, а также для выявления неопределенности и риска, связанных с этой оценкой.

Общая стоимость проекта включает стоимость разработки программного обеспечения, стоимость оплаты сопутствующих работ и прочие расходы. Основной составляющей общей стоимости является стоимость его разработки, т. е.  стоимость трудозатрат. По этой причине важно максимально точно оценить трудоемкость разработки ПО. После этого рассчитывается стоимость его разработки с учетом распределения на проекте работников разных категорий и стоимости 1 человеко-месяца для каждой категории.

Поскольку непосредственные усилия разработчиков обеспечивают большую часть стоимости ПО, то методы оценки проектов в основном сосредотачиваются именно на этом аспекте и дают оценки в человеко-месяцах, которые затем преобразовываются в длительность проекта или его стоимость.

На практике при оценке проекта сталкиваются с тремя проблемами, имеющими принципиальное значение [2]: выбор модели, метода оценки программного продукта, метрики его размера и критериев точности оценки.

В качестве модели оценки была выбрана COCOMO II (Constructive Cost Model) – одна из самых популярных алгоритмических моделей оценки трудоемкости программного обеспечения, ставшая стандартом. Параметры модели  варьируются в зависимости от сложности разрабатываемого программного обеспечения, а также режимов использования модели.

Модель вычисляет стоимость разработки программного продукта в зависимости от оценок размера кода программы и комплекса “издержек”, которые включают субъективную оценку товара, оборудования, персонала и проектных характеристик. Существуют различные варианты модели COCOMO, которые включают все характеристики, с оценкой стоимости управляющих воздействий на каждый шаг (анализ, проектирование и т.д.) в процессе разработки программного продукта.

Достоинством выбранной модели является возможность применения ее в каскадной, спиральной и итеративной моделях  жизненного цикла проекта. При построении COCOMO II для обработки статистических данных использовался Байесовский анализ, позволяющий получить лучшие результаты для программных проектов, характеризующихся неполнотой и неоднозначностью. Также допускается измерять размер проекта числом строк кода, функциональными и объектными точками [4].

Таким образом, модель может использоваться на разных этапах жизненного цикла разработки проекта, поскольку позволяет получать оценки тремя разными способами на разных этапах проекта [5]:

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

– на следующих этапах, когда требования в основном известны и начинается разработка архитектуры ПО, используется модель этапа предварительного проектирования;

– после разработки архитектуры  оценки выполняются с использованием пост архитектурной модели.

В модели этапа предварительного проектирования используется формула регрессии с параметрами, определяемыми на основе отраслевых данных и характеристик конкретного проекта.

Главной особенностью в оценке трудоемкости  является использование в качестве метрики размера программного продукта тысяч строк исходного кода (KSLOC) – число непустых строк исходного кода, исключая комментарии. Размер программного продукта может быть оценен экспертами с применением метода PERT или получен путем анализа продукта методом функциональных точек.

В пост архитектурной модели используются 17 поправочных факторов, принадлежащих к одной из четырех категорий (атрибуты продукта,  системы, команды разработчиков, проекта), которые получают оценку по 6 – балльной шкале. Также учитываются трудозатраты на автоматически генерируемый код, на интеграцию и тестирование повторно используемых компонентов и т. д.

В данной работе реализуется модифицированный метод оценки трудоемкости проекта с целью повышения  точности оценки, используя модели COCOMO II на разных этапах проекта.

Если был проведен анализ программного продукта методом функциональных точек, его размер в строках кода может быть рассчитан, используя собственные статистические данные или статистику по отрасли. Модификация метода заключается в использовании усредненного значения количества строк кода, необходимых для реализации одной не выровненной функциональной точки. Для улучшения точности оценки трудоемкости применяется декомпозиция программного продукта на отдельные компоненты, оценка размера может быть получена как сумма “локальных” оценок. Также следует учитывать, что суммарная трудоемкость проекта не равна простой сумме трудоемкостей разработки каждого из компонентов, поскольку не учитывает взаимосвязи компонентов и трудозатраты на их интеграцию.

Разработанная в рамках данного исследования система является эффективным средством управления такими ресурсами проекта, как трудоемкость, стоимость и длительность, на разных этапах проекта,  основана на использовании современных информационных технологий (реализована на языке Java с применением технологий Spring MVC, Hibernate, JSP), позволяет ускорить процесс обработки данных, а также повысить точность предварительной оценки проектов. Также были разработаны предложения по улучшению модели оценки стоимости с целью повышения точности оценок.


Библиографический список
  1. K. Lum, M. Bramble Handbook for Software Cost Estimation. – JPL: Pasadena, California, 2003 – 63 c.
  2. Управление проектами по созданию программного обеспечения / У. Ройс. –  Москва: ЛОРИ, 2002.
  3. Менеджмент ИТ-проектов. / Д. Филлипс. –  Москва: ЛОРИ, 2005.
  4. Учебно-методическое пособие по дисциплине “Управление проектами и разработкой ПО”. / Ф.А. Новиков. – Москва, 2009. – 256 с.
  5. Лекции по управлению проектами. / С. Архипенков. – Москва, 2009. – 127с.


Количество просмотров публикации: Please wait

Все статьи автора «Анна Кратенок»


© Если вы обнаружили нарушение авторских или смежных прав, пожалуйста, незамедлительно сообщите нам об этом по электронной почте или через форму обратной связи.

Связь с автором (комментарии/рецензии к статье)

Оставить комментарий

Вы должны авторизоваться, чтобы оставить комментарий.

Если Вы еще не зарегистрированы на сайте, то Вам необходимо зарегистрироваться:
  • Регистрация