Os arquitetos devem despender um grande esforço para compreender os requisitos de qualidade e compreender o que deve ser feito para resolvê-los. Parte da dificuldade é que os atributos de qualidade não são sempre explicitamente indicados nos requisitos, ou adequadamente capturados pelos analistas de requisitos da equipe. É por isso que um arquiteto deve ser envolvido com os requisitos, para que eles possam fazer as perguntas certas para capturar os requisitos de qualidade que devem ser atendidos. Em geral os atributos de qualidade de software incluem:
Naturalmente, a compreensão dos requisitos de atributos de qualidade é apenas um pré-requisito necessário para projetar uma solução satisfatória.
Atributos de qualidade em conflito são uma realidade em todas as aplicações de complexidade até mesmo simples. Criando soluções que satisfaçam estes requisitos de forma adequada é extremamente difícil, tanto técnica como socialmente. Este último envolve comunicações com as partes interessadas para discutir tolerâncias do projeto, descobrindo cenários quando certas exigências de qualidade podem ser seguramente atendidas, e comunicando constantemente estas ações com as partes interessadas de modo que estes possam entendê-las e para que não ocorra problemas no projeto.