¿Cuáles son los diez atributos principales recomendados para un buen producto de software?

Con respecto a la estructura clásica de 4 niveles, creo que se descompone así:

Business Layer Logic y Data Access Layer Logic deben ser independientes pero interdependientes .

Presentation Layer Logic y Service Layer Logic deben ser estandarizados pero extensibles .

Business Layer Logic y Service Layer Logic deben ser seguros y portátiles .

Presentation Layer Logic y Data Access Layer Logic deben ser intuitivos y eficientes .

Service Layer Logic y Data Access Layer Logic deben ser escalables y resistentes.

Esas diez cualidades no se linealizan en un “top ten” pero se conectan en un “diez tips”.

Si también agregas eso

Presentation Layer Logic y Business Layer Logic deben ser simples pero completos

Entonces tienes un “doce rasgos” que te dan ese buen software que estás buscando.

Esta pregunta es demasiado vaga. Esto depende completamente del software. Por ejemplo, la estabilidad es absolutamente primordial en un software de control de naves espaciales, mientras que otros factores son más importantes para una aplicación simple de Android.

En algunos casos, algunos atributos pueden no tener ninguna importancia.