Staff scheduling has received increasing attention over the past few years because of its widespread use, economic significance and difficulty of solution. For most organizations, the ability to have the right staff on duty at the right time is a critically important factor when attempting to satisfy their customers' requirements. The purpose of this study is to develop a genetic algorithm (GA) for the retail staff scheduling problem, and investigate its effectiveness. The proposed GA is compared with the conventional, linear integer programming approach. The GA is tested on a set of six real-world problems. Three are tested using a range of population size and mutation rate parameters. Then all six are solved with the best of those parameters. The results are compared to those obtained with the branch-and-bound algorithm. It is shown that GA can produce near-optimal solutions for all of the problems, and for half of them, it is more successful than the branch-and-bound method.