This article focuses on the Quality of Service (QoS) achieved by packet scheduling. A packet scheduling algorithm, which can differentiate the QoS among user and service classes, is presented. The algorithm can be tuned from signal to interference ratio (C/I) based scheduling to Round Robin and beyond. Thus, an operator can choose between optimizing the spectral efficiency or giving a fair QoS distribution among the users within a user and traffic class. By combining the two effects, different strategies can be used for different user and service classes. Simulation results for the downlink shared channel (DSCH) are presented and implementation issues are also discussed.