This paper presents a review of staﬀ scheduling and rostering, an area that has become increasingly important as business becomes more service oriented and cost conscious in a global environment. Optimised staﬀ schedules can provide enormous beneﬁts, but require carefully implemented decision support systems if an organisation is to meet customer demands in a cost eﬀective manner while satisfying requirements such as ﬂexible workplace agreements, shift equity, staﬀ preferences, and part-time work. In addition, each industry sector has its own set of issues and must be viewed in its own right. There are many computer software packages for staﬀ scheduling, ranging from spreadsheet implementations of manual processes through to mathematical models using eﬃcient optimal or heuristic algorithms. We do not review software packages in this paper. Rather, we review rostering problems in speciﬁc application areas, and the models and algorithms that have been reported in the literature for their solution. We also survey commonly used methods for solving rostering problems.