УДК: 065
ББК: 65.0
Глухова Л.В., Гудков А.А.
УПРАВЛЕНИЕ ЗАТРАТАМИ ПРОЕКТНОЙ ДЕЯТЕЛЬНОСТИ НА ОСНОВЕ МЕТРИЧЕСКОГО ПОДХОДА И ТРЕБОВАНИЙ ГОСТ Р 21500:2012
Glukhova L.V., Gudkov A.A.
PROJECT ACTIVITY COST MANAGEMENT BASED ON THE METRIC APPROACH AND REQUIREMENTS OF THE GOST R 21500:2012
Ключевые слова: проект ПО, метрика, качество, оценка затрат, оценка рисков проектной деятельности, ГОСТР 21500: 2012.
Keywords: software project, metrics, quality, cost estimation, project activity risk assessment, GOSTR 21500: 2012.
Аннотация: развитие средств информатизации и цифровизации требует решения вопроса оценки качества проектной деятельности, в том числе и проектов, связанных с разработкой программного обеспечения (проект ПО). Под управлением проектной деятельностью понимается комплекс мероприятий по планированию, анализу, оценке и регулированию жизненного цикла проекта ПО с позиций качества. Под качеством проекта понимается удовлетворенность потребителя результатами проектной деятельности.
Оценка качества проекта ПО состоит в установлении состава определенных характеристик и ключевых показателей его функционирования. Для оценки качества чаще всего применяются метрики, позволяющие установить степень соответствия тем или иным ключевым параметрам.
Целью статьи является разработка элементов методики оценки затрат на обеспечение качества и надежности проекта ПО на основе метрического подхода.
Новизна предлагаемых решений состоит в том, что предложен комплексный подход метрической оценки затрат на проект ПО по стадиям жизненного цикла, приведена классификационная характеристика каждой из метрик, показаны авторские модели, позволяющие управлять проектной деятельностью команды разработчиков.
Abstract: during the period of development of informatization and digitalization tools, the issue of assessing the quality of project activities, including projects related to software development (Software Project) is being updated. Project activity management is understood as a set of measures for planning, analysis, evaluation and regulation of the software project life cycle from the point of view of quality. Project quality means customer satisfaction with the results of project activities.
Software project quality assessment consists in establishing the composition of certain characteristics and key performance indicators of the project, as well as methods of its evaluation and analysis of performance and reliability. Most often, metrics are used to assess the quality of the project to assess the degree of compliance with one or another key parameter.
The purpose of the article is to develop elements of the software project quality and reliability assessment methodology based on the metric approach.
The novelty of the proposed solutions lies in the fact that the complex approach of metric estimation of software project costs at the stages of the life cycle is proposed, the classification characteristic of each of the metrics is given and the author's models allowing to manage the project activity of the development team are shown.
Введение ченная оригинальная автоматизированная
Под проектом программного обеспе- разработка интеллектуального продукта, чения (далее проект ПО) понимается закон- который соответствует заявленным требо-
ваниям заказчика.
В соответствии с требованиями КОЛЕС 25000:2014 под качеством программного обеспечения понимается способность программного продукта при определенных условиях удовлетворять требованиям заказчика, которые выявляются при определении им требований к готовому программному изделию на стадии его проектирования [1].
В работе рассматривалась группа проектов программного обеспечения на основе деятельности ИТ-компаний города. Тема исследования была выбрана, исходя из следующего:
Во-первых, проводимая в стране политика развития информатизации, требующая от разработчиков программного обеспечения качественных программных проектов. В этом аспекте под качеством проекта понимается удовлетворенность потребителей от его реализации.
Во-вторых, потребность достоверной оценки возможных затрат на качество программного обеспечения. Здесь под затратами на качество подразумевается комплекс работ, связанный с обеспечением и поддержанием требуемого качества проектов ПО на стадиях его жизненного цикла. Отсутствие единой метрической базы для оценки затрат на этапах жизненного цикла приводит к возникновению рисков при планировании сроков и содержания проекта и инициируют появление неопределенностей, приводящих к росту затрат на качество программного обеспечения.
В-третьих, потребность снизить риски несоответствия планируемых и фактических сроков реализации проектов ПО. Она была выявлена как в процессе анализа различных официальных статистических данных, так и множества специальных литературных источников, в том числе диссертаций, научных статей, а также личного опыта работы в ИТ-компаниях.
Известный российский стандарт ГОСТ Р ИСО/МЭК 25010-2015 [2] определяет модель качества проекта ПО, в которой отражены восемь базовых характеристик: функциональная пригодность, надежность, производительность, удобство использования, совместимость, переносимость, сопровож-
даемость, защищенность. Поэтому при оценке качества готового оригинального изделия все эти показатели оцениваются в результате тестирования.
Процесс разработки проекта ПО является поэтапным. Его удобно "разбить на стадии" и оценивать каждую из них в плане ожидаемых трудовых, финансовых, технических, материальных затрат, а также возникающих рисках, в том числе и рисков исполнителей проекта.
Разработка проекта ПО (далее изделия) начинается с предварительного этапа обсуждения целей и задач, стоящих перед разработчиками продукта интеллектуализации. Заказчик поясняет, какой функционал он бы хотел видеть в готовом изделии. От того, насколько точно и всесторонне будут описаны предполагаемые сценарии развития функционала проекта, зависят сроки его изготовления и предполагаемые затраты.
В этой связи целесообразно использовать имеющийся метрический инструментарий, которым пользуются разработчики проектов программного обеспечения. Чаще всего в компаниях используются метрики, сформированные на предыдущем опыте ведения таких проектных работ. Например, исходя из таких метрик, можно определить примерный объем требующегося времени на реализацию тех или иных функций. Этот подход позволяет определить и бюджет проекта, и количество исполнителей. Тем не менее уже на предпроектной стадии необходимо знать количество разрабатываемых входных и выходных форм документов и прочие особенности внутреннего и внешнего интерфейсов.
Поэтому на начальной стадии целесообразно применять метрики, позволяющие с помощью, так называемых, "контрольных точек" получить информацию о возможных затратах, например, использование FP-метрик [3].
Основные результаты и выводы
Отметим, что при обсуждении заказа на разработку проекта ПО в большинстве случаев используются современные CASE -средства проектирования и быстрой разработки приложений (RUP), универсальный язык моделирования UML, с помощью которых принято описывать требуемый функ-
ционал, а также процессы взаимодействия между различными подразделениями. Поэтому использование только FP - метрики явно недостаточно [4, 5, 6]. Для предварительной оценки затрат на разработку проекта ПО предлагается использовать метрику UCP. Это метрика оценки сложности ПО на основе использования UML и RUP технологий [9-11].
Особенность метрики заключается в том, что она вместо стандартных функциональных точек (FP) использует набор Use Case диаграмм. Это позволяет учитывать экторов (сущности, участвующие с системой извне), транзакций (нескорректированная оценка вариантов использования), тех-
нические факторы проекта ПО (как показатели качества, соответствующие требованиям стандартов) и другие характеристики, определяющие сложность архитектуры, включая оценку внешних факторов.
В процессе подготовки данной статьи изучалась официальная статистика, в частности, аналитические данные исследования компании Gartner, Thomson Reuter, Standard and Poor's, и анализировались авторские подходы к особенностям идентификации и классификации затрат на всех стадиях жизненного цикла проекта ПО. Было выявлено, что при разработке ИТ-проектов за период с 2010-2018 г. успешно завершенных оказалось лишь около 35% (рисунок 1).
100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0%
□ % неуспешных - проектов
I % проектов, выпролненных со срывом сроков
_ □ % успешных проектов
2010 2011 2012 2013 2014 2015 2016 2017 2018 Рисунок 1 - Результаты анализа качества проектной деятельности (проекты ПО)
Полученные результаты были подтверждены выводами многих других исследователей (например, Н.Е. Сурковой, Е.В. Костенко, А.А. Нащеевой, Ю.Ю. Якуниным). Было установлено, что основными причинами возникновения рисков "провалов" проектов программного обеспечения являются:
1) "факторы неопределенности", возникающие уже на ранних стадиях проекта (при его обсуждении с заказчиком), способствующие возникновению других проблем (затягивание сроков, недооценка сложности проекта, отсутствие части функционала и прочее);
2) "факторы плохого управления проектом", создающие дополнительную неопределенность при разработке проекта (в частности, при управлении задачами, ис-
полнителями, сроками выполнения, ресурсами и прочее);
3) фактор "нестабильные требования" является следствием возникновения рисков от первых двух факторов и проявляется в необходимости доработок и переделок, что приводит к росту "затрат на качество";
4) фактор "не включение в расчет части задач" возникает как следствие первых двух факторов риска и выражается в потребности дополнительных затрат ресурсов, связанных с возрастающей алгоритмической сложностью (характеризует затраты на качество проекта ПО), и прочие факторы, подробно описанные в диссертационном исследовании.
Обобщая полученные результаты анализа источников по теме исследования, можно сделать заключение о том, что ха-
рактерными проблемами проектной деятельности при разработке программного обеспечения являются:
неточность предъявляемых требований к проекту ПО (более 20%);
неверное планирование сроков и содержания проекта ПО и оценки его ресурсов (свыше 10%);
Новизна полученных решений состоит в следующем: выбранные метрики были объединены в группы по классификационным признакам (взяты из диссертации А.М. Тележкина), представлена их классификационная характеристика и выявлены особенности их использования в новом методе. Здесь показана полностью авторская обработка. Теоретическая новизна состоит в уточнении особенностей классификационных групп метрик на этапах жизненного цикла проектов ПО.
На рисунке 3 отражена концептуальная авторская модель применения нового метода измерения затрат по этапам жизненного цикла проекта ПО. Авторский подход решает задачу обеспечения взаимнооднозначного соответствия этапов жизненного цикла программного обеспечения с совокупностью метрик и ожидаемых (планируемых) результатов.
Модель реализации концепции через нахождение интегрального показателя, от-
ствия (по вине внеплановых доработок и переделок, свыше 10%) и прочее.
Потребность дальнейшего уточнения особенности идентификации и классификации затрат на всех этапах жизненного цикла проекта привело к необходимости выбора группы метрик и определению их классификационных характеристик. Авторский
ражающего средневзвешенную оценку затрат на проект ПО, показана на рисунке 4.
Дано авторское определение нового метода, исходя из которого это есть новый способ измерения трудоемкости проектирования и разработки программного обеспе-чени на основе метрик.
Новый комплексный метод оценки затрат на проект программного обеспечения представляет собой совокупность приемов и операций познания и практической деятельности по определению фактической трудоемкости процессов разработки программного обеспечения на этапах его жизненного цикла.
Это способ визуального определения затрат на основе совокупности метрик (иСР, FP, ОР) при применении современных гибких технологий и подходов проектирования и программирования результатов интеллектуализации и информатизации. Условное обозначение метода CSPCE.
нарушение командного взаимодей- подход показан на рисунке (рисунок 2).
Название метрики
Кла ссифика цио иная фу ила метрик
Кла ссифика цио иная характер исгика
Особенности применения в новом методе (авторский подход)_
Метод UCP метрики
Метрики
производительности
Позволяет сформировать представление о ходе пр о цесса разра бо тки проекта ПО
Фокусируются на выходе процессов разработки ПО и позволяет оценить требования внешнего качества
Метод ОР метрики
Метрики качества
Позволяют судить о том, насколько близко соответствие программного изделия явным и подразумеваемым требованиям пользователя
Фокусируются на каждом этапе жизненного цикла программного обеспечения и позволяет оценить качество будещего использования
Метод FP метрики
Технические метрики
Позволяют оценивал, внутренние особенности программного изделия: модульность проекта, его сложность, связносгь модулей и прочее_
Фокусируют внимание на оценке внутреннего качества проекта ПО по его техническим характеристикам на промежуточных этапах жизненного цикла
Рисунок 2 - Классификация метрик по группам применения для оценки затрат
Этапы
Оценка затрат на проект программного обеспечения по этапам жизненного цикла на основе метрик
_____________________-и=_________________
Этап предпроектного Этап проектирования и Этап внедрения
анализа разработки и сопровождения
Метрики _________-и-
метод иСР - метрики
Результаты
метод FP - метрики
О
метод ОР - метрики
Оценка внешнего качества
Оценка внутреннего качества
Оценка качества использования
Рисунок 3 - Модель оценки затрат на проект ПО по этапам жизненного цикла
Спецификации проекта ПО Верификация проекта ПО
Внешнее качество —► Внутреннее качество —► Качество использования
Атрибуты и метрики оценки качества проекта ПО
Рисунок 4 - Модель метрической оценки затрат на разработку проекта ПО по стадиям жизненного цикла (авторское видение)
В таблице 1 показано обоснование выбранных метрик для этапов жизненного цикла ПО.
Анализ применения лишь одних FP метрик показал, что использование функциональных точек в качестве единиц измерения имеет ряд существенных недостатков. Для вычисления функциональных точек необходимо детально изучить спецификацию требований и подсчитать все входные и выходные элементы, файлы, транзакции, что может быть весьма трудоемко. При этом полученная оценка весьма субъективна, поскольку некоторые бизнес-процессы могут иметь высокую алгорит-
мическую сложность, но обладать достаточно простыми внешними вводами и выводами. По мере развития методологий разработки программного обеспечения эксперты предложили новые методы оценки, основанные на методе функциональных и объектных точек.
Таким образом, сделаем вывод о том, что только использование именно этих метрик является эффективным методом оценки затрат на всех этапах жизненного цикла ПО. Остановимся на использовании совокупности FP, иСР и OP - метрик. Сформулируем понятие нового метода оценки затрат на проект ПО.
Рисунок 5 - Модель оценки сроков выполнения проекта ПО в соответствии с требованиями ГОСТ 21500:2012
Таблица 1 - Обоснование вида метрик для этапов жизненного цикла проекта ПО
Этапы Метрика как инструмент измерения Функциональное назначение
Предпроектный UCP (Use Case Points) Позволяет согласовать требуемое (внешнее) качество проекта ПО и внутреннее, описав спецификацию требований и ТЗ на разработку проекта
Проектирование и разработка FP (Functional Points) Позволяет выполнить оценку внутреннего качества проекта ПО на его соответствие требованиям спецификации
Внедрение и сопровождение OP (Object Points) Позволяет выполнить верификацию готового проекта ПО с точки зрения требований заказчика к качеству исполнения проектов
Верификация Новый метод "Средневзвешенная оценка комплекса метрик (UCP, FP, OP)" Позволяет на начальном этапе при следующих проектах применять полученные оценочные характеристики для оценки "по аналогии" при формировании плановых показателей сроков и стоимости проекта ПО
Новый комплексный метод оценки затрат на проект программного обеспечения представляет собой совокупность приемов и операций познания и практической деятельности по определению фактической трудоемкости процессов разработки про-
граммного обеспечения на этапах его жизненного цикла. Это способ визуального определения затрат на основе совокупности метрик (иСР, FP, ОР) при применении современных гибких технологий и подходов проектирования и программирования ре-
зультатов интеллектуализации и информатизации.
Введем условное обозначение метода: comprehensive software project cost estimation (CSPCE).
Полученные результаты будем рассчитывать путем формирования показателя ( KCSPCE ), отражающего совокупные затраты на весь жизненный цикл проекта программного обеспечения. На первом этапе жизненного цикла будем учитывать показатель
K
показатель KFP, а на тре-
тьем - показатель K
OP
Учитывая полученные расчеты, руководствуясь выводами ведущих специали-
стов (разработчиков проектов в компании) и собственным практическим опытом, был сделан вывод, что оценка метода может быть усреднена по формуле (1)
KjjCP ^FP ^ОР
)
3
(1)
где в числителе полученные показатели измерения на основе метрик иСР, FP, ОР.
В общем виде формулу можно представить как взвешенную оценку метрик, полученных на каждом этапе жизненного цикла проекта ПО.
На рисунке 6 показан алгоритм вычисления метрики для нового комплексного метода СSPCE.
Рисунок 6 - Схема выполнения нового метода комплексной метрики оценки затрат
(авторское видение)
Для верификации полученных результатов был построен прогноз снижения затрат на проект ПО по стадиям жизненного цикла. Решение было получено в результате анализа 21 завершенного ранее проекта ПО. Информация была предоставлена ИТ-компанией по месту работы одного из авторов. Проноз был построен на основе экспертной оценки. В ней участвовали ведущий программист, руководитель ИТ-проектов, менеджер проектов. Стадии жизненного цикла условно обозначены начальными буквами. Эта аббревиатура применя-
ется в компании так же, как и разработанная ими специальная программа по расчету трудоемкости проектов и собственная метрическая база. На рисунке сплошной линией показаны существующие затраты, а пунктиром - планируемое снижение затрат на обеспечение соответствия качеству. Экспертным путем было установлено, что можно достичь до 30% снижения затрат, в основном, за счет снижения внутренних рисков.
На рисунке 7 показаны результаты верификации полученных результатов.
Рисунок 7 - Динамика снижения рисков роста затрат на этапах жизненного цикла ПО
Подсчет отклонения в процентах
45% 40% 35% 30% 25% 20% 15% 10% 5% 0%
43%
34% 35%
32 29% %
22 18% % О ПО/ 19% 19% 20% 21 % 18%
15% 16 % 1/ % 14% 13%
11% 11% 8%
5% 4% 4% 4% 4% 3% 3% 1 5% 6% 3% 4%
1 0% 2% ■ 0% 1% Л 1% ■ 1 1 1 1 1> 1 1% 1% 1% 1 1 1 1% ■ 1
■ (новое-старое)/старое для Л1 ■ (новое-старое)/старое для Л2
П1 П2 П3 П4 П5 П6 П7 П8 П9 П10 П11 П12 П13 П14 П15 П16 П17 П18 П19 П20 П21
Как видно из рисунка, существующие отклонения планируемых и фактических затрат на проект ПО существенно различаются. По предложенной новой методике оценки эти различия минимизированы.
Для проверки значимости полученных выводов было выполнено исследование на со-
Полученный разброс отклонений (в%) показывает, что применение нового метода снижает риски до 8%, вместо выявленных, в среднем 21,6%, при старом методе оценки трудоемкости, применяемом в ИТ-компании в настоящее время.
Таким образом, можно сделать вывод, что выдвинутая гипотеза о положительном влиянии нового авторского метода на оценку затрат по этапам ЖЦ проекта ПО полу-
ответствие полученных результатов нормальному закону распределения. Как видно на полученной диаграмме, плотность распределения графика "Факт-Метрики" значительно выше, кривая плотности распределения показана красным цветом (рисунок 8). Это доказывает достоверность полученных результатов.
чила подтверждение.
Теоретическая значимость исследования заключается в развитии научного познания в области метрического инструментария, используемого для оценки проектов программного обеспечения по этапам его жизненного цикла.
Практическая значимость для ИТ-компаний состоит в том, что, применяя в своей метрической базе при планировании
Л
Плотность распределения
0,025 0,02 0,015 0,01 0,005 0
—100
О О. О. о, 00 00 00, ЧО ЧО ЧО 1Л
оо~ с^" оС о" ^^ ^
X
Плотность нормального распределения (План-Факт)
Плотность нормального распределения (Факт-Метр ики)
чо м ш ^ ^ '
Рисунок 8 - Верификация результатов практической реализации экспериментальных данных
затрат на проект ПО новые, уточненные показатели, полученные на основе авторского метода, риски производственной деятельности существенно снизятся.
Полученные выводы были апробированы в практической деятельности ИТ-компаний и получили положительные отзы-
вы. Были сделаны выводы о необходимости своевременной подготовки и переподготовки кадров к работе с информационными и инновационными продуктами, результатами проектной деятельности и интеллектуализации знаний [12, 13].
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. ISO/IEC 25000:2014(en) - Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE) // https://www.iso.org/obp/ui/#iso:std:iso-iec:25000:ed-2:v1 :en
2. ГОСТ Р ИСО/МЭК 25010-2015 Информационная технология. Системная и программная инженерия. Процессы жизненного цикла программных средств. - М.: ГОССТА-ТИНФО, 2015.
3. Function Point Programming Languages Table [Электронный ресурс]. - Режим доступа: http://www.qsm.com/resources/function-point-languages-table, свободный. - Загл. с экрана (дата обращения: 04.03.2019).
4. Баранов, С.Н. Тележкин, А.М. Метрическое обеспечение программных разработок / Труды СПИИРАН. - 2014. - № 5(36). - С. 5-27.
5. Глухова, А.А., Вишнякова, Е.Н. О необходимости развития инноваций в системе управления персоналом в организации // Вестник Казанского технологического университета. - 2009. - № 4. - С. 295-301.
6. Глухова, Л.В. Методология оценки и управления качеством функционирования информационных систем // Вестник Казанского технологического университета. - 2008. - № 4. -С. 174-181.
7. Гудков, А.А. Стандартизация деятельности IT-компаний: необходимость и реальность / А.А. Гудков // Инновационные технологии в науке и образовании: материалы IV Междунар. науч.-практ. конф. (Чебоксары, 18 дек. 2015 г.) / редкол.: О.Н. Широков [и др.]. -Чебоксары: ЦНС «Интерактив плюс», 2015. - № 4 (4). - С. 281-284. - ISSN 2413-3981.
8. Гудков, А.А., Данилова, М.С. Некоторые подходы к тестированию соответствия разработанных ИТ продуктов требованиям заказчика // Информационные технологии. Радиоэлектроника. Телекоммуникации. - 2016. - № 6-1. - С. 198-208.
9. Гудков, А.А. Модели тестирования программного обеспечения / Е.Е. Андриянова, А.А. Гудков, Т.С. Яницкая // Информационные технологии. Радиоэлектроника. Телекоммуникации. - 2017. - № 7. - С. 576-580.
10. Гудков, А.А. Способы предварительной оценки затрат на программный проект с использованием метрик / А.А. Гудков, Н.В. Корнеев // Информационные технологии. Проблемы и решения. - 2018. - № 1. - С. 268-275.
11 . Гудков, А.А. Проектирование метрического обоснования затрат на повышение качества ПО // Школа университетской науки: парадигма развития. - 2018. - № 3-4 (29-30). - С. 86-89.
12. Гудков, А.А. Применение совокупности FP и UCP метрик для оценки затрат на организацию и продвижение программного проекта. // Татищевские чтения: актуальные проблемы науки и практики: материалы XVI Международной научно-практической конференции: в 2-т. - Тольятти, 2019. - С. 135-138.
13. Титов, А.И. Выбор метрики размера проекта в модели оценки трудоемкости разработки программ // Intellectual Technologies on Transport. - 2016. - № 1. - С. 31-37.