Architectural mismatch stems from mismatched assumptions a reusable pa
rt makes about the system structure it is to be part of. These assumpt
ions often conflict with the assumptions of other parts and are almost
always implicit, making them extremely difficult to analyze before bu
ilding the system. To illustrate how the perspective of architectural
mismatch can clarify our understanding of component integration proble
ms, we describe our experience of building a family of software design
environments from existing parts. On the basis of our experience, we
show how an analysis of architectural mismatch exposes some fundamenta
l, thorny problems for software composition and suggests some possible
research avenues needed to solve them.