» ill' V'i',- V • \ W *:• (UBSASIES, J — vV^^ . (S MAX LIBRARIES DEWEY - Dewey HD28 .M414 H A TAXONOMY OF ORGANIZATIONAL DEPENDENCIES AND COORDINATION MECHANISMS by Kevin Crowston CCS TR #174, Sloan WP# 3718-94 August 1994 ,.:«Ui3ACHIjSF: TTS li'-JS ii OF TECHNOLOGY DEC 011994 LIBRARIES rUTEi A TAXONOMY OF ORGANIZATIONAL DEPENDENCIES AND COORDINATION MECHANISMS KEVIN CROWSTON The University of Michigan School of Business Administration 701 Tappan Ann Arbor, MI 48109-1234 +1 (313) 763-2373 Fax: +1 (313) 763-5688 crowston@umich .edu August 17, 1994 USA A TAXONOMY OF ORGANIZATIONAL DEPENDENCIES AND COORDINATION MECHANISMS* ABSTRACT Interdependency and coordination have been perennial topics are related because coordination is in organization studies. The two seen as a response to problems caused by dependencies. Past studies, however, describe depaidencies and coordination mechanisms only in general terms, without characterizing in detail difference between dependencies, the problems dependencies create or proposed coordination mechanisms address those problems. This vagueness makes it how the difficult or impossible to determine what alternative coordination mechanisms might be useful in a given circumstance or to directly translate these alternative designs into specifications of individueil acHvities. In this paper activities 1 develop a taxonomy of dependency types by considering possible combinations of using resources. The taxonomy includes task-resource dependencies and three types of task-task dependencies: shared resources, producer<onsumer and alternative coordination mechanisms are described. 1 common output. For each type of dependency, conclude by discussing analyze organizational processes and suggest alternative processes. how the taxonomy helps to --^ -36 - A taxonomy of dependencies Although you will perform with different ingredients for different dishes, the same general processes are repeated over and over again. As you enlarge your repertoire, you will find that the seemingly endless babble of recipes begins to fall rather neatly into groups of theme variations... and l Zhild, Bertholleand Beck (1981, p. vii) INTRODUCTION: DEPENDENCIES AND COORDINATION Interdependency and coordination have been perennial topics in organization studies. The two are related because coordination is seen as a response to problems caused by dependencies. (Note that dependency and dependence mean the same Thompson (1967) hypothesizes adjustment —used in response tfiing; in tfiis three coordination paper, mechanisms to three different patterns of I will use the first term.) For example, —standardization, plan and mutual dependencies —pooled, sequential or reciprocal (p. 54-55). Most studies, however, describe dependencies and coordination mechanisms only in general terms, without characterizing in detail difference between dependencies, the problems dependencies create or how diffjcult or the proposed coordination mechanisms address those problems. This vagueness makes it impossible to determine what alternative coordination mechanisms might be useful in a given circumstance or to directly translate these alternative designs into specifications of individual activities or uses of information technology to support a process [Davenport & Short, 1990; Hammer, 1990; Harrison (e.g., as part of a business process redesign effort & Pratt, 1993]). For example, consider the process of fixing bugs in a software product, a process analyzed in a search for alternative coordination mechanisms. this case site, the I will use I recently examples drawn primarily from software development division of a minicomputer manufacturer, throughout this paper. Using Thompson's theory, we might note that programmers all contribute code to a final thus have a pooled dependency and that they occasionally rely on each others' product, and work, thus creating a A taxonomy of dependencies . . among specialists it many questions unanswered however. What dependencies would be left (or support that if how else might we instead of dividing the work were performed by generalists? Can we design a process which would reduce or dependent programmers need to For example, created) eliminate the sequential dependencies between programmers? be useful ^ and mutual adjustment are all used. This analysis leaves organize this process? ^, we might find, as predicted, sequential or sometimes reciprocal dependency. Furthermore, standardization, plans ' - ^ this to If not, what information do sequentially exchange and when? Would electronic mail or computer conferencing information exchange? Although past conceptions of dependency do not directly address these questions, newer perspectives in I will draw on artificial intelligence offer this work to a more precise notion of dependency which might. In this paper develop a taxonomy of different kinds of organizational dependencies and associated coordination mechanisms. Organizational research Dependencies and coordination have been studied by many organizational researchers. Researchers have t^ically conceptualized dependencies as arising between actors rather than between the tasks the actors happen to be performing. The cause of a dependency by one actor over outcomes of actions of another or due Litwak and Hylton (1962), for made this it upon they are to accomplish their goals. Victor and it in a game-tiieoretic could take and each actor's payoff depends on the combined choice of actions, thus the payoffs an actor gets is when two or more view of interdependency more precise by casting framework. Each actor has a set of actions Dependency if variously viewed as control exchanges of resources. example, define interdependency as organizations must take each other into account Blackburn (1987) to is may depend on the other actors' choice of actions. defined by "extent to which a unit's outcomes are controlled directly by or are contingent the actions of another unit" (p. 490). —— * - .* A - - taxonomy of dependencies An alternative conception is presented by f^ i McCann and ^ Ferry (1979). They similarly defined interdependency as "when actions taken by one referent system affect the actions or outcomes of another referent system" (p. 1 13)< but they operadonalized tjhe degree of dependency in terms of the amount of resources exchanged, the frequency of transactions and the value of the resources to the recipient. Dependencies usually seem to be assumed to cause problems (1957) notes that dependencies can be competitive or focilitative. out in detail. Instead, for the actors, although Thomas What these problems are rarely spelt is most authors suggest that as dependency increases, increasingly powerful coordination mechanisms are used, without specifying precisely what problems these mechanisms address. Alternately, actors might engage in actions to reduce the degree of dependency (McCann & Ferry, 1979). Most researchers have considered only one source of dependency. One exception (1974), who distinguished between knowledge. As a is Permings four different sources of dependencies: task, role/position, social and result, past research has focused more on describing patterns of dependencies rather than explicating the effects of a dependency on what actors can or should do. For example, ^k- - and reciprocal strength. He Thompson (1967) hypothesizes three patterns of dependency —pooled, sequential ... -lit —^with corresponding coordination mechanisms, which he arranged in order of increasing further suggests that organizational hierarchies will tend to cluster groups with reciprocal interdependencies most closely, then those with sequential interdependencies, and finally those with pooled interdependencies. Van de Ven, Delbecq and Koenig impersonal (plans and and discuss build are rules), of coordinating work activities (1967) including interdependaicy, that might determine which are used. They view of dependency, adding a worked on jointly and simultaneous "increases in modes personal (vertical supervision) and group (formal and informal meetings) situationcil factors, upon Thompson's (1976) identify three fourth, team arrangements, (radner than being passed back work flow interdependency from independent and forth). in which tasks They hypothesize to sequential to reciprocal to team will that, be — , ' 5-'-- .- - ^ A taxonomy of dependencies -"* - ^ , ( » ' ' --.^ _^ - • jr? associated with... large increases in the use of group coordination mechanisms" (p. 325), which they support with data from 16 offices and the headquarters of a state agency. Mintzberg (1979) describes a , similar set of coordination mechanisms: mutual adjustment, direct supervision standardization: of While work earlier processes, outputs, work They suggest formality, cooperativeness skills. typically hypothesizes a one-to-one relationship dependencies and coordination mechanisms, alternative mechanisms. norms and and and four kinds of McCann and Galbraith between patterns of (1981) discuss the jHJSsibility of that coordination strategies vary along three localization dimensions —and that as dependency increases, the amount of coordination necessary increases and as conflict increases, coordination strategies chosen become increasingly formal, controlling and They centralized. therefore propose a two-by-two matrix showing conditions under which orgcinizations will choose to coordinate by rules, mutual adjustment, hierarchy or a matrix structure. Martinez and corporations. integration Jarillo (1989) survey research on coordination mechanisms used by multinational They define a coordination mechanism as, "any administrative among different units within an orgcuiization" (p. 490) and list tool for achieving 8 mechanisms identified by past resecirchers: departmentalization, centralization or decentralization, formalization or standardization, plcmning, output socialization. to control, lateral ties, informal to implement a particular "organizational pattern" companies choose a structural configuration implement communications and (They do not, however, define integration.) They view the selection of coordination mechanisms as a way that and behavior to match their strategy (p. 502), although they suggest and then choose the mechanisms it. There have been other attempts to develop a framework for a more detailed analysis, but these have typically focused on only one kind of coordination problem. For example, Ching, Holsapple and Whinston (1992) have the goal of developing a model of coordination to determine possibilities for information system support. They contrast networks with markets and hierarchies, but the only coordination mechanisms they consider are decomposition of tasks and allocation of subtasks to members A taxonomy of dependencies of the network tfirough a bidding mechanisms extended to include the reputation of the bidding company. To summarize, most organizational conceptions of dependencies view them as arising between actors and describe patterns the actors used to and of actor-to-actor dependencies. Furthermore, and therefore the dependency as given and sought their tasks manage dependencies, although some have suggested assigning dependencies or minimize undesired ones Research in artificial intelligence In contrast to (e.g., and other most organizational as in "administrative I management theory", Simon, Researchers in activities in detail von and adopt this approach artificial intelligence tried to categorize Martial, 1989). For example, 1976). researchers, researchers in the field of artificial intelligence activities. This approach has the advantage that it allows Once an assignment is we can still determine implications of a dependency for a will mechanisms tasks in order to create desired us to easily examine implications of different patterns of task assignment. of this advantages, to identify the fields have analyzed dependency as arising between determined, however, most researchers have viewed particular actor. Because in this paper. have considered dependencies between pairs of goals or them von Martial (e.g., Wilensky, 1983; Stuart, 1985; Decker (1989) developed a taxonomy of & Lesser, 1989; relationships, both positive, such as synergies or equality, and negative, such as conflicting use of resources or logical incompatibility. He suggested several dimensions for this taxonomy, including explicit vs. implicit and resource vs. non- resource-based interactions. Alexander (1964, p. 106-107) suggests expressing the dependency between design variables (essentially goals of a design task) as a correlation coefficient. This (negative) and facilitative (positive) logically necessary or a sample considered. He dependencies. He notes furtiier that product of physical laws, while others therefore recommends that view allows may for both conflicting some dependencies may be simply be true in two variables be considered all designs in the as interacting only if "the A taxonomy of dependencies some reason designer can find should do so" .... (p. 109). (or conceptual model) which makes sense to him and tells him why they A fully specified design space forms a network of linked goals; this space can then be partition^ into weakly interacting subcomponents to be worked on indepehdentiy. , I While these researchers have catalogued dependencies, few have discussed coordination methods might be used in response to these problems. actions that can be taken to mechanisms that manage different kinds might be appropriate or provide a resource if in detail what Yu (1993) does suggest specific of dependencies. For example, he suggests one actor depends on another to achieve a goal, perform a task (p. 35). A framework for studying coordination In this paper, I attempt to develop a richer conception of organizational dependencies by using drawn from work concepts in AI. To clarify the relationship between dependencies and coordination, use the framework presented by Malone and Crowston (1994), who define coordination as "managing dependencies". They analyze group action in terms of actors performing interdependent activities achieve goals. These activities case of software bug fixing software company. In may also require or create resources of various might all to types. For example, in the mentioned above, the actors are the customers and various employees of the some cases, a group of individuals may be represented by a single actor (Abell, 1987, p. 13); for example, to simplify the analysis of a particular subunit, the other subunits v^th interacts I which be represented as collective actors. Activities include reporting a problem, diagnosing the problem, developing a fix and delivering the fix to die customer. The gocil of the process in this case —such as appearing responsive appears to be eliminating problems in the system, but alternative goals customer requests known —could also be analyzed. bugs, computer time, bug fixes Finally, resources include the to reports, information about Malone and Crowston's (1994) view, organizations face coordination problems arising from dependencies. In how bug and so on. Coordination problems and mechanisms. In constrain it many cases, actors in these dependencies the tasks can be performed. For example, a software engineer planning to change one A tajfonomy of dependencies module in a ' computer system must check any necessary changes to modules that the that will changes will not affect other ^ modules or arrange be affected; two engineers working on the same module must each be careful not to overwrite the other's changes. Alternately, the problem might be that sure that a particular dependency exists, e.g., we want actors to choose tasks to we want to be perform that will accomplish particular goals. In other cases, the dependency provides an opportvinity; for example, same bug has been reported by two and fixing the bug once and sharing Coordination mechanisms for different customers, then the if the company can save time by diagnosing the solution. may be quite specific, such as different kinds of code management systems to control changes to software, or quite general, such as hierarchies or markets to manage assignmait of activities for to actors (or other resource example, identify several them including gofl/ Therefore, a common dependencies and analyze coordination mecharusms decomposition, resource allocation different coordination mechanisms I to manage and synchronization,. In general, there are many that could be used to address the taxonomy of dependencies present the taxonomy, assignment problems). Malone and Crowston (1994), also serves as a same coordination problem. way to organize coordination mechanisms. As I will discuss possible coordination mechanisms along with die different kinds of dependency they address. To distinguish different kinds of dependencies, between. For simplicity, activities, actors I group die elements and resources of I consider what the dependencies might exist Malone and Crowston's —into two categories: (1) the objects that (1994) framework make up the world, in particular, those resources needed to perform activities (including the actors themselves); and to be achieved or an activity to be performed. In any situation there may —goals, (2) tasks, either a goal be multiple instances of each of these elements, possibly interdependent. Tasks. world) and Tasks include both achieving goals and performing activities (actions performed activities. Goals (desired states of the to achieve a particular state) are clearly different. However, analyzing activities and goals together makes clear the parallels between decomposing goals into subgoals to be achieved and decomposing them into primitive activities to be performed. A second A taxonomy of dependencies advantage of activities " ' this unification is that it eliminates tiie need to analyze performed by individuals. Treating higher-level goals as allows us to analyze assignment of goals to a subunit in the same activities to individuals. Both goals and actor (individual or collective) to which all situations to the level of primitive activities to way that be f>erformed by a subunit we consider assigning activities are descriptions of the task to it is be undertaken by the assigned. For example, an outsider (or an analyst interested company) might think of the purchasing department as j)erforming a "purchase in other parts of a materials" activity; to the members of the purchasing department, however, achieved by pwrforming numerous activities, this is a high-level goal to be such as qualifying suppliers, soliciting bids, awarding contracts, etc. More powerful conceptualizations of actions may help suggest the different ways actions interdependent. For example, a typical model of action in AI includes preconditions, world that must hold before the become activity can be fwrformed) and true or false as a result of the activity) (Fikes primitive compared to those currently used in engineers can diagnose problems, they must know the diagnosis. Of course, it is & Nilsson, clear that actions Resources. are not this analysis, know 1971). (Actually, this the symptoms world that model is relatively For example, before of the problems; afterwards, they also made to this model to handle such events although the model will never be complete. Given such a model, in several different it is ways, with different implications. include everything used or affected by activities together in this category. Things that somehow used activities of states of the states of the possible that they will be unable to diagnose the problem or that their may be dependent on each other I (i.e., artificial intelligence research.) diagnosis will be incorrect. Additional refinements can be without damaging effects (i.e., may be or affected by an activity are not considered; some actor, then they if they are not involved in the are irrelevcint to the analysis of the behaviour of that actor. Resources include both material goods and the effort of actors. For example, in the case of a car company, resources include tools, raw materials, parts, partially completed assemblies, information such as designs or process instructions as well as the effort of the employees of the company. Note particularly important kind of resource. I that actors are viewed simply as a group actors and other kinds of resources together in this way 10 A taxonomy of dependencies despite their significant differences because many of the steps necessary in assigning tasks to actors parallel those involved in assigning other kinds of resources to tasks. More abstractly, particular tool setup is particular states of the world might be considered as resources: example, if a necessary for a manufacturing task to be performed, then that setup might be considered a resource, possibly to be created by some other task. differences for between resources. The implications of some of these coordination mechanisms are discussed in Of course, there are important distinctions for the choice of more detail below. MANAGING TASK-RESOURCE DEPENDENCIES In task Malone & Crowston's (1994) framework, the important type of dependency is that between a and a resource. Recall actions, activities preconditions.) required, effect, have preconditions and The preconditions and consumed knowing what that tasks are either goals or activities the or created bug is, having a patch that by an effects. activity. more generally, states of the world) having the capability of fixing bugs, fixes the code. In turn, integrating a 1, simple model of For example, the preconditions for fixing a bug include to the source code, access to the object code of the entire system, to the (We can consider goals as having effects but no effects are the resources (or having access be shown graphically as in Figure and according etc. and omitting for the Insert Figure 1 the patch requires knowing the patch, having results in a moment etc.; new system. These dependencies might possible difference in the types of resources. about here Task uses a resource Consider first a task that requires some resource. If there is just one appropriate resource known, then that resource must be the one used. This simple case includes an actor deciding that perform a task itself or knowing only one other have problems with the operating system, actor that could perform typically their only choice is it. For example, to report the it should when customers problem to the 11 ... A taxohomy of dependencies response centre and ask them to if they knew the fix ^ s^ the bug. (Of course, customers phone number of a developer, they might would try to call that _ more options; like person directly; if for example, they had access to the source code, sophisticated customers might try to fix certain bugs themselves.) More commonly, however, of resource assignment, i.e., there are knowing a many possibly appropriate task with a precondition that satisfies the precondition. In the remainder of this section a resource whai there is I resources, creating the problem and looking for will consider the steps necessary to assign a set of resources, one of which might be appropriate. problem of assigning a task an appropriate resource I mostly discuss the be performed, but most of the steps discussed are to a particular actor to necessary to assign any kind of resource to a task. In order to assign resources to a task, the following steps (This is must be performed: 1) identifying what resources are required by 2) identifying what resources are available; 3) choosing a particular 4) assigning the resource (in the case of an actor, getting the actor to the task; set of resources; — essentially aruautline of a decision process intelligence, design work on the task). —wJbere and choice first step is divided into intelligence about the needs of the task and about the available resources.) In principle, these steps can be performed in any order. For example, tasks can be chosen that can be performed with resources available (and that achieve higher level goals). For example, one manager interviewed suggested that in software development, a manager might divide a system into modules based on the abilities of the problem. A garbage can model might suggest that all the programmers who connect more-or-less by chance (Cohen, et al., will work on them, steps rather than on some a priori division of go on simultaneously and occasionally 1972). For convenience, however, I will discuss the steps in the order listed. 12 A taxonomy of dependencies Identifi/ing necessary resources. First, the resources needed by a task must be identified. For example, determining in which module of the system a bug appears identifies the resources needed by that task (i.e., an engineer with expertise what kind of resources are available to be able module). In some cases the assigner may need specialists and to know same to characterize the task requirements along the may range between two extremes: dimension. For example, actors' roles specialist in that generalists. In a model, only one actor can perform any given task, so the needs of the task must be identified in terms of these actors' specializations. In the generalist case, any actor can perform the task. In reality, things are rarely so precise, but organizations will be located along the spectrum between these two extremes. Identifi/ing available resources. simplest case, there This may be due is Second, a set of appropriate resources must be identified. In the only one potential resource, for example, only one actor, that can perform the task. to specialization of roles of departments or individuals particular task) rather than a distribution of ability case there The may be several available resources resources, (i.e., who what resources might be appropriate (e.g., making to the assigner; the assigner some of which may be appropriate; or the assigner for the task. Obviously, there cire availability, motivation, etc. many to evaluate possible bases for supposed to do a it necessary to choose one. may know a larger set of else). Choosing a resource. Third, one particular resource must be chosen. some way is may have to spend some effort identifying by asking someone other resource from those available requires who capable of doing the task). In the general is resources that could be used for the task, may be known a priori (i.e., making To choose a particular actor or how good a particular resource v^ill be this decision, such as speed, quality, For example, assigning bug reports to the next free engineer choose a particular resource based on availability rather than expertise. Which criteria to is a way to use depends on the nature of tasks being coordinated. In some cases, it is important to consider resources are required at the are free. Numerous same when the resources are available, especially time. In this case, the choice if multiple depends on when the required resources techniques have been developed to schedule multiple resources. For example, Ripps 13 A taxonomy of dependencies (1991) presents a taxonomy of ' ; mechanisms which includes numerous mechanisms ^ ^ , .^ , for task synchronization in a real-time for transferring information & Davis, ' programming system between tasks or avoiding conflicts over resources. Sen (1993) discusses coordination mechanisrrts that might be applied resource scheduling, including contract-nets (Smith _. to distributed 1981), distributed search and multi-agent planning. Assigning resources. Finally, the assignment of the resource must be communicated to the actor As performing the task. other assigners warned actor must be told to significantly (e.g., well, for non-shareable resources, the resource to avoid conflicting assignments. perform the Where task. when the interaction individuals), the assigner may have to is must be marked as "in use" or When die resource is the effort of an actor, the the personal goals of the individual actors differ non-routine or when the actors are whole firms rather than convince the performer to do the task by designing appropriate incentives schemes or monitoring performance. Kraus (1993) discusses techniques for obtaining cooperation in non-cooperative distributed problem solving systems. In addition, as reminds the two us, "origination of action" is Whyte (1948) often complicated by the relationship or status differences between individuals. In other cases, such effort will be unnecessary. For example, legitimate requester to do task assignments in the programmed a task that companies I if employees are asked by a their definition of their job, they are likely to fits studied had this character.) simply do it. (Most Computer actors might not be to refuse requests. In other cases, of course, the conditions had to be negotiated, as with bidding for a contract v^ath an external company. Differences in these important motivational features will presumably affect cin assigner's choice of performer. Example resource allocation mechanisms. Different coordination mechanisms for resource assignment can be analyzed as particular choices resources are owmed by the organization; appropriate for a given task. based on factors known If if for these four steps. In a hierarchy, the available the resources are specialized, there may be only one the resources are generalized, the choice between to the assigner, such as workload, or be delegated to the them may be made group. In a market, the 14 A taxohomy of dependencies "" "^ available resources are those competing in the market place. Appropriate resources are identified through advertising or requesting bids and the choice between interested resources. In a network organization (Ching, the network; typically each assignment in Table is them made based on the bids submitted by the member has et al., 1992) the resources are those that belong to a particular specialization it brings to the network. The basis for reciprocal relations, rather than contracts or hierarchy. These alternatives are summarized 1. Insert Table 1 about here Task produces a resource Another kind of coordination mechanism is to choose tasks that have a particular effect, thus maintaining a goal-resource relationship between the desired resource and the tasks. To choose the tasks is a plcinning task, for which many methods have been investigated an actor must know the effect to be achieved and know (or (e.g., (Allai, et may have to 1990). In general, be able to generate) possible tasks (subgoals or primitive activities) and their preconditions and effects, and be able to choose decompositions. As well, the actor al., among multiple possible choose tasks that create needed resources (i.e., that maintains a precondition dependency, discussed below), for example by performing a meems-end analysis. For example, an engineer with a large change smaller changes made to implement might decompose the work to several different parts, e.g., to different on each of those changes independently. modules Similarly, process engineers of the system, decompose goals activity that If into activities. Alternately, appears to move closer an actor might proceed one step to the desired goal, performing multiple subtasks are performed to accomplish their results. This integration step is cmd then work decompose a design operations the assembly workers can perform to assemble the cars. There are obviously it some effect, at a time, into specific many ways to choosing an and then reassessing the it into may be necessary to situation. integrate frequently viewed as a kind of coordination task. However, I believe 15 . - i > A taxonomy of dependencies i ~ - - _ " • that integration can be viewed as simply another part of performing the into multiple subtasks, one of which may be to integrate the results. task, that modules to be submitted An integration group may be formed group knows into the final system. This working operating system and how is For example an engineer decomposes a task and requests changes from other engineers may be responsible changes together a task is, for to integrate how to recompile and * -« s^ •. decomposed who grouping the changes link the different to various modules into a to test the resulting system. MANAGING DEPENDENCIES AMONG MULTIPLE TASKS AND RESOURCES In general, of course, there are multiple tasks in this and resources paper suggests that the only way two tasks can be dependent resource. Figure 2 (the boxes); the there are three shows the =et of possible to be considered. is via some kind dependencies between two tasks (the The view proposed of circles) arrows indicate flows of a resource that are either produced or used. In ways two tasks might dependencies: overlapping Similarly, a single task effects, have something in common and common and resources this framework therefore three major kinds of overlapping preconditions and overlapping effects and preconditions. might use several resources, consume one resource cind create another or create multiple resources. Each of these cases will be considered in turn below. Insert Figure 2 about here Shared resource Two tasks are interdependent require additional additioncd work is shareablity and work to share that resource. Clearly the nature of the resource will necessary. I reusability, as Shareablity describes material, tools or effort both have the same resource as a precondition, which might if determine what consider in particular two dimensions along which resources differ: shown in Table how many 2. tasks can use the resource simultaneously. —are non-shareable. Note that an actor may be assigned to Most resources — raw multiple activities, but 16 A taxonomy of dependencies works on only one at any since multiple tasks can use the Reusability describes Some and other instant. Information same resource how many if it is states of the world are important exceptions, not changed by the tasks. tasks can use the resource over time (von Martial, 1989, p. 62). resources, such as tools or information, can be used and reused; others, such as only be used once. Of course, tools do eventually wear out; the key distinction will be able to use the resource materials. (Note the if it waits, as with tools, or no resources appear the common resource is shareable, time. For example, there materials can whether another task the resource will be gone, as with most raw both shareable and consumable.) to Insert Table 2 If if it is raw about here then there is no conflict for two actors to use it at the same two engineers can use the same piece of iriformation without any problem (although may be conflicts for the physical media on which the information is stored, a non-shareable but typically reusable resource). If the resource is not shareable, then the two tasks can not be performed simultaneously with the available resources. Additional resources the resource time. Note is must be acquired or one of the tasks selected to be performed. If reusable then the conflict can also be resolved by perfornung one of the tasks at a different in particular that this applies to an actor performing multiple tasks: the actor needs to pick an order in which to do the tasks (for example, by prioritizing them and doing the most important or urgent ones first). Managing this dependency frequently requires additional work. Since exclusion" problem in computer science, applicable. First, the conflict many physical information, must be made resources, the act of using or in a conference room many will prevent it of the solutions visible, typically developed it is for that similar to the "mutual problem may be by marking the resource as being in use. For may be sufficient (e.g., sitting in front of a computer anyone more elaborate schemes may be else from using it). For less tangible resources, terminal such as necessary. For example, a code check-out system prevents 17 A taxonomy of dependencies two engineers from modifying the same source code module at the some kind of locking mecharusm to prevent concurrent updates is same time; to a piece of information. If the resource not marked as being used, the performer of the task can so mark and then use it being used, the performer must either monitor the status of the resource until to be notified when the first task is facilities to the schedule. are frequently allocated with a sign-up might have to at the same simultaneity dependency. For example, is becomes certainly a far are used free or arrange avoid conflicting use of a to time. ail Malone and Crowston attendees of a meeting common coordination problem. , i.e., several tasks (1994) call this relation a must attend at the same time and We might model tius situation as several "attend meeting" activities joined with a simultaneity constraint, but a "hold meeting" activity marked as For example, conference rooms and one task might require the concurrent execution of anotfier task be performed meeting scheduling If it is list. The coordination mechanisms we have discussed so resource. Conversely, it it. completed. Alternately, the use of the resource might be scheduled ahead of time and both task performed according other most databases provide it seems model easier to which requires multiple resources simultaneously. (Coordination methods assigning multiple resources are considered below.) Similarly, two people lifting a piano must ends simultaneously, but this activity is probably best modelled as a lifting action Alternately, it may be necessary as for their which requires multiple people. This approach eliminates the category of simultaneity constraints but for might require the conceptual creation of an unnatural aggregate lift it some cases task. ensure that two tasks both use the same version of a resource. to For example, two designers working on the detail design of components of a product should be using the same version of all the overall design. (Note that and so are not subject resources, then the to this problem.) problem is to If consumable resources can not be used by different tasks we consider different versions choose resources to be used by the tasks of a resource to be different to ensure that there is a shared- resource dependency between Ihem. This problem seems very hard. Solutions include destroying obsolete resources, to ensure there is at all only one resource, checking the status of the resource or making a 18 A taxonomy of dependencies new copy of the problems resource prior to each use, or tolerating a certain level of disagreement and repairing after the fact. Producer-consumer If a resource is the effect of one task dependency between the two and a precondition of another then there tasks, requiring that the tasks is a precedence be performed in the correct order and the flow of the resource between the two be managed. This relationship frequently holds between steps process. For example, in software changes, fixing the bug has the effect of creating a patch which is in a a precondition for integrating the complete system. (1994) point out that precedence dependencies imply additional Crowston and Malone constraints creates in fact is —ensuring that what the task what the second needs —or an inventory constraint—ensuring that the resources needed on how tasks are performed, such as a usability constraint first by the second task are available when needed. Usability constraints can be managed by standcirdization, by negotiation between the user and creator or by giving the creator additional information about the needs of the user. For example, work in an engineering context, design and manufacturing aigineers might together to develop products that are easy to manufacture or designers might be trained in the requirements of manufacturing processes ("design for manufacturability"). Quality control tasks seen as a way of ensuring that kinds of approval processes an output of one task may also be serving this adding buffers between the two processes to the rate of use, as to is in fact the correct input for the next. function. Inventory constraints can be smooth the flow of material or tying the widi the "producer/consumer" problem in Ccin be Many other managed by rate of production computer science or just-in-time manufacturing. Alternately, a resource required another, what is by one task may be inadvertently or necessarily destroyed by called "clobbering" in the planning literature (Sussman, 1974, p. 116). In construction, for example, installing one piece of equipment may block access need to install another. Fixing the clobber 19 ; A taxonomy of dependencies ' .. can be done by reordering the steps avoid to this , problem or possibly adding an additional task to recreate the resource or state of the world. Common object The effects of two may be the same resource. This dependency can have either positive or tasks negative effects, which requires additional effort to exploit or avoid. create die same resource, then it its production. To exploit times. Rather than fixing engineers check resource or taking these possible synergies requires additional if and refixing the a reported problem same problem may be reported same problem, in a is database of tiie resource (the to a software compemy known problems. If it is, then the already which would create a duplicate tasks specify different aspects of a common resource, then may it be necessary to additional task of negotiating a mutually acceptable output. For example, the interface between common object created by developing the two modules. Finally, then it may be more detail below: at the same the design of the modules, if may be negotiated by add an two the engineers the effects conflict, for example, both doing a task and not doing impossible to perform both tasks. Possible resolutions of this dependency are interestingly similar to the case in known bug fix). two modules, a multiple customer service centre and marketing solution to the problem can simply be reused, thus eliminating a task it, i.e., such as checking for duplication before one or both of the tasks have been performed and distributing the output. For example, the If both tasks do the same thing, may be desirable to merge the two tasks, reusing the advantage of econorrues of scale in activities, If either where two tasks both require the same non-shareable resource, discussed abandoning one task or scheduling them so they do not have to be achieved time. Dependencies between one task and multiple resources The three cases where a task is — dependent on multiple resources producing two resource or using one resource and producing another either using —seem to be less two resource, problematic than 20 - A taxonomy of cfependencies the cases discussed above. Of the three, only the i^ first seems to pose ~ difficulties. In this case, there is a to synchronize the availability of multiple resources. For example, multiple people attending a need meeting can be modelled as a "hold meeting" task that requires several peoples' efforts simultaneously, as discussed above; most production activities require an actor, raw materials and tools simultaneously. This dependency can be managed by f>ermanently assigning all resources, or one, to the task. For example, a production activity might always be performed which always operated by a particular is single resource, as discussed above. activities. In this case, the actor. In this case, this on a all resources but particular machine, dependency reduces to a task More generally, some of the resources may be used by dependency is typically managed by scheduling using a multiple die use of the resources, as discussed above. As well, computer scientists have develof)ed algorithms for assigning resources to avoid deadlock (a condition where one task waiting for the first) is waiting for a resource held by the another, which in turn and starvation (where a task waits forever for the resources it needs to is become available). Multiple modes of use A resource may appear as both a precondition and effect of some task; for example, modification or consumption of a resource can be modelled this way. The resulting dependencies are the combination of the dependencies from the individual operations. software module effect-effect (a shareable/reusable resource) must dependencies. dependency causes no might. If Two engineers who both want From we can see that the both can read the module freely), precondition-precondition but the effect-effect dependency they are both making the identical change, then one of the tasks can be eliminated; otherwise, they will have to negotiate to ensure the resulting module fixed). Alternately, the module could be viewed so one makes changes and then the is acceptable to both (i.e., that both bugs are as a non-shareable/ reusable resource. In this case, the precondition-precondition dependency must be managed, module modify a single manage both precondition-precondition and the previous discussion conflict (they to e.g., by scheduling the engineers' use of the other. 21 A tax5nomy of dependencies '.^ -. „ DEPENDENCIES BETWEEN TASKS OR BETWEEN RESOURCES In developing this taxonomy, model would include dependencies alternative particular, both tasks tasks can be decomposed into subtasks, between tasks and subtasks, that However, there does not app>ear the in the set of coordination number of dependencies It is together in that arise task, is, to a and an be to much mechanisms hierarchies: higher-level object into components. planning might be viewed as a way choose a way set of activities that difference between applicable. It is this manage to interdependencies are managing the the relationship accomplish a desired task. view and the view proposed in this probably conceptually simpler to minimize considered. also possible for different resources to be interdependent, for example, some kind An between tasks or between resources. In and resources can be thought of as forming decomposition Given such a model of a paper considered only dependencies between tasks and resources. I by being connected of assembly, such as the parts of a car or of a computer system. These clecirly interfaces important: an essential part of change management, for example, between parts to ensure that changes to one part do not is interfere with the function of another. It is probably simplest to think of these interdependencies as forming components into a larger resource and then analyzing the dependencies as created by that resource. In other words, if two tasks use different resources that are interdependent in this way, then the two tasks can be analyzed as both depending on a larger common resource. Conversely, two tasks resource because they are each dependent on components of a cooking tasks (e.g., more complex may both appear to consume an orange, because one requires pulp. Schelling (1978) describes a system may appear to be using a common numerous instances where an the racial composition of a neighbourhood) subcomponent of the system (e.g., one person deciding to and activity affects move in or resource. For example, its rind and the other two its depends on the macro properties it indirectly of by changing a out of the neighbourhood). 22 A taxonomy of dependencies Nevertheless, exist. it is clear that to these dependencies, actors must For example, for engineering change management, engineers must spend which other engineers need to manage to be informed of a proposed change to a first identify that they some effort part. Alternately, an actor may have choose or create another resource that maintains the given dependency. For example, large system, engineers may need to choose component parts that maintain desired to identify in designing a relations. DISCUSSION The framev^ork presented here makes a a coordination it. theoretical claim about the design of organizations: given problem caused by a dependency, some coordination mechanism This claim has implication for the cinalysis and design of organizations. process, used to it is is necessary to manage To analyze an organizational important to identify the dependencies that arise and the coordination mechanisms that are manage those dependencies. Fortunately, as Simon (1981) points out, in practice "most things are only weakly connected with most other things; for a tolerable description of reality only a tiny fraction of all possible interactions needs to be taken into account" (p. 221), what he calls (he "empty world hypothesis". To design a new process, it will be useful could be used to nwiage those dependencies. what ways can to consider alternative coordination mechanisms that One question I posed at the beginning of a given organization be arranged differently while achieving the same this paper was, in goals? Understanding the coordination problems addressed by an organization suggests alternative coordination mechanisms that could be used, thus creating a space of possible forms. look for more systematic approaches concrete example, 1 will discuss the and consider other ways the One approach is methods to to searching this way problem task could is to useful to reports are assigned to software engineeis to be fixed have been organized. to identify the basic steps of the task to develop a patch may be design space. Several strategies are apparent. As a be performed and add coordination manage problematic dependencies. For example, we might decide change process It to fix a set of symptoms, which involves that at a primary goal of the minimum diagnosing 23 A taxonomy of dependencies the bug, writing who initially unable to new code and knows about perform integrating tfiat code with the this task, the user of the this task because of a lack of system skills, rest of the system. However, the person who has encountered a correct tools, etc. Therefore, problem, ti|iere is is usually a problematic dependency between the task and those resources, requiring a resource assignment coordination mechanism to find the appropriate resources. For the customer, a the only other actor the customer knows about is simple mechanism can be chosen, since the company's supf>ort group. This analysis can be then repeated for the other activities and actors involved. As .; ^ . • well, alternative assignments of abilities can be considered. For example, custonr>ers could be given the means to do some of the work themselves; for example, some companies provide customers access to their database of known bugs, allowing the customers to see if their problem has already been reported and perhaps find a solution. Facilitative coordination mechanisms can also be added. For example, since one possibility is checking to see already known. In the initially if a solution is by the service centre that this task staff, is actually a duplicate of company I some other task, studied, this check but in principle, anyone could do it it might be worth was performed (including, as discussed above, the customer). A second approach would be to start with existing organization and modify substituting different coordination mechanisms for those currently used. redundant steps or mismatches between tasks and actors' skills. For it incrementally by As well, one could look for example, many of the actors in the mini-computer manufacturer perform some part of a task assignment mecharusm to assign the task engineer with the appropriate skills. In are generalists rather than specialists other companies (and other parts of the and task assignment This system has the advcuitage of spreading the workload is to an same company) engineers based on workload rather than expertise. more evenly and reducing the need for engineers to coordinate changes for one bug, but does not promote or take advantage of any expertise engineers might have. A more radical change might be to problem use some kind reports. In this case, a description of each of market-like task assignment system for problem report would be sent to all available or 24 * - ^ . « A taxonomy of dependencies interested engineers. Engineers who couid how much it would to fix the bug, be assigned the task. This fix the bug would submit a what they would cost or even would be given them. Second, there must be a Finally, the assigner need some way and cost) to also shows what common how communicate with the task Additional substitutions might be it. and long it would long The lowest bidder would generalist systems: at is necessary to perform this kind it performers and be able to would take For their part, the performers need to to fix the problem (or how much it possible by the use of information technology. For example, while market-like mechanisms have theoretical performance advantages, the disadvcmtage and evaluated, etc. any assigner. made that there are expensive to run: each report take language in which the tasks can be described. to evaluate the bids returned. be able to evaluate each task and estimate would specialist know which actors are potential of task assignment. First, assigners need to v^ath do how the task. The analysis of the coordination mechanisms communicate bid, saying charg:: to system would have the benefits of both point, the best person available i must be read by multiple engineers, bids must be is collected However, many of these steps could be automated, thus reducing the cost of the scheme, perhaps enough to make it attractive. For example, engineers could use rules to filter out desirable or undesirable tasks (Malone, et al.,«1989); bj^s could be automaticaUj: collected and,tasks ^ assigned. Many coordination mecharusms create the need up list for a resource or a centralized information is list to access or of reported problems and bug fixes. Traditionally such kept on paper and can therefore be kept up-to-date only be in one place, either centralized, which makes choosing among multiple resources easier or decentralized, particular resource easier. Either approach requires additional technology update information, such as a sign- may make it possible to do work which makes accessing a to share the resources. Information both. 25 A taxonomy of dependencies CONCLUSION In this paper, This taxonomy (activities is I present a taxonomy of dependencies and associated coordination mechanisms. based on a simple ontology which includes resources (actors or other objects) and tasks or goals to be accomplished). For simple task-resource dependencies, analyzing the steps in resource assignment mechanisms. considering The how a common resource is resulting dependencies present a framework for More complex dependencies used by the two tasks or how one are analyzed by task can use multiple resources. and coordination mechanisms are summarized Insert Table 3 I in Table 3. about here Evaluation of contribution Since a taxonomy per se is not a theory (Bacharach, 1989, p. 497), my primary focus has been on the theoretical constructs, namely dependencies, the problems created by dependencies coordination mechanisms actors use to manage those problems. Although Doty 1994) suggest that a typology Ccm be a theory, their analysis relate characteristics of those organizations to performance and is is of typologies of some dependent variable, such of this constructs are distinct from each other. characterizes coordination work should be on whole organizations that the quality of these constructs: their validity The taxonomy probably methods on the reasons to choose what to do. basis of a small errs number on the dependencies should fit As into well, the seems clear that these parsimony since it of factors, while obviously there are On the other hand, as (Bacharach, a critical basis for cumulative research". It side of 1989,p. 500) says, most abstract and broad perspectives on organizations, while not necessarily all & Click, as organizational (Bacharach, 1989, p. 497), comprehensiveness and parsimony (Whetten, 1989). sense that and Click (Doty not directly applicable to the taxonomy presented here. The primary evaluation many and the taxonomy attempts to "some rich in detail, of the have provided be comprehensive, in the one or another of the three categories. Clearly, additional 26 A taxonomy of dependencies dependencies and coordination mechanisms need the taxonomy seems to to be added and the categories further refined. Finally, be useful, as discussed above. Future research Much remains to be done. The focus on processes suggests that examples of processes the coordination compare the coordination problems to likely to is mechanisms However, that arise (Malone, et al., to collect 1993) many and identify it is ^'<=o to of be substantial overlap. For example, do Japanese companies use a manage engineering changes? irrportant to identify the limitations of this work. focused on tasks. Organizations that do not perform tasks tasks (for important mechanisms used. Other kinds of orgeinizations may have somewhat different kinds problems, although there different set of it is example software requirements analysis for may not find diese The overall framework mechanisms complex computer systems) seems useful. to is Some be more about developing a shared understanding of the tasks and dependencies as opposed to actually performing them (Kammerer Even with these better understanding of designing 1993). limitations, the initial results of this what is necessary for coordination new computer applications, for explaining perceived If & Crowston, for analyzing the work should be may useful in several ways. A provide a more principled approach for way organizations are currently coordinated and problems with existing approaches better formalized, the kind of analysis sketched to coordination. above could be incorporated into an expert support system. Such a system, given a task to be performed and the set of actors available, would suggest alternative ways to organize the actors or work out the implications of particular organizational designs. Based coordination on the recipes for different coordination mechanisms, the system work each agent would do and even what kinds of support systems systematically exploring the space of possible coordination strategies, entirely new organizational forms, forms that are more would suggest what would be we may even be useful. By able to discover efficient, flexible or satisfying to their members. 27 .<^ »4- <-4 A taxonomy of dependencies REFERENCES Abell, P. 1987. The Syntax of Social Life ; The Theory and Method of Comparative Narratives Nev^ . York: Clarendon Press. Alexander, C. 1964. Notes on the Synthesis of Form Cambridge, . Allen, J., Hendler, Bacharach, Ching, J., & Tate, A. (Eds.). S. B. 1989. Review. Child, J. 1990. MA: Harvard University Press. Readings in Planning San Mateo, CA: Morgan Kaufmann. . Organizational theories: Some criteria for evaluation. Academy of Management 14(4): 496-515. Bertholle, L. C, Holsapple, & Beck, S. C. 1981. Mastering the Art of French Cooking W. & Whinston, A. B. 1992. Modeling . New York: Alfred A. Network Organizations: Knopf. A Basis for Exploring Computer Support Coordination Possibilities Unpublished mfinuscript. Decision . & Information Systems, College of Business, Arizona State Univeristy. Cohen, M. D., March, J. & Olsen, G. J. Administrative Science Ouarterly. Davenport, T. H. & Short, E. 1990. J. Decker, K. S. & Lesser, V. R. control. In M. Benda 1989. (Ed.), 17: 1-25. The new business process redesign. Sloan A garbage can model of organizational choice. P. 1972. industrial engineering: Information technology Management Review. 31(4): Some initial CDPS network Proceedings of the Ninth Workshop on Distributed Artificial : & Click, W. H. 11-27. thoughts on a generic architecture of Intelligence 73-94. Rosario Resort, Eastsound, Doty, D. H. and 1994. Typologies as a understanding and modeling. WA. unique form of theory building: Toward improved Academy of Management Review. 19(2): 230-251. 29 A taxonomy of dependencies Fikes, R. E. & Nilsson, N. problem solving. Hammer, M. J. -» '* 1971. STRIPS: A new approach to the application of theorem proving to Artificial Intelligence. 2: 198-208. 1990. Reengineering work: Don't automate, obliterate. Harvard Business Reviewduly- August): 104-112. Harrison, D. B. & Pratt, M. D. 1993. A methodology for reengineering business. Planning Review. 21(2): 6-11. Kammerer, & Crowston, K. 1993. E. Coordination and Collective Mind in Software Requirements Development Unpublished manuscript. University of Michigan, School of Business. . Kraus, S. Agents contracting tasks 1993. in non-collaborative environments. In Proceedinf Eleventh National Conference on Artificial Intelligence 243-248. Washington, EXZ: : Press/MIT Litwak, E. AAAI Press. & Hylton, L. F. 1962. Interorganizational analysis: Administrative Sciences Quarterly. Malone, T. W. of tl.s & Crowston, K. 1994. A hypothesis on coordinating agencies. 395-420. 6(4): Toward an interdisciplinary theory of coordination. Computing Surveys. 26(1): 87-119. Malone, T. W., Grant, K. R., Lai, K.-Y., Rao, R. & Rosenblitt, D. 1989. The Information Lens: An system for information sharing and coordination. In M. H. Olson Work Group Martinez, McCann, J. . & Jarillo, J. I. research. Collaboration Hillsdale, NJ: Lawrence Eribaum J. C. 1989. The evolution of research (Eds.), intelligent Technological Support for & Associates. on coordination mechanisms in multinational loumal of International Business Studies 489-514. E. Academy : & Ferry, D. of L. 1979. An approach Management Review. 4(1): for assessing and managing inter-unit interdependence. 113-119. 30 . A taxonomy of dependencies McCann, J. (Eds.), E. & Galbraith, The Handbook J. R. 1981. Interdepartmental relations. In P. C. of Organizational Design (Vol. 2): 60-84. Mintzberg, H. 1979. The Structiiring of Organizations Englewood . Pennings, J. 1974. Differentiation. Interdependence Nystrom & W. H. Starbuck New York: Oxford University Press. Cliffs, NJ: Prentice-Hall. and Performance in Formal Organizations Paper . presented at American Sociological Association Annual Conference, Montreal, Camegie-Mellon University. Ripps, D. L. 1991. Task coordination: Specific methods, general principles. Schelling, T. C. 1978. Sen, S. Micromotives and Macrobehavior . EDN (March 1): 97-110. New York: Norton. 1993. Predicting Tradeoffs in Contract-Based Distributed Scheduling, Dissertation, University of Michigan, Department of Computer Science and Engineering. Simon, H. A. 1976. Administrative Behavior (3rd Simon, H. A. 1981. Sciences of the Smith, P.. G- ed.). Artificial (2nd ed.). New York: Free Press. Cambridge: MIT Press. & Davis, R?-1981. Frameworks for cooperation in distributed problem solvi^^. Transactions on Systems. Stuart, C. 1985. An Man and J. IEEE Cybernetics. 11(1): 61-70. implementation of a multi-agent plan synchronizer. In Proceedings of the Ninth International loint Conference Sussman, G. Unpublished Doctoral 1974. on Artificial The Virtuous Nature Intelligence (IICAI-85) 1031-1033. of Bugs. In : J. Allen, J. Hendler & A. Tate (Eds.), Reading s in Planning 111-117. San Mateo, CA: Morgan Kaufmann. : Thomas, J. 1957. Effects of facilitative role interdependence on group functioning. Human Re lations. 19: 347-366. 31 A taxonomy of dependencies Thompson, J. D. 1967. . Organizations — , -- Theory in Action; Social Science Bases of Administrative . New York: McGraw-Hill. Van de Ven, A. H., Delbecq, A. L. organizations. Victor, B. 1976. Determinants of coordination American Sociological Review. & Blackburn, R. S. Management Review. von & Koenig, R., Jr. 1987. Interdejjendence: 12(3): 41(ApriI): 322-338. An alternative conceptualization. Academy of 486-498. M. Benda Martial, F. 1989. Multiagent plan relationships. In Workshop on Distributed (Ed.), Proceedings of the Ninth Artificial Intelligence 59-72. Rosario Resort, Eastsound, : Whetten, O. A. 1989. What constitutes a theoretical contribution? 14(4): modes within Academy of WA. Management Review. 49(M95. Whyte, W. F. 1948. Human Relations in the Restaurant Industry Wilensky, R. 1983. Planning and Understanding: Reading, Yu,"E. 1993. MA: New York: McGraw-Hill. A Computational Approach to Human Reasoning . Addison-Wesley. Modeling organizations Requirements Engineering Method . for information systems requirements engineering. In Pfoc. of '93: 34-41. of Comparative Narratives. . Abell, P. (1987). The Syntax of Social Life : The Theory and New York: Clarendon Press. 32 A taxonomy of dependencies TABLES AND RGURES FIGURE 1 Tasks use or produce resources. ^ D ^^^SOy^Cl^^ Kii5UUKL.t I PRODUCES A RESOURCE 33 —* A taxonomy of dependencies TABLE 1 1 A taxonomy of dependencies nGURE2 Dependencies between multiple tasks and resources O TASKS \n/ SHARED RESOURCE A TASK CONSUMES MULTIPLt RESOURCES PRODUCER/ CONSUMER O TASK CONSUMES ONE RESOURCE AND PRODUCES ANOTHER RESOURCES COMMON OBJECT A TASKS RESOURCES TASK PRODUCES MULTIPLE RESOURCES 35 A taxonomy of dependencies TABLE 2 Examples of resources Reusable Consumable classified by shareability and reusability. Shareable Non-shareable Information: designs, Tools: test systems, meeting problem repwrts, fixes rooms Raw materials: components, assemblies 36 Mir I IBRAHU S A taxonomy of dependencies 3 TDflO aOflM3QT2 5 TABLE 3 Summary of dependencies and Dq)endency coordination mechanis.ms. To manage Sample coordination mechanism dependency a Task-resource task uses a resource resource assignment (identifying necessary and available resources, choosing resources, marking resources in use) Common effects same look for duplicate tasks merge tasks or pick one to do overlapping negotiate a mutually agreeable result conflicting pick one task to do Common preconditions same shareable resource no reusable resource make conflict conflict visible schedule use of the resource non-reusable resource acquire more resources or pick one task to do Effect of one is precondition of other manage flow of resource or add another task to order tasks and same conflicting reorder tasks repair the precondition To maintain a dependency Task-resource task creates a resource Common effects pick tasks that accomplish desired goals decompose a task into subtasks (possibly including integration) Common preconditions ensure same version of resource Effect of one means-ends analysis is precondition of other 37 2176 n3/^ Date Due 0ji^^ SEP 3 1937 Lib-26-67