I just had to fire a friend of mine. I've known him for 15 years, originally from BJJ. but he stopped training years ago so I never see him at the school. I only see him when he comes to take care of my lawn. He's been my lawn guy for like 7 years I think.
The problem is that he can be hard to get ahold of, and he never does what he says he'll do when he says he'll do it. He's usually off by days, sometimes weeks. If he wasn't my friend, I'd have let him go for this already because chasing the people you hire to work for you defeats the entire purpose of paying for their help. I tolerate it because #1, I don't care that much about my lawn, and #2, he does eventually show up and he's got me grandfathered in at a super cheap rate.
But even though changing lawn guys will likely cost me more money, I plan to replace him with someone who is more timely and communicates better - thus actually saving me more time and hassle, which makes up for the greater cost.