1. A method, using a computer, of determining an efficient schedule for a plurality of scheduled agents in a telephone call center, each of the plurality of scheduled agents having a combination of defined skills and wherein the plurality of scheduled agents may be organized into skill groups each including all scheduled agents having a particular combination of skills, comprising the steps of: (a) generating net staffing data per call type defining, for each time interval to be scheduled, an estimate of a difference between a given staffing level and a staffing level needed to meet a current call handling requirement; (b) generating skills group availability data per call type defining, for each combination of skill group and time interval to be scheduled, an estimate of a percentage of scheduled agents from each skill group that are available to handle a call; (c) using the net staffing data and the skills group availability data to generate a schedule for each of the plurality of scheduled agents; (d) running a call handling simulation against the schedule; (e) adjusting the net staffing data and the skills availability data as a result of the call handling simulation, and (f) repeating steps (c)-(e) until an output schedule occurs.