This is from back in 2009, but I just discovered it and thought it was
very interesting:
https://www.infoq.com/presentations/liskov-power-of-abstraction
And coincidentally, it has some relevance to the previous thread I
started... She makes the point that type hierarchy and inheritance are
two separate things. I was already aware of that to some degree, but I
do think I have sometimes lumped the two concepts together when thinking
about type hierarchies in the data model, since inheritance provides a
type hierarchy automatically. I think Liskov makes a good point that
relying too much on inheritance for that can be problematic.
More broadly, the talk is an interesting tour through history that
touches on a lot of concepts that are relevant to DCI. The main thing
missing is an object-oriented rather than class-oriented perspective,
but the fundamental goal of better code comprehension is a theme
throughout the talk.
Cheers,
Matt