Каждый разработчик стремится к тому, чтобы его программные продукты были быстродействующими, надежными, легкими в использовании, читаемыми, модульными, структурными, — но все эти определения описывают два разных типа качества.
Наличие или отсутствие таких качеств, как скорость и простота использования, может быть обнаружено его пользователями; такие качества можно назвать внешними факторами качества.
Под пользователями нужно понимать не только людей, взаимодействующих с конечным продуктом, но и тех, кто их закупает, занимается администрированием.
Такое свойство, как легкость адаптации продуктов к изменениям спецификаций попадает в категорию внешних факторов, поскольку она может представлять интерес для администраторов, закупающих продукт, хотя и не важна для конечных пользователей (end-user), непосредственно работающих с продуктом.
Такие характеристики программы, как модульность или читаемость, являются внутренними факторами, понятными только для профессионалов, имеющих доступ к исходным кодам.
В конечном счете только внешние факторы имеют значение. Но ключ к достижению внешних факторов спрятан во внутренних факторах: чтобы достичь видимого качества, проектировщики и конструкторы должны иметь внутренние приемы, позволяющие улучшать скрытые от пользователя качества.
Технические средства, техники и методологии, предлагаемые технологическим стеком Scala, являются средствами достижения внутреннего качества программных продуктов. Однако за частностями не следует терять из вида общую картину: внутренние технические приемы не являются самоцелью — лишь средством достижения внешних качеств.
Качество программного обеспечения | Корректность |