A Shearing Layers Approach to Information Systems Development

David Ing, Ian Simmonds · 2000

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 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 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. 1. BACKGROUND Blame for the systems development crisis has been laid at the feet of the creators of development methods, tool builders, analysts, designers, and implementors. But we suggest that the problem may, instead, lie in an incorrect goal set that we all have accepted from the outset that is the idea that systems should support organizational stability and structure, should be low maintenance, and should strive for high degrees of user acceptance. Truex, Baskerville and Klein, 1999 [40] 1.1 Adaptive Enterprises need Adaptable Software In his book Adaptive Enterprise [20], Haeckel points to the effect on the strategy of a business enterprise of the increasingly frequent unpredictable, discontinuous changes that occur in the environments in which it operates. How many enterprises predicted the rise of the World Wide Web and e-commerce? How many software companies made this prediction? The kinds of change observed by Haeckel and others are more than a temporary phenomenon. They are a consequence of the very moral foundations of commercial life. As Jane Jacobs has pointed out [25], the moral precepts that govern commercial life require that commercial organizations use initiative and enterprise in promoting comfort and convenience for their customers, and that in doing so they be thrifty, efficient and industrious. In other words, they are morally driven to actively seek to change (improve) what they do for their customers and how they go about doing it. Above all else, frequent and disruptive technological, regulatory, political or competitive changes lead customers to reconsider just what they consider to be of value. As such they render traditional predict and approaches to business and information technology strategy not only inadequate, but downright dangerous to the long term health of any enterprise offering them products or services. The only possible alternative, in Haeckel's opinion, is to focus strategic thinking on the design of an adaptive, learning organization. Haeckel suggests that organizational 1 A Shearing Layers Approach to Information Systems Development [email protected] [email protected] NY 10964-8001, USA NY 10532, USA Route 9W, Palisades 30 Saw Mill River Road, Hawthorne IBM Advanced Business Institute IBM T J Watson Research Center David Ing Ian Simmonds learning and adaptivity are optimized when they are focused on two things [20]. Firstly, there should be constant inquiry into what customers consider to be of value. This requires that, at the very least, customer relationships be designed to ensure learning. Secondly, there should be constant inquiry into what organizational capabilities the enterprise must develop, informed by an understanding of what customers consider to be of value. But while enterprises and their people may seek to become ever more adaptive, software is at best adaptable. Adaptive enterprises need information system development processes that ensure that changes are made not only in a timely manner but are a creative response to changes both in organizational needs and technological possibilities. However these engineering approaches are still missing. Note that adaptation is doubly interesting to an information systems (IS) organization. On the one hand, since the environments in which its customers operate are undergoing rapid discontinuous change, the IS organization needs to be able to rapidly adapt its customer's computer systems in response to that change. On the other, the IS organization itself operates in a changing world, inherited partly from its customers and partly from the broader environment. Thus it must organize itself and its own systems (such as CASE tools) for adaptation. 1.2. Inspiration: Change occurs in shearing layers Truex, Baskerville and Klein [40] view an enterprise as an emergent organization and recommend that information system developers embrace and even foster change within both the organization that they support and the information systems that they maintain and evolve. As such, they propose an alternative goal set for information systems professionals that optimizes on high maintenance rather than low maintenance. In their words: Emergent IT organizations value continuous analysis, negotiated requirements, and a large portfolio of continuous maintenance activities. But how can engineers optimize for change rather than stability, and do that efficiently, effectively and safely? Engineering wisdom seems to suggest that certain forms of change just cannot and should not occur quickly. Goals of high throughput and reliability, or a need to interface to a wide variety of other systems, are all believed to be incompatible with many forms of change. Our source of inspiration for this dilemma is Stewart Brand's observation that successful buildings are constructed to support qualitatively different rates and scales of change [7]. That is, they are constructed in shearing layers, with a clear demarcation between parts that should change at different rates. Brand describes six shearing layers of change in a building. (i) A site, especially when bordered by other buildings and roads in an urban setting, may constrain generations of buildings. (ii) A load-bearing structure may last for 30 to 300 (iii) The skin (exterior surfaces) typically changes every 20 years due to changes in fashion or technology or for wholesale repair. (iv) Services (heating, ventilation, wiring, elevators, communications, and so on) wear out or obsolesce every 7 to 15 years. (v) Space plans in turbulent commercial space can change every 3 years or so. And (vi) (chairs, desks, phones,) twitch[es] around daily to monthly. Brand's model corresponds closely to our own intuitions about the kinds of changes that are made to information systems. Some features change very slowly: credit card processing, or posting systems in banks. Others change very frequently, such as advertising features of web sites. Moreover, some engineering techniques and technologies exist to overcome cases where appropriate shearing was not initially supported. For example, the technique of screen scraping allows composite business functions and more modern user interfaces to be assembled on top of the unfashionable and obsolete character-based user interfaces of valuable, long-lasting systems built in earlier eras. Such techniques are the equivalent, in Brand's terms, of changing skin and space plan while leaving valued, reliable structure and site unchanged. An area where we need to enrich Brand's work is that corresponding to the qualitatively different kinds and rates of change there is a correspondingly richly differentiated set of materials and practices for achieving those changes. For building, for example, different groups of experts lay foundations, produce structures from reinforced concrete, and design and assemble different kinds of facades [10]. In particular, the experts in selecting and arranging stuff are the of the building. As a result, the materials and elements of stuff are optimized so that almost anyone can rearrange them for their own purposes whenever those purposes change. 1.3. Bringing a consideration of shearing layers into three aspects of design We propose to use scales and rates of change, and a corresponding richly differentiated set of materials and practices, as primary criteria for the separation of concerns not only in information systems development, but for three related areas of design: ! the design of organizations: with an emphasis on design that promotes organizational adaptiveness and learning; ! the functional design of information systems: that is, design of how information systems will support the organization; ! the implementation of information systems: that is, design of how required function is made available to users using enabling information technologies. While this may seem like a broad focus for study, any large information systems services organization must not only cover this range of practices, but do so in an increasingly

Read the paper · More papers on PaperTik