Start with very short periods of time about 2-5 minutes, several times a day. Slowly increase the time you spend on this to 10 minutes or less. ALWAYS leave your puppy wanting more. It's VERY important to be energetic and enthusiastic during this game. Keep this game in the house only for the next few weeks, until you have a solid fetch in the house.
Step 1 Shaping the fetch
Start with a squeaky toy.
Move the toy back and forth a few feet from your puppy's face, squeaking the toy.
Toss the toy a couple of feet from you, still within your reach.
Encourage your puppy to pounce on the toy and grab it with their mouth.
Enthusiastically praise your puppy when they put the toy in their mouth.
Back up quickly away from your puppy a few paces (4-6ft).
Enthusiastically praise your puppy when they move towards you.
When your puppy gets to you, use another toy or treat to encourage your puppy to drop the toy in their mouth.
When your puppy drops the toy, praise your puppy ("Good puppy!!"), treat if you used a treat, and toss the second toy.
Repeat this over and over for the next 2-5 minutes to start with and slowly increase the time to no more than 10 minutes.
Step 2 Teaching theRelease
After about 2 weeks, fade out using a second toy as a way for your puppy to release the ball, and replace it with the release command.
With one hand just below your puppy's mouth, make solid eye contact with your puppy, and give the release command. This can be anything that is easy for you to use. Examples would be drop it, out, release, let go, leave it, etc.
Give your puppy 1-2 seconds to respond. If your puppy does not respond, use your right hand (left for lefties) to gently squeeze where your puppy's upper and lower jaw come together.
Praise (or treat) your puppy generously when the puppy drops the toy in your hand.
Work on this for the next week or so.
Step 3 Increase the Distance and Stop Moving Backwards
Randomly switch to the ball instead of the squeaky toy, and start throwing the toy to further and further distances. (more than 10ft and as far as your indoor space allows)
Hallways work really well for this.
Stop moving backwards every time. 3 out of 5 times stand in one spot and have your puppy bring the toy to you without moving backwards. After one week you shouldn't have to move backwards at all.
Still keep it inside for the next week.
Step 4 Lose the Treats
Now it's time to only use treats very intermittently. Only use the treat 4 out of 5 releases.
Wean your puppy off for the next week to four weeks. At the end of 4 weeks you shouldn't use treats at all anymore.
If your puppy does not release the toy, the game is over. Turn your back on your puppy and walk away.
Don't pull the toy out of your puppy's mouth.
Step 5 Go Outside!
After 4 weeks from the start of teaching the fetch, start working outside.
Go back to basics by using the squeaky toy and short distances.
Move through the steps faster. After one week you should be on step 4.
If you do not have a fenced in area that you're working in, use a light weight long leash like a close line.
Tips and Hints
Practice this in 5 min sessions 3-6 times a day, and when you move outside you can increase the time to as long as your dog is still having fun.
Always leave your puppy wanting more! Don't stop when your puppy doesn't want to do it anymore. Find that spot where they still want to keep playing, but are tired.
Don't throw too far too soon.
Don't pull the toy out of your puppy's mouth; wait for them to drop the toy.
Fetch toys are only for fetch.
Don't use sticks.
When you move outside if your dog doesn't bring the toy to you, start moving away from the puppy calling their name (no come or come on) and clapping your hands. It's very important to NOT chase your puppy.
Keep it fun; when you stop having fun, your dog does too.