Ian Simmonds and David Ing


In this paper we respond to the observation that systems are subjected to qualitatively different scales and rates of change, and should consequently be constructed to adapt in "shearing layers." This observation applies equally to social systems such as business (or other) enterprises, and to the software systems that they use.

Our response is multifaceted, concerned with three different objects of design: the design of two kinds of organization; the functional design of software applications to support those organizations; and the implementation of those applications as software. The two relevant kinds of organization are large information systems services organizations, and the organizations that use their services. When an organization is designed to respond to change it is called an adaptive enterprise. Software so designed is called adaptable software.

Among these three forms of design, this paper focuses on the middle one. We propose constructs called "agents" and "conversations" as means for reasoning about the functional design of adaptable software. The bridge to organization design comes from determining which people should engage in what conversations to achieve what forms of learning. The bridge to software implementation comes from determining how to deploy each conversation within available middleware and other technologies.

We do not wish to claim that shearing layers is a new phenomenon in information system development. Indeed, we present examples of practices consistent with this approach. Rather, we seek to name the phenomenon, present theory that embraces that phenomenon, and demonstrate how we are applying that theory within our ongoing work. As a result, this paper can be seen as a source not only of newly explicit requirements on software engineering, but also of some possible solutions.


Ian Simmonds and David Ing, "A Shearing Layers Approach to Information Systems Development", IBM Research Report RC RC21694, May 2000.


Previous Post Next Post

2000/03 A Shearing Layers Approach to Information Systems Development