В 1991 году Международная организация по стандартизации (ISO) инициировала работу по созданию единого стандарта оценки программных процессов. Стандарт получил имя SPICE (сокращение от Software Process Improvement and Capability determination – определение возможностей и улучшение процесса создания программного обеспечения). Официально стандарт называется "ISO/IEC 15504: Information Technology – Software Process Assessment" и на данный момент существует в качестве рабочей версии, последний выпуск который состоялся в мае 1998 года.
Задачей SPICE является создание международного стандарта, в котором был бы учтен весь накопленный опыт в области разработки ПО. На рис. 1 показаны наиболее значительные стандарты, идеи которых были использованы при создании SPICE.
Рис. 1.  Предшественники стандарта SPICE
Итак, стандарт SPICE унаследовал многие черты более ранних стандартов, в том числе и ISO 9001 и CMM. Для этого пришлось прибегнуть к повышению уровня детализации стандарта. Следствием такого основательного подхода является большой объем стандарта: документация к нему содержит около 500 страниц!
Больше всего SPICE напоминает CMM. Точно так же, как и в CMM, основной задачей организации является постоянное улучшение процесса разработки ПО. Кроме того, в SPICE тоже используется схема с различными уровнями возможностей (в SPICE определено 6 различных уровней), но эти уровни применяются не только к организации в целом, но и к отдельно взятым процессам. В табл. 1 приведены список уровней способностей модели SPICE и характерные для них процедуры управления. Отметим, что на данный момент не существует русского перевода стандарта SPICE, поэтому использованные термины не являются общепринятыми или официально зарегистрированными.
Уровни способностей процесса в стандарте SPICE
Таблица 1    
УровниНазвание
Уровень 0Процесс не выполняется
Уровень 1Выполняемый процесс
1.1Измерение производительности процесса
Уровень 2Управляемый процесс
2.1Управление производительностью
2.2Управление созданием продуктов
Уровень 3Установленный процесс
3.1Документирование процесса
3.2Отслеживание ресурсов процесса
Уровень 4Предсказуемый процесс
4.1Измерение процесса
4.2Управление процессом
Уровень 5Оптимизирующий процесс
5.1Изменение процесса
5.2Постоянное совершенствование

Таким образом, процессы в модели SPICE могут быть представлены следующим образом (рис. 2).
Рис. 2.  Упрощённая модель оценки процессов в стандарте SPICE
Поэтому иногда говорят, что модель SPICE является двухмерной – на одной оси откладываются процессы, а на другой оси – достигнутый уровень возможностей для этих процессов.
Во время оценки и улучшения качества процессов выполняются следующие задачи (рис. 3):
Рис. 3.  Основные элементы стандарта SPICE
  1. Оценка процесса – происходит путем сравнения процесса разработка ПО, существующего в данной организации, с описанной в стандарте моделью. Анализ результатов, полученных на этом этапе, помогает определить сильные и слабые стороны процесса, а также внутренние риски, присущие данному процессу. Это помогает оценить эффективность процессов, определить причины ухудшения качества и связанные с этим издержки во времени или стоимости.
  2. Определение возможностей процесса – позволяет оценить возможности улучшения данного процесса. Очень часто определение возможностей процесса производится компанией-поставщиком, чтобы убедить существующих или потенциальных заказчиков в своей способности достичь заданных показателей.
  3. В результате предыдущих шагов в организации может появиться понимание необходимости улучшения того или иного процесса. К этому моменту цели совершенствования процесса уже четко сформулированы и остается только техническая реализация поставленных задач. После этого весь цикл работ начинается сначала.
Скажем несколько строк о структуре документации по стандарту SPICE. Набор документов по SPICE состоит из 9 частей. Первая часть "Введение и основные концепции" и девятая часть "Словарь" носят чисто информационный характер. Самым важным элементом SPICE является наибольшая часть документов, а именно: части со второй по шестую. Например, вторая часть стандарта содержит так называемую эталонную модель (reference model), которая описывает процессы. Практически, это модель процессов из ISO 12297, хотя, к сожалению, эти модели не полностью идентичны. Результаты оценки процессов с помощью SPICE выглядят достаточно сложно и потому требуют некоторого упрощения для понимания неподготовленным человеком (например, такое упрощение было проделано при создании рис. 2).
Остальные части стандарта – седьмая и восьмая – посвящены соответственно, улучшению процесса и определению возможностей процесса.
Одним из важных достоинств SPICE является его открытость и свободное распространение. В отличие от большинства прочих стандартов, полный текст SPICE можно получить на официальном сайте SPICE: http://www.sqi.gu.edu.au/spice.
В табл. 2 кратко сформулированы преимущества SPICE по сравнению с ISO 9001.
Сравнение стандартов SPICE и ISO 9001
Таблица 2    
SPICEISO 9001
Объемный и подробный документКраткий документ
Детальная модельАбстрактная модель
Улучшение процесса и определение возможностейТолько сертификация
Шесть уровней возможностей процессаСертификация/отказ
Требования к оценке процесса, руководство по применениюТолько модель
Дополняет ISO 9001Может быть детализирован с помощью SPICE

SPICE предоставляет более полный набор средств по обеспечению качества и улучшению процессов, чем ISO 9001. Поэтому для обеспечения качества процессов разработки ПО мы рекомендуем использовать именно SPICE. Это поможет организации заметно улучшить существующие процессы, а затем при необходимости получить и сертификат ISO 9001. Накопленный опыт решения проблемы качества по такой схеме отражен в статье (в частности, в ней сформулирован набор минимальных требований к различным процессам в организации согласно модели SPICE, достаточный для получения сертификата ISO 9001).
Использовать SPICE можно и в небольших компаниях – об этом свидетельствуют результаты работы проекта SPIRE, в рамках которого проводилось внедрение процессов улучшения качества в малых (менее 50 человек) компаниях из различных стран Европы. Как показал опыт, и при небольших денежных вложениях в мелких компаниях можно добиться существенного увеличения производительности труда и улучшения качества производственных продуктов. Результаты исследований, проведенных в рамках проекта SPIRE, можно найти по адресу: http://www.cse.dsu.ie/spire.
В связи со своей открытостью стандарт SPICE популярен и по нему существует много свободно доступных материалов. Например, на официальном сайте SPICE любая организация может зарегистрироваться для участия в SPICE Trials (пробных применениях). На сайте группы пользователей SPICE (см. http://www.iese.fhg.de/SPICE) собрано большое количество информации о самом стандарте, доступных ресурсах и его применении на практике. С августа 1999 года выходит журнал SPICE.World, целиком посвященный SPICE (существует электронная версия этого журнала – см. http://www.spiceworld.htm).
В России стандарт SPICE пока еще делает только самые первые шаги. В октябре 1997 года в Санкт-Петербурге состоялся первый семинар, посвященный SPICE. Его организатором выступили финские компании SEC Oy и STTF Oy. С тех пор семинары по SPICE в Санкт-Петербурге проводятся этими компаниями не реже двух раз в год.