The deployment, management and total cost of ownership of large computing environments always involve huge investments. These systems, once in production, have to meet the needs of users belonging to large and heterogeneous communities: only an efficient and effective use of these systems can repay the investment made. The heterogeneity of user communities implies that computational resources are used for different type of applications, traditional (sequential) or HPC (MPI and Open MP based), whose demands are often conflicting. In this document we report experiences in designing, implementing and validating an adaptive scheduling controller (ASC) that, by using an "adaptive" approach in scheduling policy, allows a balanced, effective and efficient use of computational resources.