Software muse is one of the most advertised advantages of object-orientation. Inheritance, in all its forms, plays an important part in achieving greater reuse, at all stages of development. Class hierarchies start taking shape at the analysis level, where classes that share application-significant data and application-meaningful external behavior are grouped under more general classes. At the design level, such hierarchies are augmented with implementation classes, and possibly reorganized to take into account implementation factors such as performance or code reuse, [Rumbaugh91a]. Getting the analysis-level hierarchy ''right'' is very important for the understandability and traceability of the models and the reusability of the resulting code [Rumbaugh91a]. In this paper, we propose a formal method that organizes a set of class interfaces into a lattice structure called Galois Lattice (Godin86a]. Such a lattice has several advantages including: 1) embodying protocol conformance, 2) supporting an incremental updating algorithm [Godin93a]), with applications for class hierarchy maintenance. We first present the basic method and illustrate its use through an example inspired from [Cook92a]. Next, we discuss extensions to the method to take into account richer class descriptions in general, and the specifics of OO analysis-level models. Finally, we discuss some of the research directions we are currently pursuing.