We assume that each birth is an independent event, for which the probability of a boy is the same as the probability of a girl. There are, then, three possibilities for your colleague's family, all equally likely:
Therefore there is a 2/3 chance that the colleague has two boys and a girl, and a 1/3 chance he has two girls and a boy.
Note that in each of the ordered triples above, (BBG, BGB, BGG), the first letter represents the gender of the first child. The context of the word first may be chosen at our convenience. For example, it may be the eldest child (if we sort by descending age), the shortest (sort by ascending height), or perhaps the child whose forename is first alphabetically. In this case, based upon the information we are given, the context we choose is “the first child we meet.” The second and third letters in each ordered triple represent the genders of the other two children, neither of whom we have met.
Another way to arrive at the answer is to note that the boy who opens the door is essentially a red herring. Leaving him aside, the puzzle asks us to compare the probabilities that the other two children are (a) both girls, or (b) one girl and one boy. (The letter from the principal is carefully worded to leave both options open.) The second option (older sister, younger brother, or older brother, younger sister) is twice as likely as the first (elder sister, younger sister.)
As with many conditional probability questions, this result may seem surprising at first. If you are skeptical, I urge you to carry out a simulation, either manually or programatically. Setting up such a simulation forces you to analyze exactly what is happening.
The situation can be modelled by throwing three coins. Let heads represent boys, and tails girls. One coin in each throw should be set aside to be checked whether it is a boy or a girl. (This corresponds to the boy who opens the door.) It needn't be the same coin each time (though it could be), and it needn't be thrown first (though it might be), but it must be chosen independently of whether it shows heads or tails.
One convenient method would be to throw one dime and two nickels. If the dime (first child) shows heads (a boy) and one or both of the nickels shows tails (at least one girl), then we have a faithful representation of the puzzle situation. Other scenarios are discarded. Of the scenarios retained, in roughly two out of three cases the three coins will show two heads.