I can't believe that no one has answered this yet. IMO, and the opinion of my vet, wait until the end of adolescence. 18 months to 2 years. The way my vet explained it was that they are still growing and you want to wait until that process is at least almost complete before a spay or neuter. She also said that it doesn't hurt to do it younger if you think that you can't be diligent during a heat cycle. Better to spay than to have an unplanned litter.