IMO I would go with the puppy. We got Sophie at 8 weeks old and then eight months later adopted Hazel who was seven months old. I have to admit Hazel has been a real challenge. Sophie is very smart and was fairly easy to train to potty in the right places, leash train, minimal barking, no digging in the yard, etc. Sophie is a very happy little dog. Hazel has issues that developed early on I guess that we are still trying to resolve. Too late now because we are so attached to Hazel but her constant barking (among other issues) is wearing on us. If we had adopted Hazel as a puppy I think we would have two well trained Yorkies instead of one and a half

. We also adopted Baby, a four year old yorkie many years ago who never did catch on to the potty thing too well but we loved her anyway and put up with mistakes for 15 years until she left us