Tradizionalmente, i parametri (o fattori) rispetto a cui si può misurare o definire la qualità del software
vengono classificati in due famiglie: parametri esterni e parametri interni.
I primi si riferiscono alla qualità del software così come è percepita dai suoi utenti, e includono
correttezza, affidabilità, robustezza, efficienza, usabilità, ecocompatibilitá.
I secondi si riferiscono alla qualità del software così come è percepita dagli sviluppatori, e includono
verificabilità, manutenibilità, riparabilità, evolvibilità, riusabilità, portabilità, leggibilità,
modularità.
Generalmente esiste una correlazione fra questi due aspetti (banalizzando: il software mal scritto
tende anche a funzionare male).