This is definitely a frequently asked question! Here is breeder Laura Lang's response from a past exchange elsewhere on the subject:
Size: Healthy puppies, in normal weight, born in normal sized litters are usually half their mature weight at 3 months of age for girls (14 weeks or so) and 16 or 17 weeks of age for boys. If your puppy was born in a normal sized litter (3-5 puppies), was a normal size at birth, is not fat or thin right now, has always been healthy and is 7 lbs. at 15 weeks--he will likely mature out at about 15-16 lbs. If the litter size was less than 3 puppies he will grow faster at first and be larger at this stage than normal. If the litter size was more than 5 puppies he will probably grow a bit slower at first and be smaller at this stage than normal. I don't see him as being large at this point in time. Neutering before the growth plates close will almost certainly cause him to be at least an inch taller and a bit heavier at maturity.
Note: Parental size has less to do with puppy size than 'family size'. In other words if the parents were the smallest in their respective litters they are highly likely to produce puppies more the size of most of the members of their family--or larger than they themselves are. You really can't go by the size of the parents much for this reason.