Three Elements of Software Quality