Оценка качества процессов создания программного обеспечения

Тема 4 (на 4 или 5 по желанию)

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

- международные стандарты серии ISO 9000 (ISO 9000 – ISO 9004);

- СММCapability Matutity Model– модель зрелости (совершенствования) процессов создания ПО, предложенная SEI(Software Engineering Institute – институт программирования при университете Карнеги-Меллон);

- рабочая версия международного стандарта ISO/IEC 15504 Information Technology – Software Process Assessment; эта версия более известна под названием SPICESoftware Process Improvement and Capability Determination– определение возможностей и улучшение процесса создания ПО).

Серия стандартов ISO 9000.В серии ISO 9000 сформулированы необходимые условия для достижения некоторого минимального уровня организации процесса, но не дается никаких рекомендаций по дальнейшему совер­шенствованию процессов.

СММ. СММ представляет собой совокупность критериев оценки зрело­сти организации-разработчика и рецептов улучшения существующих про­цессов.

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

1. Начальный уровень (initial level) – описан в стандарте в качестве основы для сравнения со следующими уровнями

2. Повторяемый уровень (repeatable level) – на предприятии внедрены технологии управления проектами

3. Определенный уровень (defined level) – характеризуется тем, что стандартный процесс создания и сопровождения ПО полностью документирован (включая и разработку ПО, и управление проектами).

4. Управляемый уровень (managed level) – в организации устанавливаются количественные показатели качества как на программные продукты, так и на процесс в целом

5. Оптимизирующий уровень (optimizing level) – характеризуется тем, что мероприятия по улучшению применяются не только к существующим процессам, но и для оценки эффективности ввода новых технологий

SPICE.Стандарт SPICE унаследовал многие черты более ранних стандартов, в том числе и уже упоминавшихся ISO 9001и СММ. Больше всего SPICE напоминает СММ. Точно так же, как и в СММ, основной задачей ор­ганизации является постоянное улучшение процесса разработки программ­ного обеспечения. Кроме того, в SPICEтоже используется схема с различны­ми уровнями возможностей (вSPICE определено 6 различных уровней), но эти уровни применяются не только к организации в целом, но и к отдельно взятым процессам.

В основе стандарта лежит оценка процессов. Эта оценка выполняется путем сравнения процесса разработки ПО, существу­ющего в данной организации, с описанной в стандарте моделью.

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