Here is a figure showing some of the excellent work of Dutch typographer Martin Majoor and his large family of fonts Scala, that include very closely matched serif and sans-serif faces.
His website explains that "In my opinion, mixing serif with sans only makes sense when the serif and the sans typefaces are both derived from the same foundation, or even from the same skeleton."
This figure shows how he made that come to life for Scala.
Top Left. How Majoor cretaed Scala Sans from his face Scala. "Scala Sans was literally derived from Scala. Using a black marker and some correction fluid, I changed the serif characters into sans."
Bottom Left. The lowercase letters a-g for serif (upper) and sans-serif (lower) show that the final published forms of the fonts retain the closeness of origin.
Top Right. Majoor shows that both serif and sans-serif sit on the same skeleton; "When I was designing Scala and Scala Sans my motto became: ‘two typefaces, one form principle’. This can be demonstrated by isolating the common skeleton of the roman and the italic in both Scala and in Scala Sans."
Bottom Right: Exactly overlain examples of a-b-c lower case are shown. Although both serif and sans-serif give markedley different texture and colour to a block of text set in the two different typefaces they differ less than about 10% in shape between the two faces.
Robert Bringhurst has a very complimentary write up on Majoors Scala faces in his book Elements of Typographic Style.