Управление улучшением стандартного процесса и качеством программных изделий

1. Гантер Р. Методы управления проектированием программного обеспечения. - М.: Мир, 1981. - 392 с.

2. Paulk, M.C., B.Curtis, M.B.Chrissis, Ch.V.Weber (1993) Capability Maturity Model for Software, Version 1.1. CMU/SEI-93-TR-24; ESC-TR-93-177. Key Practices of the Capability

Maturity Model, Version 1.1. CMU/SEI-93-TR-25; ESC-TR-93-178. Software.

3. US Departament of Defense, Military Standard -Configuranijn Management Practices for Systems, Equipment, Munitions, and Computer Programs, MIL STD-483 (USAF), USG-DOD, Washington, 1970.

УПРАВЛЕНИЕ УЛУЧШЕНИЕМ СТАНДАРТНОГО ПРОЦЕССА И КА ЧЕСТВОМ ПРОГРАММНЫХ ИЗДЕЛИЙ

АН. Домарацкий

Как известно,* описание модели СММ представляет собой развернутый перечень требований по составлению и способам реализации содержания дея-тельностей в каждой ключевой области многоуровневой структуры модели.

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

На первом этапе освоения методологии СММ перед организацией должны быть поставлены реальные цели по достижению в хронологическом порядке уровней зрелости модели СММ и составлен долгосрочный план внедрения СП. Наш опыт показывает, что при целеустремленной, интенсивной, с соблюдением строгой дисциплины выполнения всех предписанных процедур, правил, программ и остальных составляющих СП организация может достичь третьего уровня зрелости за 1,5-2 года с начала работы по правилам модели СММ, четвертого - за 3-4 года, пя-

Capability Maturity Model for Software, Version 1.1. CMU/SEI-93-TR-24; ESC-TR-93-177. Key Practices of the Capability Maturity Model, Version 1.1. CMU/SEI-93-TR-25; ESC-TR-93-178. Software.

того - за 4-5 лет.

На втором этапе необходимо выбрать из множества требований ключевых областей уровней модели СММ (с учетом всех пяти уровней зрелости) наиболее подходящее подмножество для конкретных условий работы данной организации (определить СП организации - рис.1), выделить из выбранных требований наиболее актуальные для реализации в первую очередь (реально начинать с достижения сразу третьего уровня зрелости). Далее осуществить разработку, внедрение, поддержку и постоянное улучшение определенного СП. При этом для повышения эффективности продвижения вверх по уровням зрелости целесообразно вводить элементы 4 и 5 уровней модели СММ даже при целевом достижении второго уровня зрелости.

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

Под систематическим управлением улучшением СП подразумевается ежедневная деятельность, направленная на контроль состояния СП, выявление и устранение его недостатков, создание условий для повышения производительности разработки ПИ, сокращения жизненного цикла и повышения качества ПИ.

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

Множество тре-

бований второго

уровня / ✓ —

Множество тре-

\ / / ) \ \ / бований четвертого

уровня

Множество требований СП |

Множество тре- Множество тре-

бовании пятого 7 / -ч^ бований третьего

уровня уровня

Рис. 1. Определение СИ для конкретных условий ¡работы организации

чения возможности достижения следующих уровней зрелости с последующей разработкой, внедрением и улучшением доопределенной части СП.

Для успешного решения задачи определения, разработки, внедрения и улучшения СП в установленные плановые сроки в организации необходимо иметь специальную группу процесса (ГП), численность которой должна составлять 8-10 % от численного состава разработчиков и тестировщиков ПИ, работающих в организации. ГП также должна нести ответственность за работу и мероприятия по управлению улучшением СП и каждого проектного процесса.

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

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

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

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

Для обеспечения возможности достижения поставленных целей в запланированные сроки в ГП необходимо иметь должным образом обученного ин-

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

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

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

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

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

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

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

организация работ по предотвращению дефектов, внесение изменений в программу обучения, внедрение новых инструментальных средств в технологический процесс производства ПИ и т.п.; примером мероприятий - проведение обзоров, собраний ГП по причинно-следственному анализу возникновения дефектов и т.п.

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

Основными процедурами, которые включаются в план, являются: "Процедура сбора данных для управления улучшением проектных процессов и СП", "Процедура управления улучшением проектных процессов и СП" и "Процедура определения и отслеживания базовой версии СП".

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

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

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

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

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

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

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

Для обеспечения этого в ИДУ создана программа управления качеством ПИ и улучшением СП, являющаяся основой для обновления планов ИДУ по обеспечению качества ПИ и улучшения СП. Обновленные планы ИДУ служат первоисточником для составления соответствующих разделов проектных

Основные виды об

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

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

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

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

Основные виды обзоров, принятые в ИДУ, их объекты и цели приведены в таблице. Кроме представленных в таблице видов обзоров, в практике проведения проектов ПИ могут быть и другие виды, если будет выявлена такая необходимость в результате деятельности ГП по улучшению СП.

Особое место по значимости для улучшения выполнения проектов ПИ в будущем занимают ретроспективные обзоры (обзоры выполненных работ, созданных продуктов и достигнутых целей по завершению фаз жизненного цикла или проекта ПИ в целом, выполненных планов и графиков).

Таблица

ов, их объекты и цели

Объект обзора Цели обзора

Обзоры управления

Регулярные отчеты о прогрессе проекта ПИ Отслеживание сроков и качества выполнения плановых работ по проекту, предотвращение критических ситуаций в работе

Метрические отчеты Определение текущих значений характеристик продуктов и составляющих СП, выработка корректирующих действий

Обзоры деятельности ПГ администрацией Проверка правильности выполнения обязанностей исполнителями проекта в соответствии с установками СП

Ежегодные обзоры достижений организации Обсуждение достигнутых результатов в проведении проектов ПИ, планов на следующий год

Обзоры продуктов

Положение о работе Выявление неоднозначностей, неточностей и ошибок, уточнение целей, повышение качества

Спецификации та же

Контрактная книга та же

Планы проекта та же, дополнительно оценка их реальности

Документы та же

Технические отчеты по проекту Оценка научного уровня, полноты, правильности выводов и т.п.

Стиль кодирования Выработка единого для организации стиля кодирования

Программные коды Выявление ошибок

Тестовые процедуры Проверка правильности тестирования разработчиками, системного тестирования ПИ

Ретроспективные обзоры

Результаты фаз жизненного цикла Выявление успехов, дефектов, накопление знаний о прошедших фазах проекта т.п.

Результаты проекта те же

Другие продукты, результаты и т.п. те же

Основными целями проведения ретроспективных обзоров являются:

• обобщение и анализ обозреваемых результа-

тов, документирование, сохранение в исторической базе данных результатов обзора для использования в будущем приобретенных в процессе выполнения проекта ПИ новых знаний и опыта;

• сравнение плановых дат завершения отдельных работ по проекту, отдельных фаз жизненного цикла и проекта ПИ в целом с реальными для корректировки при необходимости соответствующих метрик СП организации;

• обсуждение возникших отклонений от плановых сроков (как в сторону задержки завершения, так и в сторону опережения), анализ вызвавших отклонения причин и сохранение результатов анализа в исторической базе данных для обеспечения возможности повышения качества планирования проектов ПИ в будущем;

• анализ аппаратного, программного, информационного и организационного обеспечения проекта, выявление недостатков в обеспечении и организации работ по проведению проекта как руководителем ГП, так и администрацией ИДУ для выработки предложений по повышению качества всех видов обеспечения в будущем.

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

СБОР И АНАЛИЗ МЕТРИК ПРИ ВЫПОЛНЕНИИ ПРОЕКТОВ ПРОГРАММНЫХ ИЗДЕЛИЙ

С.Н. Баранов, А.Н. Домарацкий, Н.К. Ласточкин, В.П. Морозов

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

Принято считать, что каждое свойство ПИ (в самом деле интерес представляют только свойства из

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

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