Оценка качества процессов создания программного обеспечения
Тема 4 (на 4 или 5 по желанию)
Текущий период на рынке ПО характеризуется переходом от штучного ремесленного производства программных продуктов к их промышленному созданию. Соответственно возросли требования к качеству разрабатываемого ПО, что требует совершенствования процессов их разработки. На настоящий момент существует несколько стандартов, связанных с оценкой качества этих процессов, которое обеспечивает организация-разработчик. К наиболее известным относятся:
- международные стандарты серии ISO 9000 (ISO 9000 – ISO 9004);
- СММ– Capability Matutity Model– модель зрелости (совершенствования) процессов создания ПО, предложенная SEI(Software Engineering Institute – институт программирования при университете Карнеги-Меллон);
- рабочая версия международного стандарта ISO/IEC 15504 Information Technology – Software Process Assessment; эта версия более известна под названием SPICE – Software 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 различных уровней), но эти уровни применяются не только к организации в целом, но и к отдельно взятым процессам.
В основе стандарта лежит оценка процессов. Эта оценка выполняется путем сравнения процесса разработки ПО, существующего в данной организации, с описанной в стандарте моделью.
Затем выполняется определение возможностей процесса, т.е. возможностей его улучшения. В результате в организации может появиться понимание необходимости улучшениятого или иного процесса. К этому моменту цели совершенствования процесса уже четко сформулированы и остается только техническая реализация поставленных задач. После этого весь цикл работ начинается сначала,