Production scheduling is an important research topic widely studied during past few decades. However, many manufacturers still fail to successfully deploy scheduling algorithms and systems, even though information and communication technologies can be used to collect and process data associated with production scheduling under modern smart manufacturing environment. The primary problem is that many scheduling algorithms and systems did not consider diverse variety of scheduling requirements of real production systems. Especially, production schedulers in small make-to-order manufacturers have much trouble in utilizing such algorithms and systems. In order to address this issue, this paper aims to propose a functional architecture of production scheduling system for small make-to-order manufactures under smart manufacturing environment and develop a flexible scheduling algorithm for this system. For illustration, the proposed system and algorithm are applied to a two-machine flow shop scheduling problem, and it is expected that this paper will provide a meaningful insight into the user experiences of production scheduling systems.