With my previous dogs, I made it a point to always train at LEAST once a day. I usually had regular training sessions for at least so many minutes.
With my current dog, while I still have "sessions", I also now use whatever situation I happen to be in to practice some sort of training, usually obedience-based. I even intersperse training randonly during play time. I believe that when they're hot and heavy into a game of fetch, tug, playing with other dogs, or whatever, it provides the BEST time to train around distractions, even if it is only for a minute or two.
I also make it a point, if it's during time of play, no matter what, to make training end with play. For example, if I'm playing fetch, I sometimes make the dog sit and stay when I toss the object. Sometimes after throwing, I make her do a down, then a sit up, then release her to go retrieve the object. Then I throw it without commands a couple of times before play time is over.
Sometimes, I work heel in the middle of play time, too, then end with some sort of additional play.
The result is a dog that is ALWAYS, without fail, responsive to me, no matter what. And, I mean, 100% of the time, this dog will look at me when I call her name, and come WHENEVER I call her. I also noticed that from a very young age, my dog has been VERY good off-lead. In fact, the only reason I use a leash now is for her safety more than anything else. And, this dog is only 7 months old.