With the increasing demand on productivity, quality, and availability, machines have become more complex and capital intensive. Developing and implementing a maintenance programme is a difficult process that suffers from many problems. It often suffers from lack of a systematic and a consistent methodology. In addition, since the process of developing the programme relates to different parties with interests in maintenance, it becomes difficult to achieve all round satisfaction of these parties, and at the same time achieve the objectives of the company. Developing a maintenance programme is an iterative process that involves different decision makers, who may have conflicting objectives. In deriving these objectives maintenance managers usually try to achieve multiple, and sometimes, conflicting objectives such as maximising throughput, availability, and quality subject to constraints on production plan, available spares, manpower, and skills.