1. A method comprising the steps of: providing campaign parameters for an outbound communication campaign, the campaign parameters comprising (1) a time period over which the outbound communication campaign is to be carried out and (2) a target value identifying a number of an outbound communication result to occur over the time period; selecting a historical dataset comprising historical data on the outbound communication result based on past outbound communications; generating an outbound forecast based on the historical dataset and the campaign parameters by at least one computer processor, wherein the outbound forecast comprises a forecasted number of the outbound communication result to be achieved over the time period in an attempt to meet the target value; generating a roster template comprising shifts needed to meet the forecasted number of the outbound communication result; applying a staff of agents to the shifts of the roster template by the at least one computer processor to produce a schedule defining which agents of the staff of agents are to work during the time period over which the outbound communication campaign is to be carried out; and after a part of the outbound communication campaign has been carried out over a portion of the time period: selecting a second historical dataset comprising performance data on the outbound communication result based on the part of the outbound communication campaign carried out over the portion of the time period; generating a revised outbound forecast based on the second historical dataset and the campaign parameters by the at least one computer processor, wherein the revised outbound forecast comprises a revised forecasted number of the outbound communication result to be achieved over the time period in the attempt to meet the target value; generating a revised roster template comprising revised shifts needed to meet the revised forecasted number of the outbound communication result; and applying the staff of agents to the revised shifts of the revised roster template by the at least one computer processor to produce a revised schedule revising which agents of the staff of agents are to work during a remainder of the time period over which the outbound communication campaign is to be carried out, wherein at least one of the roster template and the revised roster template further comprises at least two of rules defining types of shifts required during the outbound communication campaign, a corresponding number of each shift type required during the outbound communication campaign, types of agents required during each shift type, a number of each agent type required during each shift type, and skills required by each agent type.