My Jack is 16 weeks and just saw his vet yesterday and asked this question. He told me he wanted to wait until Jack was at least 6 months old. He also mentioned that Jack needed to reach the 4.4lbs he anticipates he will be full grown. And he wanted his adult teeth in, because if he has not lost all his baby teeth he wants to pull any that remain while he has him out.
Just our vets opinion for comparison to what else you hear. Good Luck!
BTW, Jack is humping like his on viagara!