Качество программного обеспечения – это соответствие функциональным и не функциональным требованиям.
Функциональные требования (functional requirements, FR) описывают, что будет делать система, то есть это возможности системы (функции) без описания того, как они реализованы. В сложившихся практиках FR описываются элементами продуктового бэклога.
Нефункциональные требования (non-functional requirements, NFR) описывают, как будет работать система. Как правило, это перечень атрибутов и критериев их соответствия, в большинстве случаев говорят про атрибуты качества.
В сложившихся практиках NFR указываются в DoD и в исключительных случаях в критериях приемки.
В процессе работы команда может как увеличивать качество, так и занижать. Делать это можно запланировано или случайно. Рассмотрим все четыре случая.