This document discusses issues with existing software quality models and proposes a new approach using design patterns. The proposed approach focuses on flexibility, reusability, robustness, scalability, and usability. It involves identifying programs that use certain patterns, assessing the quality of pattern usage, computing metrics on the programs, and linking the metrics to quality assessments using machine learning. This allows evaluating subsets of a program's design based on patterns rather than evaluating entire programs or single classes.