1. A method of workforce scheduling, comprising the steps of: in an instruction execution system, receiving a first workforce schedule describing existing assignments of a plurality of workers to a plurality of shifts, each of the shifts being associated with a time range and a day; in the instruction execution system, receiving a shift alteration template describing allowable alterations to shift time ranges; in the instruction execution system, receiving an association between the shift alteration template and at least one of the workers; and in the instruction execution system, producing a second workforce schedule that modifies the length of at least one of the plurality of shifts, by applying at least one schedulable object to the workforce schedule in accordance with a workload forecast and schedule constraints, wherein the at least one schedulable object is based on the shift alteration template.