Previous Up Next
Knowledge Construction in Software Development:
The Evolving Artifact Approach
Chapter 8

[ Introduction | Setting | Problem | Theory | Approach | Case Study | Discussion | Conclusion ]
[ Home | Contents | References | Glossary ]
This thesis has been concerned with system development as an opportunity to reconcepualize work practices - to transcend the traditional ways of doing work by creating new relations between workers, their computational tools and their tasks. Development has been seen as a cooperative effort between users, who know their practices and implicitly know what a new system should do, and developers, who know the technological possibilities for new systems but not what technologies are appropriate for the worker's practices. The problem for system development has been framed as a movement from a tacit and distributed understanding of existing practices toward a shared vision of what new practices should be.

The central question investigated in this thesis is:

Can understanding system development in terms of knowledge construction improve our ability to redesign work practices in knowledge-intensive domains?

This chapter will conclude the thesis by summarizing the approach taken to investigate this central question and by presenting the contributions of this research.


8.1. Summary of Approach and Findings

The research approach taken in this thesis is depicted in Figure 8.1. The setting for this research is knowledge-intensive domains within large, technology-oriented companies. The core characteristic of these domains was found to be the need for workers to operate in an information space that is not only too large for any single person to know completely, but that is also growing and changing at an increasing rate. The domain of service provisioning was studied as a concrete example of a knowledge-intensive domain. An analysis of service provisioning showed that workers in this domain perform the knowledge-intensive tasks of solving ill-defined problems and learning while working. The analysis also showed that these workers were not well supported by their tools to perform these tasks.

Figure 8.1. Overview of the Thesis and Research Approach
The elements of this thesis are organized into three levels: empirical, system building, and theoretical. The solid arrows depict the order in which these elements appear in the thesis. The dashed arrows indicate that, although the elements of thesis are presented in a linear manner, they were developed in a parallel manner.

This setting motivates the central problem of the thesis: the design of computational support for workers in knowledge-intensive domains. An existing theory of cooperative problem solving systems was presented to understand what kind of computational mechanisms could support knowledge-intensive tasks, but the theory did not tell us how to design such mechanisms for a particular work practice - particularly when the work practice needs to be radically redesigned. We found that the design of computational support in knowledge-intensive domains requires an approach that exploits the skills and knowledge of both users and developers.

A theoretical framework of knowledge construction was proposed to serve as a theoretical basis for such a new paradigm of software development. The framework postulates that the key knowledge construction processes are: (1) activating existing knowledge, (2) communicating among the stakeholders, and (3) building shared visions of new work practices. In the knowledge construction framework, these processes are supported by design artifacts, called representations for mutual understanding. The basic idea behind the knowledge construction framework is that shared understanding and artifacts should co-evolve: understanding guides the construction of artifacts, which expose new understandings that lead to the creation of new artifacts.

The evolving artifact approach was developed to operationalize the idea of knowledge construction for software design. The evolving artifact approach prescribes an iterative and cumulative process of (1) creating, (2) discussing, (3) accumulating, and (4) formalizing representations for mutual understanding. Computational support for the evolving artifact approach is provided by the EVA Knowledge Construction Environment, which provides materials for constructing representations for mutual understanding, and a medium for collecting the representations into a single artifact.

The evolving artifact approach was applied in the EVAService project to design new computational support for service provisioning. We found that the evolving artifact approach was effective for constructing a shared understanding among users and developers, resulting in an artifact that contained a rich information space as well as a prototype that formed the basis of the subsequent Bridget project. The EVAService project also exposed limitations of the evolving artifact approach and the EVA environment. We found that organizational support is necessary for users to play an active and direct role in the evolving artifact approach, and that knowledge construction environments should be placed within the users' workplace to enable communication to take place through the evolving artifact.

8.2. Contributions

This thesis has made contributions at each of the three levels depicted in Figure 8.1. At the empirical level, contributions were made to the service provisioning organization. At the system-building level this thesis contributes to a third generation method for design of domain-oriented systems. Finally, at the theoretical level, the knowledge construction framework contributes to current constructionist frameworks, and has implications beyond software development. These contributions are now reviewed in more detail.

8.2.1. Empirical

The empirical elements of this research are the study of knowledge-intensive domains, and the EVAService project to design new computational support for the particular knowledge-intensive domain of service provisioning. The analysis of the service provisioning domain from a practice perspective contributed to an understanding of the essential tasks that workers in knowledge-intensive domains must perform, and a recommendation of the types of tools that would better support these tasks. The EVAService project contributed to the service provisioning organization by engaging the users in a new approach to system development that allowed them to see progress as well as to influence the direction of the project.

8.2.2. System Building

The system-building elements of this research contributes to an emerging third generation paradigm of software development that exploits the knowledge and skills of all stakeholders. In particular, the evolving artifact approach shows how domain-oriented objects and knowledge delivery mechanisms can be built to support workers in knowledge-intensive domains. In general, the evolving artifact approach extends first generation approaches by intertwining problem understanding with problem framing. It extends second generation approaches by incorporating computational design materials as well as by involving users in the entire development process, rather than limiting participation to a single phase. Finally, the evolving artifact approach shows that system development processes can and must extend beyond the traditional boundaries of development and throughout the lifetime of the system.

8.2.3. Theoretical

Current constructionist frameworks hold that knowing is primarily an individual phenomenon based on prior experience. The framework of knowledge construction presented in this thesis extends these frameworks to account for the construction of understanding among people from different workplace cultures. Representations for mutual understanding make knowledge construction a group activity by supporting activation of existing knowledge, communication among stakeholders from different workplace cultures, and envisioning of new ways of doing work.

The knowledge construction framework takes the position that knowledge is an artifact, meaning that it isn't out there in the world, waiting to be discovered, but rather it is constructed by humans for some purpose. The idea of knowledge construction is appropriate for a world in which rapid change is sure to render current knowledge obsolete, and in which the complexity of problem domains precludes anyone from knowing all there is to know. This thesis has shown that the knowledge construction framework is relevant beyond the context of software development. It has shown that knowledge construction is also an integrative framework for the continual evolution of domain-oriented systems, as well as for working, learning, and innovation in the organizational context.

Previous Home Contents Next - References
L3D Home Page

This page was last built on Fri, Sep 6, 1996 at 7:32:16 PM.
Please send any comments or suggestions to
Thanks! - Jonathan