Тема 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 различных уровней), но эти уровни применяются не только к организации в целом, но и к отдельно взятым процессам.
|
|
В основе стандарта лежит оценка процессов. Эта оценка выполняется путем сравнения процесса разработки ПО, существующего в данной организации, с описанной в стандарте моделью.
Затем выполняется определение возможностей процесса, т.е. возможностей его улучшения. В результате в организации может появиться понимание необходимости улучшения того или иного процесса. К этому моменту цели совершенствования процесса уже четко сформулированы и остается только техническая реализация поставленных задач. После этого весь цикл работ начинается сначала,