The world is fundamentally unpredictable. Therefore, resilience is what ultimately makes an organization highly reliable. It starts with the hardware and with the software, thus the procedures, in an organization. These must meet specific demands. But the most important part is the humanware.
The actors within the organization must have the knowledge and the skills to make sensible decisions in unanticipated situations as the unpredictability of the world prevents covering every possible situation in a procedure.
The interesting point is that the human characteristics that make humans fail in a certain situation, are the exact same characteristics that make the human the hero that saves the day in a slightly different one.
So designing the human out of the system is not the way to go. You must design the system such that the human is far more often the hero than the hazard. This can be done by supporting the human actor with tools like teamwork, checklists and good-practice procedures.