Современная индустрия
программного обеспечения (ПО) характеризуется очень высокой степенью конкуренции. Для успешной работы на этом рынке компания должна разрабатывать, внедрять и сопровождать программное обеспечение быстро, в срок и с удовлетворительным качеством.
Поэтому многие компании вкладывают деньги в улучшение качества процесса, памятуя о том, что подобное вложение денег обязательно окупается, — изучение документированных случаев улучшения процессов разработки ПО показывает, что в успешных случаях наблюдается существенное улучшение производительности и качества со средним уровнем возврата вложений от 5:1 до 8:1.
Существуют десятки различных подходов к обеспечению качества ПО, и у всех есть свои преимущества. Одной из первых моделей качества стал стандарт
ISO (Международной организации по
стандартизации) серии 9000, первая версия которого была выпущена в 1987 году. С тех пор
сертификаты ISO серии 9000 сохраняют неизменную популярность и признаются во всем мире.
Однако время не стоит на месте, и методики, положенные в основу стандартов серии ISO 9000, постепенно устаревают. Выделим наиболее существенные недостатки:
- недостаточная подробность стандарта, возможность самых различных его толкований в зависимости от представлений аудитора;
- неточность оценки качества процессов, задействованных при создании и внедрении программного обеспечения;
- отсутствие в стандарте механизмов, способствующих улучшению существующих процессов.
Перечисленные проблемы заставили экспертов разрабатывать более совершенные решения в области обеспечения качества, что привело к созданию в начале 90-х годов целого ряда новых
стандартов и
методологий. Опишем два наиболее удачных и содержательных стандарта – Capability Maturity Model (
CMM) и ISO/IEC 15504 (
SPICE). Существуют и другие достаточно развитые методологии, но, к сожалению, невозможно осветить все перспективные направления данной области. Поэтому мы ограничимся упоминанием того, что за рамками данного обзора остались такие стандарты, как Bootstrap , во многом схожий с рассматриваемыми стандартами CMM и SPICE, Trillium, ориентированный на разработку продуктов в области телекоммуникаций, и ISO 12207, посвященный жизненному циклу программного обеспечения.
Будем проводить параллели между двумя рассматриваемыми стандартами и ISO 9001, чтобы подчеркнуть сходство и различия между ними.