The Interdisciplinary Study of Coordination
Source: Thomas W. Malone, Kevin Crowston; ACM Computing Surveys 26(1), 87-119 · 1994
This survey characterizes an emerging research area, sometimes called coordination theory, that focuses on the interdisciplinary study of coordination. Research in this area uses and extends ideas about coordination from disciplines such as computer science, organization theory, operations research, economics, linguistics, and psychology. A key insight of the framework presented here is that coordination can be seen as the process of managing dependencies among activities. Further progress, therefore, should be possible by characterizing different kinds of dependencies and identifying the coordination processes that can be used to manage them. A variety of processes are analyzed from this perspective, and commonalities across disciplines are identified. Processes analyzed include those for managing shared resources, producer/consumer relationships, simultaneity constraints, and tank/subtask dependencies. Section 3 summarizes ways of applying a coordination perspective in three different domains: (1) understanding the effects of information technology on human organizations and markets, (2) designing cooperative work tools, and (3) designing distributed and parallel computer systems. In the final section, elements of a research agenda in this new area are briefly outlined.
We all have an intuitive sense of what the word “coordination7’ means. When we attend a well-run conference, when we watch a winning basketball team, or when we see a smoothly functioning assembly line we may notice how well coordinated the actions of a group of people seem to be. Often, however, good coordination is nearly invisible, and we sometimes notice coordination most clearly when it is lacking. When we spend hours waiting on an airport runway because the airline cannot find a gate for our plane, when the hotel where we thought we had a reservation is fully booked, or when our favorite word processing program stops working in a new version of the operating system we may become very aware of the effects of poor coordination. For many purposes, this intuitive meaning is sufficient. However, in trying to characterize a new interdisciplinary area, it is also helpful to have a more precise idea of what we mean by “coordination.” Appendix A lists a number of definitions that have been suggested for this term. The diversity of these definitions illustrates the difficulty of defining coordination and also the variety of possible starting points for studying the concept. For our purposes here, however, it is useful to begin with the following simple definition: Coordination is managing dependencies between activities. This definition is consistent with the simple intuition that, if there is no interdependence, there is nothing to coordinate. It is also consistent with a long history in organization theory of emphasizing the importance of interdependence [Thompson 1967; Galbraith 1973; Lawrence and Lorsch 1967; Pfeffer 1978; Rockart and Short 1989; Hart and Estrin 1990; Roberts and Gargano 19891. As the definition suggests, we believe it is helpful to use the word coordination in a fairly inclusive sense. For instance, it is clear that actors performing interdependent activities may have conflicting interests and that what might be called “political processes” are ways of managing them [Ciborra 1987; Williamson 1985; Schelling 1960; Kling, 19801. Similarly, even though words like “cooperation,” “collaboration,” and “competition” each have their own connotations, an important part of each of them involves managing dependencies between activities.2 It should also be clear that coordination, as we have defined it, can occur in many kinds of systems: human, computational, biological, and others. For instance, questions about how people manage dependencies among their activities are central to parts of organization theory, economics, management science, sociology, social psychology, anthropology, linguistics, law, and political science. In computer systems, dependencies between different computational processes must certainly be managed, and, as numerous observers have pointed out, certain kinds of interactions among computational processes resemble interactions among people [Fox 1981; Hewitt 1986; Huberman 1988a; 1988b; Miller and Drexler 1988; Smith and Davis 19811.
2.2 Basic Coordination Processes A primary vehicle for facilitating transfer among these different disciplines is to identify and study the basic processes involved in coordination. Are there fundamental coordination processes that occur in all coordinated systems? If so, how can we represent and analyze these processes? Is it possible to characterize situations in a way that helps generate and choose appropriate coordination mechanisms for them? One of the advantages of the definition we have used for coordination is that it suggests a direction for addressing these questions. If coordination is defined as managing dependencies, then further progress should be possible by characterizing different kinds of dependencies and identifying the coordination processes that can be used to manage them. Table 1 suggests the beginnings of such an analysis. More generally, there are many types of dependencies between objects in the world that are managed by coordination processes. For instance, an important part of managing the design of complex manufactured products involves managing the dependencies among different subcomponents. At first glance, our definition of coordination (as managing dependencies among activities) might appear to omit dependencies among objects that are not activities. We believe, however, that this focus has the advantage of greatly simplifying the analysis of a coordinated situation. In fact, it appears that all dependencies that require coordination can be treated this way. For example, dependencies among components matter because they, explicitly or implicitly, affect the performance of some activities (e.g., designing or redesigning the components), and they can, therefore, be viewed as a source of dependencies among those activities. In general, as these examples illustrate, there may be many ways of describing different dependencies, coordination processes, and their relationships to each other [Crowston 19911. We believe that there are many opportunities for further work along these lines.
Table 2 loosely summarizes our discussion so far by listing examples of how common coordination processes have been analyzed in different disciplines. The key point of this table, and indeed of much of our discussion, is that the concepts of coordination theory can help identify similarities among concepts and results in different disciplines. These similarities, in turn, suggest how ideas can be transported back and forth across disciplinary boundaries and where opportunities exist to develop even deeper analyses.
2.3 Example: Analyzing the Task 2.3.1 A Generic Task Assignment Problem Consider the following task assignment problem. A system is producing a set of “products,” each of which requires a set of “tasks” to be performed. The tasks are of various types, and each type of task can only be performed by “server” actors specialized for that kind of task. Furthermore, the specific tasks to be performed cannot be predicted in advance; they only become known during the course of the process and then only to actors we will call “clients.” This description of the task assignment problem is certainly not universally applicable, but it is an abstract description that can be applied to many common task assignment situations. For instance, the tasks might be (1) designing, manufacturing, and marketing different kinds of automobiles or (2) processing steps in different jobs on a computer network.
2.3.2 Possible Coordination Mechanisms One (highly centralized) possibility for solving this task assignment problem is for all the clients and servers to send all their information to a central decision maker who decides which servers will perform which tasks and then notifies them accordingly. Another (highly decentralized) possibility is suggested by the competitive-bidding scheme for computer networks formalized by Smith and Davis [1981]. In this scheme, a client first broadcasts an announcement message to all potential servers. This message includes a description of the activity to be performed and the qualifications required. The potential servers then use this information to decide whether to submit a bid on the action. If they decide to bid, their bid message includes a description of their qualifications and their availability for performing the action. The client uses these bid messages to decide which server should perform the activity and then sends an award message to notify the server that is selected. Malone [1987] and Malone and Smith [ 19881 analyzed several alternative coordination mechanisms like these, each of which is analogous to a mechanism used in human organizations. In particular, they developed formal models to represent various forms of markets (centralized and decentralized) and various forms of hierarchies (based on products or functions). Then they used techniques from queuing theory and probability theory to analyze tradeoffs among these structures in terms of production costs, coordination costs, and vulnerability costs. For instance, they showed that the centralized schemes had lower coordination costs, but were more vulnerable to processor failures. Decentralized markets, on the other hand, were much less vulnerable to processor failures but had high coordination costs. And decentralized hierarchies (“product hierarchies”) had low coordination costs, but they had unused processor capacity which led to high production costs.
Gurbaxani and Whang [1991] have used ideas from agency theory to systematically analyze the effects on centralization of the reductions in coordination costs enabled by IT. They conclude that IT can lead to either centralization or decentralization, depending on how it is used.
Lines of inquiry this paper opens 19
Research framings built by reading the notes related to this paper — the questions it feeds into.
How should organizational structure guide multi-agent system design?- How do different dependency types require different coordination mechanisms?
- What makes coordination theory work across disciplines like biology and computer science?
- How does dependency classification relate to system architecture decisions?
- Can information technology enable either centralization or decentralization depending on implementation?
- What organizational structures emerge when optimization pressure targets communication patterns?
- What distinguishes a component's link to the collective from coupling among defecting components?
- Why does organizational modularity reduce coordination cost at the cost of synergy?
- Do single coordinators outperform distributed teams without explicit communication channels?
- How do we measure coordination when multiple agents act together?