Overall, Dr. Scacchi's research efforts have been focused on the question, how do computing/software systems come to be the way they are? Such a question points to his interest in understanding how computing/software systems are produced and consumed within different organizational settings.
Organizational Studies of Computing/Software Development [OS]
Dr. Scacchi's earliest research efforts were dominated by his interest in conducting empirical studies of how computing systems are used and evolved--that is, consumed--in various organizational settings [OS1-OS5,OS7]. He observed, studied and conducted interviews in a municipal government MIS shop, a physics research laboratory, an insurance company, and a computer science research institute. These studies focused on characterizing the attributes, describing the processes, and identifying recurring patterns of organizational behavior surrounding the use, maintenance or evolution of local computing environments. Further, these characteristics, descriptions, and patterns were grounded in the goals, relationships and constraints that participants associated with the computing technology at hand within its organizational context. Concomitant with these studies, he worked with his advisor, Rob Kling, to develop new concepts that would serve as an emerging language for analyzing and understanding instrumental computer use. Principal among these concepts was the "computing package" [OS1,OS3,OS5], "multiple perspectives for understanding computing in organizations" [OS4,OS5], and the "web of computing" [OS7,OS5].
The computing package refers to a recognition that a given computing system is simultaneously embedded within multiple organizational contexts (e.g., user community, developer setting, maintenance organization, administrative unit invoking policies for access/use of computing resources, etc.). This gives rise to a variety and pattern of conditions that made the instrumental use of computing often problematic [OS3]. Therefore, to understand how such a system is consumed, one must understand how it is embedded within each participating context. This includes understanding what resources are in contention, how satisfied users are with computing operations, whether computer use is mandatory or discretionary, etc.), as well as how participants maneuver through or around these contexts in order to get their work done. The significance of the computing package as a contribution and new perspective for understanding computing in organizations was highlighted at length (2 pages) in an 8 page review of the 1979 AFIPS National Computer Conference appearing in IEEE Computer 12(8):79-86, 1979. Such recognition was particularly gratifying for him as this was the first research paper he presented solo at a major research conference. In later studies focused on the production of new software development technologies, he employed the computing package concept to help reveal how it could serve as a design heuristic and project management strategy. His goal was to development new techniques to simplify the deployment, adoption and integration of these new technologies in different organizational settings [OS8,OS9,OS12,OS20,OS21,OS24].
Through ongoing studies of the instrumental use of computing and computing packages in different settings, Kling and Scacchi recognized that there were a number of alternative perspectives one could employ when trying to understand how people use and evolve computing systems within organizations. By 1980, they had identified six distinct analytical perspectives that could be employed for such purposes [OS4]. In hindsight, the use of multiple perspectives seems obvious, though at the time (1980), there were no other research publications offering or employing such an analytical regimen.
Rather than attempt to characterize each perspective, two noteworthy points about their existence and usage can be made. First, there is no single best perspective to use to understand computing in all settings or situations. No one perspective guarantees a better truth than any other does. However, people who seek to characterize or explain how a computing systems are used and evolved (whether in good or bad ways) typically choose only one or two perspectives to situate their analysis. This means by having knowledge of other analytical perspectives, it becomes possible to discover holes or blind spots in an analysis drawn from any single perspective. Second, the multiple perspectives can be used prescriptively to anticipate or predict characteristics, patterns or outcomes associated with the development and deployment of new computing technologies [OS2,OS6,OS10,OS13,OS16]. Clearly, prescriptive use is meant to provide a framework for understanding and investigating models/theories that can be empirically substantiated or refuted. Such insights might then favorably influence the production or development of new computing systems in ways that increases the likelihood of their successful use and constructive evolution. For example, Kristen Nygaard (an original developer of Simula-67 programming language) was sufficiently influenced by the analytical power of multiple perspectives that he and his colleagues introduced language constructs for describing perspectives into the programming language Beta in the 1980s. This was an attempt to support the modeling and interpretation of different perspectives. This in turn could facilitate and encourage the work oriented design of computing systems for their users. Thus, multiple analytical perspectives can be employed to describe/model and analyze how computing systems fit into the work patterns and processes of their users.
The web of computing was a concept developed by Kling and Scacchi to combine the computing package and multiple analytical perspectives to more succinctly account for the organizational patterns and work processes that we were observing in our respective field studies. By this time (1980-1981), they came to find that the configuration of hardware and software resources in an organization, together with the organizational policies governing their use and maintenance were inextricably intertwined with the way people used computing in their work. Computing technology was thus a form of social organization at work [OS7]. Changing (or "innovating") the computing technology at hand within an organization would therefore precipitate change or innovation in the social organization of work for the participants [O5]. This web of computing perspective could thus act as an combination or unification of multiple perspectives for understanding how different kinds of computing systems are consumed in different organizational settings [OS5,OS7]. Dr. Scacchi would later employ this result in understanding and managing the production and use of new software development tools and techniques, as described later. Overall, the web of computing emerged as a dominant perspective within an international community of researchers for analyzing and explaining empirically or theoretically derived research results for how computing fits into or shapes the tempo, place and processes of work in complex organizations. Dozens of papers have employed or cited the web of computing paper [OS7]. For example, work by Curtis and others at the MCC Software Technology Program acknowledged that the web of computing played a central role in their conception of how to understand software design processes using multiple levels of analysis (cf. B. Curtis, H. Krasner, and N. Iscoe, "A Field Study of Software Design Processes for Large Systems", Comunications ACM, 31(11), 1268-1287, 1988). Beyond this, one can also find references to use of the Web of Computing paper (as of 1998) listed in academic course syllabi found on the World Wide Web through a common search engine. Last, a recent paper by Wanda Orlikowski and Suzanne Iacono, "Desperately Seeking the "IT" in IT Research: A Call to Theorizing the IT Artifact", Information Systems Research, 12(2), June 2001, makes frequent reference to the Web of Computing paper and analytical framework. Orlikowski and Iacono, after reviewing the collection of papers published in the past 10 years in this prestigious journal, call for a new research agenda for the Information Systems community that explores and builds on concepts such as those attributed to the Web of Computing, as developed by Kling and Scacchi. Thus, the Web of Computing continues to be one of the most influential in the area of organizational studies of computing and information systems, some 20 years after its original publication.
Part of Dr. Scacchi's collaborative contribution to the development of the web of computing as an analytical approach lie in his research into understanding the process of innovation in computing [OS5]. Simply stated, one way to understand how computing/software systems are used, maintained or evolve is to empirically examine the processes associated with how such systems change over time within their organizational setting. This work also marked his initial foray into the study of the formal and informal processes people engage when they change or innovate their computing environment. This focus on these processes in general, and those associated specifically with the production of software tools and applications have since become a central category of his research in the last 10 years. In addition, his focus on innovation process later evolved to include studies of software system development (i.e., producing new software innovations) [OS6], software maintenance (i.e., incremental software innovation) [OS11,OS14] and software technology transfer processes and barriers [OS17,OS24].
Other accomplishments in Dr. Scacchi's organizational studies of computing/software systems draw upon the preceding results, but now focus primarily on examining the different aspects of system production. This move represented his attempt to broaden the scope of organizational studies of computing/software systems to include understanding how complex systems are developed, and whether they can be developed in a manner that constructively exploits an awareness of the computing package, multiple analytical perspectives, and the web of computing. He originated and introduced over a dozen novel strategies/heuristics for how software development projects could be more effectively and efficiently managed to produce successful systems [OS8,OS9,OS12,OS20,OS21]. In general terms, these strategies focus on understanding and managing the computing package/web, the structure and flow of work processes and teamwork [OS19], innovation processes, and handling problems and breakdowns [SP5]. For example, he suggested explicitly mapping/modeling the computing package associated with a software system being developed for a local user base. Later, he suggested how the web of computing associated with a new software system could be described or modeled as a configuration of resources. These resources ("objects") and their configurations ("resource architectures" or webs) can model how systems are produced, used or consumed ("relations") by people ("agents") using computing systems ("tools") and artifacts ("documents") in the course of their work ("tasks" and "processes") [SF/E12,SF/E18,SP1-SP4]. Finally, through a comparative secondary analysis of more than a dozen empirical studies of what affects the productivity of software development organizations/projects, he found some independent support for his strategies, but no contradictory evidence for their refutation [OS18,OS23].
Overall, Dr. Scacchi's most successful and recognized organizational studies of computing/software development include those papers addressing the computing package [O3], multiple analytical perspectives [O4], web of computing [O7], organizational dynamics of software maintenance work [O14], and organizational characteristics, processes and behavioral patterns that affect software development productivity [O23]. Citations and links to selected papers in this category can be found in his Research Publications on Organizational Studies of Computing/Software Development.
The System Factory Project and Environments [SF]
After completing his early studies on the use and evolution of computing systems, Dr. Scacchi decided to turn to look upstream to see if he could apply a similar approach and concepts to understand how computer/software systems were (or could be) developed. The System Factory Project he originated at USC in 1981 marked his first effort in this category. Given the opportunity to teach the graduate software engineering course at USC, he found on the first class meeting that he was facing an eager group of 50 or so M.S. and Ph.D. Computer Science students who wanted to learn about large-scale software engineering. He recognized this as an opportunity to create and enact a novel, large software development organization in which every student would have a role as contributing software engineering and project participant. Such a project would itself be situated within a complex organization setting employing shared access to limited resources, budget and schedule constraints, and a usual assortment of unexpected circumstances that arise in any setting given enough time. He also saw this as an informal experiment in the rapid development of a large software system. As such, he adopted and refined a software development life cycle approach (a process) based on then current software engineering techniques. He also developed a single system architecture for a "software engineering environment" (SEE) which could be factored into 6-10 separate components (stand-alone software tools) and integrated through some common file I/O capabilities.
Within 15 weeks start to finish, he had 8 teams of 4-7 students each develop, demonstrate, and deliver a prototype version of the tool they had agreed to produce. Teams were organized and managed according to a set of project management strategies that were described earlier. All teams produced a series of documents corresponding to the requirements, specification, architecture design, detailed design, source code, test plan and selected results, user manual and maintenance guide. The initial SEE represented some 3000 pages of printed computer based documentation and about 30,000 source lines of Pascal code. Basically, a large majority of the Project participants considered this initial experiment a success, a valuable learning experience, and something they could take with them (i.e., each student completing their team's project received an electronic copy of all the other teams' components and documentation). In short, this initial investigation suggested that something interested could be observed, learned and shared through a large-scale participatory project with a common set of goals. Dr. Scacchi then went on to repeat, refine and expand Project iterations a total of 11 times through 1988, involving more than 600 M.S. and Ph.D. CS students (about 1.5% of all such students in the U.S. according to figures in the ACM/Taulbee survey) during this period. Five of the Project development cycle iterations were extended to 30 week schedules over nine month academic school year. In total more than 600K lines of source code were delivered, and between 30K to 50K pages of online documentation were produced through this cyclic, evolutionary approach to software system development. Though not noted earlier, one of the main results from his study of the process of innovation in computing [O5] was that once embedded in an organizational setting, computing innovations will continuously arise and be incorporated into local systems and their embedding organization. Said another way, once people in an organization uses computing systems routinely, they will continuously innovate these systems as long as the organization thrives. The SF Project repeatedly produced this kind of finding as well.
Much has been written about the concepts, management strategies, development techniques and focal software components and composite environments, as can be found in the Research Publications below. The majority of these research results follow from the concepts and research from his organizational studies of computer/software development. Descriptions of the SF Project's objectives, strategies, SEE architecture and so forth can be found in a number of publications [SF7,SF9,SF15,SF17,SF23]. Noteworthy among these is the Keynote Address on the SF Project he gave at the Japan Software Engineering National Conference in Tokyo in 1988 [SF15], which was also invited for presentation at the CMU Software Engineering Institute's annual conference on Software Engineering Education [SF17]. Subsequently, the directors of the SEI's Graduate SE Education Division later identified the USC SF Project as one of the top six exemplary approaches for how to experience software engineering within graduate course work (see G.A. Ford and N.E. Gibbs, "A Masters in Software Engineering Curriculum", Computer, 22(9):59-71, 1989). Finally, the last publication in this segment [SF23] describes the final state of organizational development (i.e., accommodate multiple development teams geographically distributed but interlinked via the Internet) and SEE architecture that was realized in the SF Project when its production was brought to an end.
The resulting software components and composed SEEs produced in the SF Project were also successful in their respective technical arenas. In particular, pioneering and significant contributions were realized in the development of language based SEEs supporting hardware-software co-production [SF1-SF5], maintaining software architectural designs and source configurations [SF6,SF10,SF11,SF14,SF19,SF20,SF24], and hypertext environments for managing software project documentation [SF12-SF14,SF16,SF18,SF22,SF24-SF26]. Later versions of the SF software technologies were distributed or licensed to various corporate research sponsors and other academic research groups as well.
Beyond these published results, Dr. Scacchi took the opportunity to give more than 50 invited presentations, academic colloquia, industrial seminars, keynote addresses, and other conference presentations on the SF project in both national and international venues. Audiences throughout the U.S., Canada, Japan, Europe (England, Finland, France, Germany, and Italy) and South America (Columbia) read about, listen to, and engaged in questions and discussions to learn more about what was accomplished in the SF Project and how.
Overall, the SF Project achieved its many of its objectives as a novel experiment in applying emerging principles from organization studies of computing/software development to the production of software systems. The Project participants collectively produced one of the largest sets of software component tools and composed environments that can be found within any academic setting during the 1980's. It served as a venue that combined educational course work, software development and a research experience that created or enhanced career opportunities for its participants through their hard work, the Project's publications and international visibility. It also supported the completion of seven doctoral dissertations under his supervision as well. In addition, companies such as AT&T Bell Laboratories set up their own SF-like projects (the software factory laboratory in North Carolina). Accordingly, further details regarding this project can be found in the Research Publications on the System Factory Project and Environments.
Organizational and Software Processes [SP]
The third and final category within Dr. Scacchi's research efforts concentrate and build on the results from the preceding two categories. The focus of his research here is directed at understanding organizational processes, software development/use processes, and their interplay. What is novel and unique is his use of a computationally based `web of computing' framework and support environment. As before, his research efforts were influenced by empirical and technology development studies in collaboration with external organizations that serve as field sites or testbed.
A good deal of Dr. Scacchi's research effort during 1985-1995 focuses on developing a computational (software) environment that would support the modeling, analyzing and simulating of organizational and software processes. This software environment was called the Articulator [SP4]. It was developed as a vehicle for describing and understanding work processes, resource configurations and surrounding organizational circumstances from a web of computing perspective [SP18]. Much like the development of computer based statistical packages enabled quantitative analyses of questionnaire and similar empirical data, the Articulator was designed to facilitate the qualitative analysis of the structure and dynamic behaviors of complex processes. Emphasis within the Articulator was directed at capturing, representing and operationalizing organizational and software processes that could be described primarily using normative, ordinal or interval--i.e., qualitative--data. The Articulator was a breakthrough in that it provided a new class of analytical instrumentation and computational testbed that enabled more robust, computationally tractable and comprehensive analysis than was previously available by the late 1980's. Prior to this time, qualitative studies of organizational or software processes within any discipline were typically limited to describing or representing processes using (a) narrative text or semi-structured hypertext renderings [SF18,SF22,SP15], or (b) procedural or object-oriented programming models or (c) quantitative data and statistical analysis. Text and hypertext descriptions offer the potential for rich, highly contextual descriptions of processes, but "tools" for analysis of large narrative text data sets are usually left to the mind of the analyst/reader. Programming models, while well suited for specifying methodical calculations and detailed computations, are not well suited for describing the work situations or organizational software ecology [OS23] in which software processes were occurring. Quantitative data and statistical tools can be used to readily characterize the frequency, distribution or discrete snapshots of opinions, conditions, events or other circumstances using descriptive or inferential statistical measures. However, the organizational context, structure (configuration of resources, control relationships and division of work), and behavioral flow of processes (what gets done, by who, when, where, how and why, what goes wrong, etc.) over time cannot be easily described or modeled using quantitative data or statistical analysis [OS28]. Examples below to show this.
In a study he directed for Northrop-Grumman B-2 Division in 1990-1993, Dr. Scacchi had the opportunity to investigate, model and analyze the software development life cycle processes responsible for producing the multi-million lines of code for the Avionics Flight Control software for the B-2 strategic bomber. This B-2 software organization had over 700 software developers and managers working in this effort. It was also said at the time to be 44 months behind schedule and $150M over budget. Furthermore, new schedules slips were recurring, as were multi-million dollar/month development cost overruns. After a collaborative three month empirical study using multi-round interviews, progress briefings, refinement and participatory validations of Articulator based models by B-2 software personnel, Dr. Scacchi's research team had discovered more than 30 systemic problems ("black holes") and structural conflicts ("miracles") in their development life cycle. These dilemmas made following the current software development process logically and physically impossible. Their analysis and empirical findings provided a foundation for how to restructure the Division's web of computing and reorganize their processes, resources and workflow to resolve the dilemmas. Subsequently, they were then able to reduce their schedule slips and cost overruns leading to a multi-million dollar savings in cost avoidance. In turn, the project sponsors tripled his research funding, scope and duration of this study in acknowledge the significance of these results. Finally, one publication describing how Dr. Scacchi's team modeled, represented and analyzed this software development life cycle process using the Articulator received (in 1997) an international "citation for excellence with the highest quality rating" for original research in the field of Information Systems, from ANBAR Management Intelligence (a European Management Research Rating Service). Furthermore, this publication appears in ANBAR's number 1 rated IS research journal (in 1996) in Europe, Decision Support Systems.
In a pilot study he directed for U.S.West (the telco) in 1993-94, Dr. Scacchi's research team empirically captured, modeled and refined a software development life cycle process to support 1500 software developers coordinated more than 400 tasks. Through modeling and analysis using the Articulator environment, he discovered the process we captured had 18 levels of process decomposition and project management. The findings were that such a work structure, management coordination hierarchy, and division of labor would be too complex, impractical and unmanageable. Though USWest choose not to heed this advice, the software project that employed this life cycle process eventually failed and reported a loss of over $200M [SP28].
In addition to these two studies, the Articulator environment has been employed in descriptive or prescriptive studies of dozens of software development processes at AT&T Bell Laboratories, BellCore, Hewlett-Packard and elsewhere, as well as within the System Factory Project [SP1-SP4,SP7,SP16,SP18]. The Articulator environment also possessed a unique capability (during the early 1990's) to be able to diagnose and suggest repairs for software development processes that had broken down or failed during their enactment [SP5,SP6,SP12]. As before, this novel capability to support "articulation work" was derived from empirical studies of software development work processes [cf. SP6,OS14,OS19,OS26]. More recently, the Articulator environment has been applied in studies of organizational and software use/evolution processes found in other settings. These include corporate financial operations at McKesson Corp. [SP20], supply chain management and order fulfillment for EDS [SP13,SP24], military procurement for the Naval Air Warfare Center, feature film production for USC Entertainment Technology Center and its sponsors (e.g., LucasFilms Ltd.), Tele-medicine for the USC Advanced Biotechnology Consortium and others. Finally, recent (Internet or Web based) technologies and techniques derived from the Articulator have been, or are being used in new studies organizational and software processes. These studies address organizational and software processes associated with: research grants management at the Office of Naval Research [SP19,SP22], organizational transformation [SP22,SP29], software systems acquisition [SP23], distributed multi-site virtual enterprises for software development [SP17,SP21,SP27], Electronic Commerce applications [SP25,SP26,OS27], and the redesign of software processes [SP28].
How did the Articulator environment help in analyzing these organizational and software development processes? As a process is being captured via interviews, elicitation, artifact review or participant observation, it can be incrementally modeled and analyzed with the Articulator for its consistency, completeness and internal correctness. An emerging "process model" can also be queried about explicit or implicit relationships within the model that follow from the web of computing perspective [SP4]. Similarly such a model could be used as a testbed for experimentation or operationalization through knowledge-based simulation of process dynamics under different hypothetical or empirically grounded scenarios [SP4]. This use of knowledge-based simulation techniques was unique within the software process research community for many years [SP28]. Overall, these analytical capabilities were developed, applied and refined over a number of years through projects noted above. However, the development and use of the Articulator was not limited to only the modeling, analysis and simulation of complex processes.
The Articulator was also designed to serve as a unifying framework to support and coordinate software development processes, tools, information artifacts/products, and other resources within an operational web of computing. Dr. Scacchi recognized, as his early organizational studies indicate, that the "integration" of computing resources with people at work in a complex setting was a recurring source of problems with computing use [OS3,OS5,OS7]. Accordingly, he directed the design the Articulator environment around its use of an extensible modeling ontology (or process meta-model) [SP18]. This way his team or others could use the Articulator to model arbitrary organizational or technological systems as process models that could then be interlinked or webbed together. With such a capability, his research team was among the first to successfully demonstrate the integration of a legacy, pre-existing software engineering suite of tools and development techniques so as to follow, support and enact a modeled set of software development and project management processes [SP8,SP10,SP16]. This in turn enabled his research team to integrate the Articulator with six other software environment architectural styles [SP11,SP20] and a dozen or so software development/process repositories [SP9,SP15,SP17]. The ability to integrate diverse environments, repositories, and processes using a common (process meta-model) scheme was later characterized as a new class of environment called, "meta-environment" [SP11]. Thus, the Articulator was able to demonstrate and embody the unique result for how the organizational analysis of computing/software development could be integrated into the practice of software engineering through a meta-environment technology based on the web of computing framework. Through additional research effort, this capability evolved into what is now called, "process life cycle engineering" [SP20,SP22,SP24].
Overall, Dr. Scacchi's research in this category is perhaps his most successful and significant. Five of his research publications (four journals articles, one ICSE paper) in this area have been reprinted in books, which is an indicator of its significance. Furthermore, the ability to take this approach into new organizational and software processes continues to demonstrate that the previous twenty years of his research continues to converge and build on prior results and empirical studies. As such, further information of this research can be found in his Research Publications on Organizational and Software Processes.
Finally, details for these research publications, including another 15-20 not cited above, can be found in his Curriculum Vita, which is posted on the Web at the location, http://www.ics.uci.edu/~wscacchi//vita.html.