The other day I was getting my kids ready for bed and I asked my 5yo DD to get her pajamas on. She was shivering and complaining that she was cold after her bath, so I told her to hurry up and get her pajamas on and that would warm her up. She ignored me.
I didn't think she'd heard me, so I repeated, "It's time to get ready for bed. Please put your pajamas on." She looked at me and didn't move.
So I touched her arm lightly to make sure she was paying attention and said, "Go put your pajamas on now, please."
She still didn't do it, so I gently took her arm and turned her so she was facing me, and while making good eye contact and enunciating very clearly, I slowly said, "Go. Put. On. Your. Pajamas. Right. NOW."
She looked at me, surprised, and in a slightly affronted tone she said, "But, Mommy, you've only asked me 4 times!"
It made me realize that I've actually taught my children to wait until the 5th or 6th time I ask them to do something before they act.
Now I'm working on making sure I get their attention and good eye contact, telling them once, and then making sure I follow through with helping them do it.
If it's something important enough to ask/tell them to do it, then I need to treat it as important enough to be proactive about it. It's not good to just keep asking over and over while they play for another 15-20 minutes before I actually follow through in making sure they do it.
I think it's better to not ask them at all until/unless I'm ready to follow through, or just make it a suggestion with the freedom for them to say no. In most cases I can probably do the latter. But when it really is necessary for them to obey, I need to make that clear and be willing to put out the energy to help them do it right away.