We report on the first five years of work
(1) developing methodologies and software tools for
representing and codifying organizational processes at
varying levels of abstraction and (2) collecting,
organizing, and analyzing numerous examples of how different
groups and companies perform similar functions. The result
of this work is an on-line "process handbook" which people
interested in improving organizational processes can consult
to find a variety of alternative ways for performing
particular processes, along with experiences and guidelines
about which alternatives work best in which situations.
In order to develop a system that could be used in the ways described above, the key theoretical challenge was to develop techniques for representing processes. Practically all process representation techniques (including ours) use the notion of decomposition: that a process can be broken down (or "decomposed") into subparts (or "subactivities"). In addition to this conventional concept of decomposition, however, our representation also includes the concept of specialization: that a process can be differentiated (or "specialized") into various specializations (or "types"), as in many object-oriented languages. Thus, a subactivity represents a part of a process; a specialization represents a "way of" doing the process.
As well, we have found it useful to combine specializations into what we call "bundles" of related alternatives. These bundles do not have a direct parallel in traditional object-oriented languages; however, they are comparable to "facets" in information science (Rowley, 1992). For example, one bundle of specializations for "Sell something" is related to how the sale is made: direct mail, retail storefront, or direct sales force. Another bundle of specializations has to do with what is being sold: beer, automotive components, financial services, etc. Bundles are used as a framework for comparing and generating alternative processes; e.g., the Handbook will suggest considering different ways of selling something, but not selling via direct mail instead of selling beer.
Representing processes in a specialization hierarchy has a number of significant benefits over previous process representation techniques. First, as in object-oriented programming, specialization can substantially reduce the amount of work necessary to represent a new process. By simply identifying a more general process that the new process is intended to specialize, most of the information about the new process can be automatically inherited and only the changes need to be explicitly entered. Second, the specialization hierarchy provides a framework within which users can generate process alternatives. Users can move up the hierarchy to find more general instances of the same process, and across the hierarchy to find closely related alternatives (siblings and cousins). The generative power of the representation comes from classifying functionally related processes together in the same portion of the hierarchy. Merely collecting descriptions of how different companies sell consulting services, for example, would probably identify numerous examples of direct sales and perhaps mail advertising techniques. But organizing these examples in the specialization hierarchy along with other kinds of sales processes quickly leads users who are interested in more radical alternatives to options like retail storefront selling, even if no cases of consulting firms using this method had been observed.
The combination of specialization and decomposition is particularly powerful. Users can browse the handbook for alternatives at various levels of abstraction, which greatly enhances the ability to combine existing process descriptions and generate new ones. For example, a subactivity of selling is informing customers; a user might consider alternatives for this specific subactivity while keeping the rest of the process intact, and thus consider alternative media for advertising. Similarly, if a generic process for obtaining orders via the Internet were added, this alternative would become available in all sales processes throughout the hierarchy.
The second key concept we are using is the notion from coordination theory (e.g., Malone & Crowston, 1994) that coordination can be defined as managing dependencies among activities. From this perspective, we can characterize different kinds of dependencies and the alternative coordination processes that can manage them. Such coordination processes are both ubiquitous (i.e., the same mechanisms are found in many different processes) and variable (i.e., there are many different mechanisms that can be used to manage a particular dependency). Therefore, identifying dependencies and coordination mechanisms offers special leverage for redesigning processes. The power of analyzing processes in terms of dependencies and coordination mechanisms is greatly increased by access to a rich library of alternative coordination mechanisms for different kinds of dependencies. Therefore, a critical component of the process handbook is a library of generic coordination mechanisms.
The concepts of specialization and coordination have been used to suggest new ways of organizing common business processes. For example, Crowston (in press) analyzed dependencies and coordination mechanisms in the software bug fixing process of a mini-computer manufacturer's operating system division. Based on this analysis, he suggested alternative processes, such as: (1) replacing managerial approval of proposed changes, viewed as a mechanism for ensuring the usability of the change, with an alternative quality control mechanism or (2) replacing assignment of tasks to specialists with a system based on generalists or even bidders in an internal market. In general, the handbook provides generic alternatives, such as automation and outsourcing, for wide variety of different processes because these are common specializations of existing processes.
To date, the most visible product of our project is a series of software tools for storing and manipulating process descriptions. The core system manages the database of process descriptions and displays and edits selected entries. Our current system is implemented under the Microsoft Windows operating system using Microsoft's Visual Basic programming language, numerous third-party modules for that environment (i.e., VBXs), and several productivity tools such as the Visio drawing tool. The process descriptions are stored in a relational database (currently Microsoft Access) with an interface layer above the database that represents processes using the concepts described above. The Windows interfaces allows users to retrieve, view and edit process descriptions as well as adding new specializations. We have also developed a World Wide Web interface allows users of standard Web browsers to view (but not change) the contents of the Process Handbook from anywhere on the Internet.
To increase the potential sources and uses for process descriptions in the handbook, we organized a working group, that developed a Process Interchange Format (PIF) for moving process descriptions between systems that use diverse representations. Via PIF, a process in one system (e.g. a process modeller) can be used by another (say, a simulator), whose result in turn can be used by yet another system. Each system uses as much as possible of the process descriptions and passes on information it cannot "understand" to other systems.
To test the feasibility of our approach it was critical to enter significant numbers of process descriptions into the system. The handbook currently contains over 2000 activities, some from specific organizations and some generic processes. As of November 1996, we have entered process descriptions from about 40 specific organizations, ranging from a Mexican beer factory, to automobile parts manufacturing, to the purchasing of university supplies, to the role of unions in organizational change projects. The entries also include a variety of examples of "interesting organizations" for which descriptions were collected as part of an MIT research initiative on "Inventing the Organizations of the 21st Century." This diversity of examples illustrates the range of processes for which our approach is feasible. To take advantage of inheritance and to help find useful process analogies, we need to integrate specific process examples, like those described above, into a more general framework. For this purpose, we included several generic business process models in the handbook, of which the specific processes entered are specializations.
There is, of course, much more work to be done to develop and test the ideas described here. For example, better tools for process analysis and editing need to be created, more information content needs to be added to the Process Handbook, and systematic tests of how the ideas can be applied in different kinds of situations need to be performed. However, we believe that our work so far has demonstrated the basic feasibility and contribution of the approach and its potential for significant further progress. We hope, for example, that this research will provide a set of intellectual tools and an extensive database to help people learn about organizations, invent new kinds of organizations, improve existing processes, and automatically generate software. Perhaps most importantly, we hope this research will help us understand the possibilities for creating new kinds of organizations that are not only more effective, but also, more fulfilling for their members.