I recommend going to www.dogbreedinfo.com - They allow you to search based on what you want. So if you are searching for a herding dog click on the appropriate link, and you will find a lot of breeds. Australian Cattle Dogs may be a good choice for you. They are reasonably small but extremely rugged. The were bred to herd cattle by healing them. They are very good at it, and also make a good family pet - so long as they get plenty of exercise. They may attempt to herd you as well. They sometimes have a tendency to attempt to herd people and sometime even nip at their heals, but not all of them.
I suggested the Border Collie specifically because they are NOT a "nipping" type of herder..
A nipping instinct is not desirable in a family dog.. ( Little fingers..)
A simple Google search for terms "herd dogs" or "sheep dogs" or "shepherd dogs" will produce more sites than you can shake a stick at..