From: AAAI Technical Report SS-94-07. Compilation copyright © 1994, AAAI (www.aaai.org). All rights reserved. Human-Centered Enterprise Architectures Miroslav Benda, Ph.D. Enterprise Architect Boeing Commercial Airplane Group P.O.Box 3707, M/S 6H-WW Seattle, W~98124 Thetop level diagramof the three components is: Introduction This paper deals with the problem of structuring the relationship between computing architecture and the architecture of business processes. Structure follows strategy. Thestrategy that I take is inspiredby the notionof pull systems for manufacturing production; I ask these questions: Enterprise Architecture 1. Canwe define a pull system between the information systemof an enterprise and its businessprocesses? I ..... 2. If so, will weachieve improvements as dramatic as pull systemsare achievingin manufacturing? The answerto the first question generates newparadigms for the interaction of businessprocessesandthe information system. Withrespect to the secondquestion, I haveno doubt about Pull andPushSystems the significant improvements.Having been involved in "pushing"technology,the analysis containedin this paper helped to makeit crystal clear for mewhythe technology For me, the essence of pull and pushsystemsis depicted in transfer processis so frustrating. I amcertain of substantial the followingdiagram: savings if wealign research and technologydevelopments exclusivelywith businessprocessesand pull technologyinto them as part of an overall strategy linking information systemsand businessprocesses. EnterpriseArchitecture Enterprise architecture is a frameworkof relationships between business processes of the enterprise, human organizations, and the informationsystemof the enterprise (see [I]). Its purposeis to structure the relationships betweenpeople, processes and technology--the three main "components of an enterprise"-- so that the enterprise can effectively react and take advantageof external andinternal changesin business and technologyenvironments.Business process and humanorganizations are enterprise-internal components, while technologyis an external variable. 1 Pull System (a global planning system) ...................................................................................... Push System materiel ............. "~ information Themateriel arrowsdefine the direction of the flow: thus A is upstreamfrom B, and C is downstreamof B. In a pull systeman activity is triggered by a downstream event; in a pushsystem an activity is triggered by an upstreamevent and global information. The essential difference between the two systemscan be summarized by three properties of pull systems: that they are changingat different rates, there is a shearing force betweenthem,but this is a different story. This is wherethe principle of insertion comesinto play. Whatweneed is at least one fairly constant intermediate stepping stone for whichthe flows can effectively act as a pull system. Whilethe information system(and processes) have changeddrastically in the recent past, humanmental and physical capabilities havebeenconstant for a numberof Pull systemproperties: millenniaandprobablywill be constant for several centuries capabilities are an absolute constraint on Locality: Activity in a cell dependsonly on information to come. Human both the information system and business processes: no one received from its downstream neighbors. can rivet with his right hand while programming with his left; humansdo providethe required "bolting to the floor". Composition:If A <=>B and C <=> D are pull systems Thesequenceof components, therefore, is: and wedefine the relationship betweenB and C so that B is "triggered" by C then A <=> B <=> C <=> D is a pull system. Insertion: To define a pull system betweenA and C it is enoughto define B and pull systemsA <=>B and B <=>C. r....... , F! Information System 1 ~ Users Business Processes Let menowrephrase the primaryquestion of this paper by a morespecific question: To what extent can we makethe enterprise architecture a pull system? To answerthis question we need to place the three basic components of an enterprise in sequenceof "materiel" flows. Theoretically,there are six (3 I) possibleseries of these three components.However,pull systems strategy dictates that customersof the enterprise needto providethe requisite pull on the enterprise; the pull is exertedvia the productsof the enterprise. Hence,the BusinessProcesscomponent has to be placed to most downstream. The information system component then is upstreamof this component: Business Processes Information System I ! Now,there are just two possibilities to place the third component, humans, into the picture. Weplace this component betweenthe other twofor the followingreasons: The question now becomes whether we can define "material" and information flows so that the resulting systembecomesa pull system.This is an iterative process; a reasonablecut at the first iteration is to go first downstream followingthe "material" flows, from InformationSystemto Usersto Processes, and then upstream,Processesto Usersto InformationSystem,defining the informationtriggers. As a navigation aid for the journey I shall rely on an analogy with manufacturing where the notion of pull systems originated. Theflow of materielin this situation starts with the informationsystemand weneed to go to the next level of detail here. An information system consists of three components: applications, data, and the delivery system. These componentscorrespond to componentsin manufacturing systems. The delivery system provides the information processing power;it is a utility very muchlike the electrical poweror water supply utility in manufacturing.It is interesting to comparethe trend fromcentralized processingto distributed computingwith the transition (in the early 1900sfactories) from a central source of mechanicalpowerdistributed to individual machine tools by belts and crankshafts to machinetools with their ownelectrical motors. The gap between the information system and business processes is enormousand it is difficult to describe the Data (and information and knowledge) are what linkage and the flows between the systems. Moreover, informationsystemaccepts as inputs and whatit produces. unlike in manufacturing,the information and the process The terabytes of data containing the product and process systemsare not bolted to the floor like machinetools, they are constantly changing- whatis even morefrustrating is definition of the Boeing777 for example,are a product of information appliances. There are two ways of providing them. Oneis to provide the appliances themselvesand the the 777 informationsystem. other is to provide componentsfrom whichthe appliance Data is "workedon" by applications. Applicationsare used can be assembled.Theease of integration is the determining by the users of the informationsystemto acquire, generate, factor for preferring onemodeof operation over another. If process, and store data and information. They clearly the integration is easy then "assemble-to-order"strategy correspond to machinetools that process "material". To wouldbe most effective; the Microsofisand Lotuses of the keep the correspondenceof applications and machinetools world wouldprovide their wordprocessing and spreadsheet visible I otlen refer to applications as information engines and wewouldintegrate these into packagesuseful to our purpose. Onthe other side of the spectrum,we get appliances. appliances custommadefor the job, legacy systems, where the integration and the componentsthemselvesare custom Thetable summarizesthe analogy. madeand not reusable. Manufacturing Information System electricity, facilities the defivery system Users to Processes flow: Tasks First note that the flow is fromusers to processesand not fromusers to other users. To coin a phrase, the process is the customer.. Andit makessense; process owners and organizations comeand go, but well-defined processes Simplifying:To cover all aspects of the situation weshould remain. do nowis to divide the discussioninto three separate flows: one correspondingto the delivery system, one to data, and The value-addedprovided by the users of the information one to information appliances. The approachto analyzing system to processes has manyforms: a CADdrawing of a the application of pull systemson enterprise architecture component, aerodynamics analysis, heat treatment can be illustrated by any one of these flows. I choose specificationfor a part, order for spareparts, cost estimate, applications, or informationappliances, becausethat flow etc. Whatexactly is expectedfroman individual dependson has the right degree of complexity. A few wordsabout the the clarity with whichthe expectations of a process are other two components, the delivery systemand data: defined. materials, components lathes,drill data, information applications Withrespect to delivery systems, pull mechanisms are easy to imagine because weare already dealing with physical devices. Delivery systemsprovisioning actually workslike the quintessential pull system,the supermarket:the taste for potato chips pulls the productionin the fields of Idahovery much like the demandfor computer chips pulls the productionof silicon fromOregonsand dunes. Thesituation with data is considerablymorecomplex.Even a cursory analysis showsthat there is a need for another level of distinction to be able to deal with user pull on data in a coherent manner. Moreover, the analogy with manufacturing suggests that it will require a hybrid pnsh/pull system; a global productioncontrol systemcannot be based only on pull. The extensive literature on hybrid push/pull systems will undoubtedly suggest useful approachesfor dealing with data in informationsystems. Let us define a task as an "atomicprocess". Atask could be "write a memo","put a screw there", "computesurface normals";it is an activity that wewill not decompose any further. For a definition of a pull system we need a comprehensivelist of tasks. This is the equivalent of materiel and componentsin a manufacturingsetting. My estimate is that at a useful level of granularity wewould havetens of thousandsof these "components" at the most. Processes to Users flow: Jobs As long as there are no changesto processes to whichan individual contributes, there is no needto for anyvisible changesin the application suite at his/her disposal (except perhaps for continuousimprovement activity). Changesdue to advancein technologyshouldbe transparent. In the rest of our discussion here we concentrate on If there is a changein a business processes to whichan individual contributes, this mayrequire newinformation applications, informationappliances. appliances on his/her desktop. Whatis the information, flowingfrom processesto users, that wouldsignal the need Information System to Users Flow: Components for a newappliance? To execute their jobs for business processes from the information perspective, users need applications, A process consumesresources to achieve its results. An individual contributes to the process by executingselected tasks of the process. Executableprocesses, in addition to sequencingtheir tasks, also assign resourcesrequired by the tasks; in particular, individuals whoare to perform the tasks. Annindividual is typically engaged in several processes. Whenwe collect all the tasks required by all processes to whichan individual contributes, we obtain a packageof tasks that I call a job. the diagrambelowpictures the situation: providewordprocessingcapability to this desktop.It is then a matter of the information system, the plumbingand the wiring, to provide an infrastructure that can efficiently satisfythis pull. secretary design engineer manager wordprocessing CAT-1,4display spreadsheet task 1,937 calendaring e-mail interference e-mail presentation e-mail I believe that the numberof jobs, i.e. numberof distinct A desktop of a user defines the scope of his/her personal task packagesof individuals will be an order of magnitude digital assistant (an electronic associate). Apersonaldigital less than the numberof tasks. That the numberof jobs will assistant is an integrated collection of information be in the thousands. appliances that provide the user with the needed information processing capability. (An aside: a personal Users to Information System flow: Applications digital assistant corresponds to a toolbox of a single mechanic. Weare introducing communitytoolboxes on the In a pull systemthe informationprocessingtools required assemblyfloor; woulda workgroupdigital assistant be a by a user to do his/her information processing are better conceptthan a personal assistant?). Theapplications determinedby the tasks performedthat, in turn, are defined that a personal digital assistant contains correspondto the by the processes to whichthe individual contributes. In tasks to be performedwithin a job. This implies that the other words,the list of tasks an individual needsto perform numberof personaldigital assistant is at mostthe number of is a shopping list for information appliances. He/she jobs (several tasks mayshare an application). employsthis list when"shoppingfor code"; if he/she does not find the right appliance, or componentsfrom whichto Summary assemble one, in the "local supermarket" then the user issues a "kanban"to the informationsystemto manufacture Thereare different waysof defining components, tasks, jobs the appliance or component.This is wherethe concept of and screens correspondingto the jobs. The definition of a libraries of reusable components (i.e. informationappliance task is, or shouldbe, independent of the enterprise; industry supermarkets), reusable componentsproduction lines, neutral taxonomies of tasks that humansperform for brokering, and other marketmechanisms comein play). enterprises are beingconstructed. Thesignal froma user to the informationsystemfor a new application could comein the form of an icon on a desktop screen. The screen would then correspond to the informationprocessingtasks a user needsto performfor the processes he/she contributes to, the screen wouldrepresent the job the individual performs(at this moment)for the enterprise. Theidea is that those with similar jobs have similar, if not the same, desktop screens. The individual icons wouldnot represent specific packagesbut information processingcapabilities required by the user. For example, the secretary’s desktop contains an icon labeled Word Processing; this icon does not need to changeno matter what happens to Microsoft Wordor Lotus AmiPro. This icon is, in essence, a kanbanto the informationsystemto 4 Thedefinition of components is a field of analysis called DomainEngineeringin the reuse of softwareliterature (see e.g. [2]). This is an external variable as well, but an enterprise can exert its influence over the nature of componentsby building theminternally or, given enough clout, by dominating the external market for the components. The other two variables, jobs and applications, are enterprise dependent.Anenterprise can achieve competitive advantageby an appropriate design of jobs and information applicances(applications). This, of course, dependson the the other two element. Applications are built from 4. Whatis the design space of enterprise architecture components andjobs are collections of tasks. alternatives? (The above framework at this level of abstraction defines sevendimensionsfor designchoices). The diagram below summarizes the relationships; the 5. Whatare the key engineering concepts to be used in enterprise dependentvariablesare in bold: designing enterprise architectures? (E.g., in the above framework,howwould we measure the metabolismrate of information, i.e. the speed with which information propagatesthroughthe system). .. Customers 3 A 6. Whattype of architecture is moreresilient to viruses and other electronic threats to the health of the enterprise?What are the trade-offs with respect to centralized/decentralized architectures? y..................... .].pTdu ! ................... / l jobs E Humans i application i icons V tasks 3 T components 3C Info. System If not completesolutions, we need at least somedesign guidance to these problems. Since the formulation of a problemis half its solution, I believe that by defining the enterprise architecture frameworkabove wehave madea progresson these challenges. References [1] C.J. Petrie, ed., Enterprise Integration Modeling,MIT Press, 1992. [2] DomainEngineering Handbook,Software Productivity Consortiumreport, Herndon,Virginia, 1992. Ifwewould formulate thisasanoptimization problem, what [3] M. Benda,ed., 9-th Distributed Artificial Intelligence would betheutility function? Thefuntion, clearly, hasa Workshop,Rosario, 1989. number of dimensions. In1989intheintroduction tothe Ninth Distributed Artificial Intelligence Workshop (see[3] p.vi)I defined sixenterprise architecture problems. These problems provide someguidance on thefeatures of an enterprise architecture that one wouldlike to optimize; all problemsbeloware stated in the context of an enterprise architectureandinfrastructure. 1. Definethe degreeof centralization and decentralization and determinethe optimal balance. 2. Define market mechanismsfor internal coordination of informationprocessing functions. (There are somenatural candidates for this in the frameworkabove: specifically, componentsand jobs) 3. Dopersonaldigital assistants providefor better flexibility of the enterprise architecture with respect to technology changes7 (it is a fact of life that screensin real enterprises are moreconstant than evendefinitions of data elements)