I was having this discussion yesterday so thought I'd write about my feelings on when is best to add another dog. First off I think it is extremely important to get your dogs one at a time. Yes it is very nice for dogs to have dog company but first you need to bond with your dog so that you are the most important being in their life. Often when people get two puppies at the sametime; the puppies tend to bond with each other instead of with you. Unless that is; you take huge steps to spend individual time with each dog separately.
Now, you are thinking about adding another dog; so when is the best time. It varies but I have a 3 years of age guideline. I think if you have had your dog for 3 years then you have a solid bond; they should be trained to perfection by now and so adding another untrained dog will not put you in overload mode. Many breeds mature at the age of 3 or so it is written and this itself will help in puppy raising. Many adult dogs actually help train new puppies the ropes of the house.
When you do add another dog to your home it is imperative to match personalities. Yes it can work out perfectly even if you just bring a dog home on a whim not considering personality but the best chance for it working out is to do your homework. It is always the best idea to get the opposite sex, it is just easier. That is not to say that all boy/girl couples get along. It is really more about personality. You know the phrase "opposites attract?" Well this is a good guideline to stick to.
Matching personalities is no more important than when adding an adult dog to your home. A second hand dog is a different story all together than bringing home a brand new blank slate puppy. It can be tricky to find the right dog to join your little pack but if you take your time; consider the dog you already have in your home and choose accordingly, a growing pack is a good thing.