Design and production of cables for aerospace systems provide the background for the development of concurrent engineering framework. Key issues include the development of an architecture that supports collaboration among engineers associated with different parts of the cable design process and the development of hierarchical representations that capture the different characteristics (e.g. connectivity, geometry) of the harnesses. The abstraction of design information results in features, while the abstraction of operations leads to the development of agents. These abstractions are essential for efficient transactions among people and computer tools in a domain that involves numerous interacting constraints. We have decomposed the cable design process into five basic categories of tasks that are each addressed by an 'agent': the Environment Editor, the Free Space Manager, the Cable Editor, the Component Selector, and the Cost Comparator. In this paper the strategy for the problem decomposition, the definition of features, and the ways in which features are used by various agents, are discussed. We conclude with a discussion of some of the issues raised by the project and the steps underway to address them.