The word grand originally comes from grandis, a Latin word that was identical in both masculine and feminine forms. Because of this, there was also no spelling distinction between the genders in Old French, when it was written down as grant, grand or gran. For example, they would have written un ome grant (un homme grand or “a tall man”) and une feme grant (une femme grande or “a tall woman”). The fixed spelling eventually became grand, echoing the “d” from the original Latin word.
In fact, it was only in the 16th century that it became commonplace for the word to be written as grande in the feminine version, when it mimicked other adjectives derived from Latin that had made a spelling differentiation between the Latin “-us” (masculine) and “-a” (feminine) endings. However, some fixed expressions retained their ancient form without agreeing – one of them being grand-mère.
A complicated family...
There are hundreds of other examples in French, and there is no rule to know what they are. Some more frequent ones include: (pas) grand-chose (“not much”) and grand-route (“main road”). It can also be found in place names such as Grandfontaine, which is the name of a village in Alsace, a town in Franche-Comté and a city in the Porrentruy district in Switzerland. The lack of the feminine “-e” can also be spotted in some surnames such as Grandmaison.
There are a few other tricky bits of family vocabulary to be aware of in French. For example, the words for “stepfather” and “father-in-law” (beau-père) and “stepmother” and “mother-in-law” (belle-mère) are the same, so the meaning can only be identified from the context.