Разработка программного обеспечения. Затраты, связанные с качеством программного обеспечения, в группе компаний Raytheon’s Electronic Systems
Введение
Компания Raytheon’s Electronic Systems (RES) выбрана в качестве примера организации, которая сумела, используя информацию о затратах, связанных с качеством, получить документальное подтверждение результативности программ совершенствования своей деятельности.
Компания RES могла бы служить эталоном при бенчмаркинге для разработчиков программного обеспечения, поскольку приведенный пример позволяет проследить, как концепция управления затратами, связанными с качеством, соотносится с устойчиво высоким качеством продукции. Важно отметить, что RES постоянно ведет сбор информации, отражающей накопленный опыт управления затратами, связанными с качеством программного обеспечения.Дополнительную информацию о работах RES в этой области можно почерпнуть из раздела «Затраты, связанные с качеством программного обеспечения» в главе 4.
Хотя RES создает специализированное программное обеспечение по контрактам, ее опыт во многом подходит и для разработчиков коммерческого программного обеспечения, желающих иметь успешный и прибыльный бизнес, соответствовать запросам потребителей на высококачественные продукты и поставлять их своевременно и по согласованным ценам. Для применения методов управления затратами, связанными с качеством, существует множество оснований, оправдывающих их целесообразность. Но RES использует данные о затратах преимущественно для измерения и демонстрации эффективности существующих систем совершенствования производимого ею программного обеспечения, в частности, для демонстрации суммы инвестиций и ожидаемого эффекта от их вложений. Опыт RES служит хорошей иллюстрацией интереса некоторых ведущих организаций, производящих программное обеспечение, к управлению затратами, связанными с его качеством.
RES н ее системы совершенствования программного обеспечения
Raytheon’s Electronic Systems (ранее эта организация называлась Raytheon Equipment Division) разрабатывает по заказам оборонных и коммерческих организаций встроенное особо ответственное программное обеспечение, работающее в реальном времени, для систем управления воздушным движением и морским транспортом, систем цифровой связи, наземных и морских радарных установок, систем спутниковой связи, систем вооружения подводных лодок, систем военного управления и контроля, тренажеров военного назначения.
Все эти системы отличаются большими размерами и обычно содержат от 70 до 500 KDSI[*****].Начиная с 1988 г. RES реализует инициативы по совершенствованию программного обеспечения, потребность в которых первоначально была обусловлена необходимостью преодоления кризисной ситуации, вызванной слишком длительными сроками и высокой стоимостью создания продукта. Когда удалось более или менее взять под контроль сроки и стоимость разработок, внимание компании переключилось на сокращение количества доработок.
В инициативах RES по совершенствованию программного обеспечения участвовало от 350 до 600 специалистов, а годовые инвестиции на эти цели постоянно держались на отметке $ 1 млн в год. Позднее компания стала применять подход, основанный на модели зрелости разработчика программного обеспечения, предложенной Институтом разработки программного обеспечения (SEI СММ), о которой рассказывалось в главе 4. Эта модель позволила повысить целенаправленность усилий по совершенствованию создаваемых компанией продуктов. В результате компания, находившаяся в 1988 г. на уровне зрелости 1 (по классификации СММ), в 1990 г. вышла на уровень 2, в 1992 г. — на уровень 3. Все новые разработки компании, начиная с 1995 г., соответствуют уровню зрелости 4. (Описания уровней зрелости по модели SEI СММ приведены в табл. 4.3 главы 4.) В 1995 г. RES отмечена премией Компьютерного общества IEEE за достижения в области создания программного обеспечения.
Стратегия RES в области совершенствования программного обеспечения имеет два основных направления — сами продукты и процессы их создания. Основными задачами в области совершенствования самих продуктов являются уточнение заданий на разработку и технических требований к ним, их проверки, интеграция и квалификационные испытания. В области совершенствования процессов основное внимание уделяется планированию и управлению разработками, обучению персонала и поиску новых путей в разработке программного обеспечения [1].
Затраты, связанные с качеством программного обеспечения
Затраты, связанные с качеством, были приняты в числе четырех применяемых RES критериев для отслеживания эффективности реализуемых компанией программ.
Другими критериями были выбраны производительность программного обеспечения, индекс его экономической эффективности и обобщенный показатель качества. Затраты на качество включены в этот перечень потому, что они позволяют оценить стоимость доработок создаваемых программных продуктов и размеры прибыли на вложенный капитал от реализации программы совершенствования деятельности RES.Приведенные ниже материалы, скомпонованные на основе данных из ранее опубликованных источников [2—5], дают представление о том, каким образом RES применяет данные о затратах, связанных с качеством, для отслеживания стоимости проводимых доработок программных продуктов и для вычисления прибыли на вложенный капитал применительно к инвестициям, направленным на совершенствование программных продуктов.
Модель затрат, связанных с качеством программного обеспечения, применяемая RES
RES рассматривает затраты, связанные с качеством, как сумму двух составляющих — цены несоответствия продукта установленным требованиям (то есть стоимости его доработок и переделок) и цены соответствия (затраты на предупреждение дефектов и контроль качества). Компанией было принято решение отслеживать обе указанные составляющие затрат. При сборе данных о затратах обеих категорий применялась модель, графически изображенная на рис. 6.5,.
Согласно этой модели, затраты, связанные с качеством программного обеспечения, представляют сумму расходов на контроль качества, предупреждение дефектов и доработки (переделки). Основное внимание при этом уделялось доработкам, поскольку с ними связана львиная доля непроизводительных расходов. Кроме того, доработки и переделки являются самыми дорогостоящими мероприятиями в процессе разработки программного обеспечения. Главными причинами сложившейся ситуации можно считать неопределенность требований к продукту, меняющиеся условия его применения и неожиданно возникающие проблемы. По некоторым причинам профессиональные разработчики программного обеспечения склонны мириться с многочисленными доработками, повседневно занимающими значительную часть их рабочего времени.
В некоторых случаях они даже не считают выполняемую ими работу доработками. Например, программисты тратят значительное время на исправление дефектов программ, когда ее функции не удовлетворяют разработчиков, или на переделки пользовательского интерфейса, когда он не соответствует ожиданиям заказчиков. Многие программисты считают такие переделки нормальными и неизбежными. Определения элементов затрат внутри каждой категории, сформулированные кратко, в процессе сбора данных приводили к недоразумениям, требующим разъяснения и уточнения. Потребовалось пять доработок процесса сбора данных, пока наконец не была достигнута достаточная устойчивость определений элементов затрат.
Разбивка основных категорий затрат, связанных с качеством (расходов на доработки, контроль качества и предупреждение дефектов), на составляющие элементы, точное определение каждого элемента и распределение работ по созданию программного обеспечения соответственно этим категориям оказалось непростой задачей для RES. Существовавшая в ней структура этапов и операций процесса разработки не была достаточным образом увязана со структурой затрат, связанных с качеством.
Сбор данных о затратах, связанных с качеством программного обеспечения. Для этой цели использовались данные о затратах на разработку, собираемые с учетом традиционной структуры процесса создания программного обеспечения, принятой в RES. Руководители проектов вручную распределяли их по элементам и категориям затрат, связанных с качеством, данные объединяли и получали искомые величины затрат по категориям. Все расходы на совершенствование продуктов рассматривались как затраты на предупреждение дефектов, которые включались в суммарные средние затраты организации на качество и учитывались при анализе трендов этих затрат.
В долговременной перспективе у компании существуют планы наибольшего приближения существующей структуры составляющих процесса разработки программного обеспечения к той, что используется при определении затрат, связанных с качеством.
Вероятно, такое приближение потребует ревизии существующих в компании систем бухгалтерского учета и учета рабочего времени сотрудников.
Приобретенный опыт и уроки
Опыт применения модели затрат, связанных с качеством программного обеспечения. RES приобрела значительный опыт практического применения модели затрат, связанных с качеством. При этом возникало немало вопросов при распределении элементов затрат по категориям. Поначалу существовали противоречия в способах деления реальных затрат на составляющие, которых требовала модель. Эта проблема была решена путем более точного определения элементов затрат, а также с помощью сравнительного анализа алгоритмов деления, применявшегося руководителями шести пилотных проектов. При этом важно было то, что руководители проектов выступали в роли лидеров, а не администраторов. К тому же они обладали здравым смыслом и детально знали все особенности конкретных проектов.
Применение данных о затратах, связанных с качеством, для анализа результатов совершенствования программного обеспечения. В табл. 6.1 приведено распределение общих расходов на разработку программного обеспечения RES по категориям затрат на качество. Такое распределение позволяет проследить результаты их совершенствования по годам. Когда RES в 1988 г. ввела в действие программу совершенствования процесса разработки программного обеспечения (SPI), компания соответствовала уровню зрелости 1 (по классификации СММ). Используя результаты наблюдений за ходом реализации 15 проектов, менее чем за три года компания вышла на уровень 3, Как видно из рис. 6.6, затраты компании на качество в период уровня зрелости 1 колебались в пределах 55—67% от суммарной стоимости разработки, К моменту выхода RES в 1991 г. на уровень зрелости 3 ее затраты, связанные с качеством, упали до уровня, составившего около 40% суммарных расходов на разработку. В 1990 г., когда компания еще только приближалась к уровню зрелости 3, ее затраты, связанные с качеством, составляли около 45% суммарной стоимости проектов, причем отношение цены соответствия программного обеспечения установленным требованиям к цене его несоответствия этим требованиям равнялось примерно 1,5.
В 1994 г. RES продвигалась к уровню 4, и ее затраты, связанные с качеством программного обеспечения достигли примерно 24% суммарной стоимости их разработки, а отношение цен соответствия и несоответствия установленным требованиям — 3,0.Экономия от сокращения затрат на доработки. Графики на рис. 6.6 также позволяют проследить тенденции изменения затрат на доработки и переработки с начала реализации программы совершенствования. В первые два года эти затраты составляли в среднем 41% от общей стоимости разработки программного обеспечения. За последующие два года эти затраты упали почти до 20% и наблюдалась тенденция к их дальнейшему сокращению. В 1995 г. общая величина затрат, связанных с качеством программного обеспечения, снизилась примерно до 25% от стоимости их разработки. То есть цена всех доработок, вызванных дефектами, выявляемыми в ходе разработки и после поставки продукта заказчику, составила всего 6% стоимости разработки.
Годы
суммарные затраты, связанные с качеством программного обеспечения
— цена соответствия установленным требованиям
(расходы на контроль качества + затраты на предупреждение дефектов) стоимость доработок
Рис. 6.6. Тенденции изменения затрат, связанных с качеством программного обеспечения.
Сокращение затрат на доработки было достигнуто за счет небольшого повышения цены соответствия продуктов предъявленным требованиям. Например, стоимость контроля качества увеличилась, когда неформальный анализ программного обеспечения был заменен его формализованными проверками, а расходы на предупреждение дефектов возросли после внедрения технологических прогонов. В то же время затраты на доработки, вызванные устранением дефектов на стадии разработки, выросли с 0,75 до 2% от общей стоимости разработки, что было вызвано увеличением числа дефектов, выявляемых и устраняемых непосредственно в ходе программирования.
Наибольшее сокращение затрат на доработки связано с резким уменьшением числа ошибок программирования, обнаруживаемых в процессе интеграции продуктов. Оно сократилось примерно на 20% от первоначального уровня. Второй по значению вклад в сокращение затрат на доработки внесло уменьшение объемов повторных испытаний примерно на 50%. Все это ясно указывает на то, что дополнительные проверки продуктов эффективнее на более ранней стадии разработки.
Качество программного обеспечения. Безусловным критерием качества программного обеспечения, поставляемого RES, является получение заказов на
Таблица 6.6
Значения затрат, связанных с качеством программного обеспечения RES, в критически важные для компании моменты времени
Годы | Прочие затраты на разработку, % | Стоимость доработок(цена несоответствия), % | Расходы на контроль качества(цена соответствия), % | Затраты на предупреждение дефектов, % |
1988 | 34 | 44 | 15 | 7 |
1990 | 55 | 18 | 15 | 12 |
1992 | 66 | 11 | 2 | 3 |
1994 | 76 | 6 | 1 | 8 |
разработку сложных программных систем. Усилия компании по совершенствованию процесса разработки своих продуктов позволили ей добиться успеха в реализации ряда крупных проектов и закрепить за собой контракты на создание еще более крупных систем. О достижениях компании в совершенствовании процессов программирования свидетельствует устранение спешки при реализации нескольких комплексных систем продуктов и даже выполнение заказов с опережением сроков, что полностью оправдало предпринятые компанией инициативы.
Основным количественным показателем качества программного обеспечения, применяемым RES, служит «плотность» дефектов готовой продукции, измеряемая числом сообщений об ошибках на тысячу команд в программе (STR/KDSI). Для выявления тенденций изменения качества ежемесячно вычислялись средневзвешенные значения этого показателя и наносились на график, приведенный на рис. 6.7. Как следует из графика, средний уровень качества продуктов RES за 7 лет вырос почти в четыре раза, что выразилось в снижении STR/KDSI с 17,2 почти до 4,0.
Производительность. Производительность труда программистов при создании программного обеспечения измеряется числом эквивалентных команд (EDSI), разрабатываемых одним человеком за месяц работы. Значения этого показателя оценивались для всех проектов, реализуемых за период наблюдений, полученные данные приводились к среднему показателю с использованием весовых коэффициентов, установленных для каждого проекта. Как было установлено, средняя производительность труда программистов RES постоянно повышалась за период наблюдений. В целом по данным реализации 24 проектов за 7 лет рост производительности труда в RES составил 170%.
Предсказуемость. Руководство компании должно быть уверено в том, что достигнутый уровень производительности труда программистов сохранится при реализации новых проектов. Поэтому ежемесячно для каждого проекта оценивался индекс эффективности затрат (CPI) на его реализацию, представляющий
Годы
Рис. 6.7. Тенденции повышения уровня качества программного обеспечения RES.
отношение реальной цены проекта (САС) к его прогнозируемой стоимости при планировании бюджета компании. Аналогично показателям качества вычислялись средневзвешенные значения CPI по годам и оценивались тенденции его изменения. Полученные результаты указывают на кардинальные изменения индекса. Если до начала совершенствования работы компании перерасход бюджетных средств при реализации проектов достигал 20%, то к началу 1993 г. его удалось понизить до 1—2%. В целом за первые три года значения CPI снизились с 1,43 почти до 1,00 и устойчиво оставались на этом уровне.
Другие достигнутые результаты. Благодаря своим достижениям в повышении уровня зрелости разработок RES сумела приобрести ряд новых заказов (об их числе не сообщается). Снизилась загруженность работников, что повлекло за собой снижение текучести кадров. Компания сообщает о том, что коэффициент прибыли на вложенный капитал (ROI) в ходе совершенствования процесса разработки программного обеспечения составил 7,5. Это не считая полученной в 1991 г. экономии от предпринятых усилий по соблюдению графиков выполнения заказов. Например, в 1991 г. RES вложила $ 1,1 млн в различные усовершенствования, благодаря которым цена несоответствий продукции установленным требованиям была понижена на $ 8,2 млн. Аналогичные результаты были получены и другими ведущими организациями [6].
Стоимость анализа затрат, связанных с качеством, и получаемые выгоды. Первый опыт анализа затрат, связанных с качеством программного обеспечения, обошелся RES в увеличение накладных расходов на $ 25 тыс. Этот анализ был повторен на следующий год, а затем его включили в обычную процедуру анализа производственных процессов, проводимую руководством компании один раз в полугодие.
Анализ затрат, связанных с качеством, оказался действенным инструментом измерения общей эффективности мероприятий по совершенствованию деятельности компании. Он может использоваться для сокращения и полного исключения непроизводительных расходов при создании программного обеспечения. Накопленный опыт применения анализа затрат убеждает в получении значительных выгод компанией за счет создания механизмов обратной связи на ранних стадиях разработки продукции, а также — повышения стандартов качества разработок.
Обязательный характер отслеживания затрат, связанных с качеством. К 1993 г. после трех лет экспериментов по сбору данных о затратах, связанных с качеством, эта процедура приобрела в RES рутинный характер. Кроме обобщенного анализа собираемых данных, проводимого раз в полугодие, в некоторых департаментах компании обязали руководителей проектов включить сбор и анализ данных о затратах, связанных с качеством, в состав общепринятых процедур ежемесячного контроля реализации проектов. Целесообразно уделять больше внимания приведению принятой в компании системы структурирования затрат на разработку в соответствие с интересами сбора данных о затратах, связанных с качеством.
Внедрение опыта RES
RES была пионером применения методологии сбора и анализа данных о затратах, связанных с качеством программного обеспечения. Накопленный ею опыт позволит ее последователям избежать многих трудностей на этом пути. Затраты, связанные с качеством, служили в RES средством измерения затрат и прибыли при реализации программ совершенствования деятельности компании, но не инструментом управления этими программами. В качестве такого инструмента применялась модель SEI СММ. Можно предположить, что и другие компании, использующие модель СММ, будут поступать аналогичным образом. Поэтому следует проводить углубленный анализ взаимосвязей между моделью СММ и затратами, связанными с качеством, для выявления областей, совершенствование в которых дает наибольший эффект. Этот анализ должен прежде всего изучать влияние мер по предупреждению дефектов на 11 ключевых факторов модели СММ, определяющих необходимость доработки продуктов, для устранения дефектов, выявляемых внутри и вне компании.
Опыт RES показал, что ей пришлось столкнуться с рядом специфических трудностей по следующим вопросам: когда и как следует собирать, анализировать, докладывать и применять данные о затратах, связанных с качеством; как применяемая модель затрат, связанных с качеством, согласуется с другими используемыми моделями; как согласовать принятую систему структурирования выполняемых компанией работ и их стоимость с традиционной классификацией категорий и элементов при анализе затрат, связанных с качеством;
как следует детализировать модель затрат и сформулировать определения их элементов; как внедрить модель в организации; как использовать данные о затратах на качество для выявления их глубинных причин; насколько модель затрат, связанных с качеством, способствует повышению эффективности работы компании.
Избежать этих трудностей можно, обучая сотрудников и внедряя наставничество.
RES, работая преимущественно по целевым контрактам, использовала модель затрат на качество с учетом своей специфики. Если этот подход будет использоваться компаниями, работающими в других условиях, например, при разработке стандартизованного программного обеспечения, в области предоставления сервисных услуг или при освоении новых технологий, то, вероятнее всего, он потребует определенных доработок.
Еще по теме Разработка программного обеспечения. Затраты, связанные с качеством программного обеспечения, в группе компаний Raytheon’s Electronic Systems:
- Информационное н программное обеспечение
- Выбор программного обеспечения ГИС
- ПРОБЛЕМЫ ИНТЕЛЛЕКТУАЛИЗАЦИИ СТАТИСТИЧЕСКОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ М. М. Лери
- Примеры из практики, относящиеся к сфере услуг и к созданию программного обеспечения
- Функция потерь качества по Тагути (QLF) и скрытые затраты, связанные с качеством*
- Глава 5 Повышение качества и снижение затрат, связанных с качеством
- Повышение качества и затраты, связанные с качеством
- Управление затратами, связанными с качеством
- Философия управления затратами, связанными с качеством
- Элементы затрат, связанных с качеством
- Затраты, связанные с качеством, и стратегическое планирование бизнеса
- Затраты, связанные с качеством, в военных контрактах
- Категории затрат, связанных с качеством
- Использование данных о затратах, связанных с качеством