My MIL was chronically late. She had absolutely terrible time management skills. Everything took longer than expected.
-Invite you over for dinner at 6, she'll be walking in the door around 6:15 with the groceries to begin cooking dinner.
-Have reservations for 7pm for dinner, she's leaving her house at 7.
-Invite her to Easter lunch at noon, she'll wake up late, miss early morning service, go to the 11am service, not get out till 12:30, remember that she left the Easter baskets she wanted to the kids bring home so goes back home to get it and arrives at your house at 2 and is upset that we've already done Easter Egg hunt and I'm immediately starting to serve because I have 20 other people waiting for lunch and and several needing to get on the road to make a 6 hour trip home, which was why we were having lunch at noon and everyone had agreed to go to early Easter service. (Why no, 10 years later, I'm not still a little annoyed by this one.)
So after 15 years of trying to plan around her chronic lateness, I have finally figured out a method. I annoy the dickens out of her. She has a cell phone that she now has with her most of the time. So if she is expected at my house for lunch at noon, I text her at 10 with "Hi,just confirming lunch is at noon." At 11, I'll have DD text "Grandma, mom was about to put the X in the oven but wanted confirm your not running late." At 11:30, DH calls "Hi Mom, have you left the house yet? No, but your leaving in 5 min? OK then we'll see you at noon" At 12:10, SIL will have arrived and will start texting her "Mom, your late, where are you?"
After about a year of us micromanaging her schedule she has now gotten pretty good at being on time, she even showed up early to dinner a few weeks ago because she didn't "want to be getting all those annoying texts".
**SIL used to be chronically late, but I treated that like I would one of my own sisters. Sorry, we're not waiting more than 15 min unless its a real emergency.