We consider the school bus routing and scheduling problem, where transportation demand is known and bus scheduling can be planned in advance. We present a comprehensive methodology designed to support the decision of practitioners. We first propose a modeling framework where the focus is on optimizing the level of service for a given number of buses, then we describe an automatic procedure generating a solution to the problem. The procedure first builds a feasible solution, which is subsequently improved using a heuristic. We analyze two important issues associated with this methodology. On the one hand, we analyze the performance of three types of heuristics both on real and synthetic data. We recommend the use of a simulated annealing technique exploring infeasible solutions, which performs slightly better than all others. More importantly, we find that the performance of all heuristics is not globally affected by the choice of the parameters. This is important from a practitioner viewpoint, because the fine-tuning of algorithm parameters is not critical for the algorithms performance. We have successfully applied our methods on real problems and on large-scale problems. On the other hand, we propose an interactive tool allowing the practitioner to visualize the proposed solution, to test its robustness, and to dynamically rebuild new solutions if the data of the original problem are modified.