Immediate firing should be reserved for severe situations like breaking a law while at work, fraud, sexual harassment, physical violence etc.
For anything else like performance and personality issues, you should have a systematic way of giving feedback and working through these problems so that if you ever fire anyone, it doesn't come as a surprise to them. And if you ever fire anyone for something like low performance and this is surprising to them, you as a manager haven't done your job well.