RCM is a concept is fantastic, but falls own on execution when it meets the real world needs of a running railway.
As a maintainer you've got a set of limitations imposed upon you by the need to run trains. The operational side of the business - which is what running a railway is all about - gives you, the maintainer, your availability requirements for the fleet. So, for example, if you've got a fleet of 100 trains then 95 of them will be needed for service every week day. Therefore you can only have 5 out of service. You'll need a heavy maintenance allowance (Bogie overhaul, wheelset changes etc), deep cleaning, modification, defects... and pretty soon you've got nothing left for running maintenance. So your maintenance has to be done when the trains aren't running (during the day between peaks if you're running a metro service or at night for all kinds of operation), which means your down time for an exam is limited to a real world, hands being laid on the train after you've allowed for shunting into and out of the shed, of about 5 or 6 hours.
And then there's a limited number of fitters/technicians available to do the work - limited both by budget and the sheer number of people you can get working on the train at the same time.
And then there's depot capacity, shunting capacity, diagram arrivals and departures (can your first arrival be your last departure for example?) and so which all combine to give a very constrained window of opportunity and the resources that can be deployed within that window.
And then you've got the train and you need to work out, in a structured manner which will stand up to scrutiny as being compliant with all applicable legislation, guidance and best practise, what maintenance it actually needs vs. what's nice to have.
So you break the train down into systems; brakes, traction, air, bogies, propulsion, doors, comms etc. Then you break each system down into components and you determine all of the failure modes each component can have and what the impact of each of those failure modes would have upon the operation of the train.
And you take of each of these impacts and ask a series of questions; Does the failure directly affect safety? Does the failure indirectly, another safety system also needs to fail, affect safety? Is the failure evident to the train crew? Does the failure affect train reliability? etc.
This allows you to categorise each component failure mode's impact as either "Hidden Safety", "Evident Safety", "Performance", "Availability", "Economic", "Reputational" and so on.
You can then prioritise the component failure modes that you are attempting to use maintenance to prevent, with Hidden Safety being the first priority and you come up with, if possible, maintenance tasks - checking, testing, replacement etc. - could be done. And then you work out the frequency, man hours, down time, work flow for these tasks and subtract the sum of these from the pot you've got as constrained by unit availability, people available etc.
Then repeat this for Evident Safety. And then for Performance. And I absolutely guarantee at this point you're running out of down time and/or man hours before you can do all of the Performance related maintenance tasks....