В разных источниках терминология характеристик качества программного обеспечения отличаются друг от друга. Авторы создали различные модели качества со своим набором характеристик и атрибутов, и они могут быть полезны для обсуждения, планирования и оценки качества программных продуктов.
В 1979 году Crosby определил качество как «соответствие требованиям» («conformance to requirements»), а Juran и Gryna в 1970 году определили качество как «пригодность к использованию» (fitness for use).
«Соответствие требованиям» предполагает, что требования должны быть столь четко определены, что не могут быть поняты и интерпретированы некорректно. Какие-либо несоответствия должны рассматриваться как дефекты – отсутствие качества.
«Пригодность к использованию» принимает во внимание требования и ожидания конечных пользователей продукта, т.е. предоставляемый продукт или сервис будет удобным для их потребностей. Однако разные пользователи могут использовать продукт по-разному. А это значит, что продукт должен обладать максимально разными вариантами использования. Согласно определению Juran каждый вариант использования – это характеристика качества и все они могут быть классифицированы по категориям, как параметры пригодности к использованию. Иными словами, делает ли данный продукт то, в чем я нуждаюсь, облегчает ли он мою работу, могу ли я использовать его так, как мне удобно.
Проблема в том, что специфицируемые и собранные требования это обычно только часть всех реальных потребностей и ожиданий заказчика. Зачастую неявные требования настолько очевидны для заказчика или пользователя, что он даже не предполагает, что они неизвестны разработчикам. А разработчики, в свою очередь, не готовы брать на себя ответственность за то, что не описано в требованиях. Где же выход из этого круга?
В первую очередь – это правильное построение коммуникации с заказчиком, начиная с самого первого этапа. Качественное выявление потребностей заказчика менеджером или бизнес-аналитиком. Однако не менее важные факторы – это качественное написание программистом кода и качественная проверка ПО инженером. Все это залог безупречного качества программного обеспечения.
Заказчик будет удовлетворен и приведет с собой еще заказчиков только в том случае, если купленный товар будет полностью удовлетворять его реальным и жизненным потребностям, как специфицированным, так и нет.
Вместе с тем все это не так отвлеченно, как может показаться с первого раза. Существует набор стандартов ISO 9000, регулирующий общие принципы качества во всех отраслях. Наиболее важными стандартами в разработке ПО являются:
Так же у каждой компании могут быть разработаны свои стандарты качества, отвечающие конкретной специфике работы и соответственно ее требованиям.
Что же все-таки с определением? На сегодняшний день их существует много, и все они друг на друга крайне похожи, можете сами в этом убедиться:
Основные характеристики качества программного обеспечения (Software Quality Characteristics) описаны международными стандартами ISO 9126 и ISO 25010. На данный момент наиболее распространена и широко используется многоуровневая модель качества программного обеспечения, представленная в наборе стандартов ISO 9126 их 6:
В более новой версии ISO 25010 список расширен до 8, добавлены
Эти критерии разработаны международной организацией ISO для стандартизированной оценки и улучшения качества ПО по всему миру. Они помогают четко определить, какие свойства программного продукта считаются важными для его качества и успешного использования.