| Previous | Up | Next |
|
Chapter 1
The Evolving Artifact Approach |
Many large, technology-oriented companies either have gone, or will go, through process reengineering as they try to streamline their operations and increase efficiency. At the heart of these process reengineering efforts are new information systems. But investments in information technologies have generally produced disappointing results, largely because companies tend to use new technologies to mechanize traditional ways of doing work instead of rethinking the way work is done [Hammer 1990].This thesis is 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 is seen as a cooperative effort between workers, 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 is to move from a tacit and distributed understanding of existing practices toward a shared vision of what new practices should be.
To address this problem, a theoretical framework for Knowledge Construction is presented. The framework postulates that the knowledge required to redesign work practices should be constructed in an evolutionary and participatory manner, driven by the creation and refinement of external representations that support the following processes:
The Evolving Artifact Approach operationalizes the idea of knowledge construction by combining a software development method with computational support. In the evolving artifact approach, systems are developed as evolving artifacts that embody constructed knowledge as well as facilitate the construction of new knowledge. The evolving artifact approach is supported by the EVA Knowledge Construction Environment.
- activation of tacit and distributed knowledge about the existing work practices,
- communication of ideas and understandings, and
- envisionment of new ways of doing work.
The evolving artifact approach was applied to a system development project within a regional telephone company of NYNEX. Experiences from this project reveal strengths and limitations of the approach and indicate opportunities for future work.
Contents
- 1.1. Motivating Problem
- 1.2. Research Approach
- 1.3. Who Should Read This Dissertation
- 1.4. Reading Guide
1.1. Motivating Problem
The major challenge to building shared visions of new work practices is to collect and synthesize knowledge from many different sources. This challenge is difficult because it involves stakeholders from many different backgrounds. Each stakeholder has a portion of the knowledge required to develop a new system, and a unique perspective of what the new system should be.The motivating problem for this research is the design of computational support for knowledge-intensive domains. In knowledge-intensive domains, workers use tools and rely heavily on information resources, such as documentation, to solve problems.
This thesis examines a particular instance of a knowledge intensive domain: Service Provisioning in the regional telephone company of NYNEX. An analysis of service provisioning focuses on the relation between workers, their tools and information resources. The analysis reveals that service provisioning workers solve ill-defined problems and learn as they work, but their tools do not provide adequate support for these tasks. The worker's current tools often get in the way of problem solving and require them to perform error-prone operations. The worker's information resources do not support the quick access to information that they need to solve problems and to learn in the processes. Workers in the service provisioning domain need tools that streamline their work and make information available instantly when it is needed.
A theory of computer tools as cooperative problem solving systems suggests requirements for computational support in knowledge-intensive domains. This theory suggests that systems should provide their workers with domain-oriented objects and knowledge delivery mechanisms. Domain-oriented objects support workers to solve ill-defined problems by allowing them to interact directly with the problem domain rather than with low-level computer abstractions, thereby enabling workers to take more of the problem context into account. Knowledge delivery is the active presentation of stored information that is relevant to a need the worker is experiencing. Knowledge-delivery mechanisms monitor the problem-solving process of workers, alert them to potential knowledge needs, and present relevant information stored within the system. Knowledge delivery mechanisms support learning while working by (1) alerting workers of a need to learn, and (2) finding and presenting information relevant to that need. Such mechanisms reduce the effort and time required to learn, and they embed learning into the context of problem solving.
Given that workers in knowledge-intensive domains need domain-oriented tools that deliver knowledge, the challenge for system development is to determine what form these tools and knowledge should take for a particular application domain. The problem investigated in this research is how to provide computer support to the people (both system developers and potential users) trying to design these forms.
The thesis of this research is:
Can understanding system development in terms of knowledge construction improve our ability to redesign work practices in knowledge-intensive domains?
1.2. Research Approach
The approach taken in this research is to intertwine theory, system building and assessment (see Table 1.1).
Table 1.1. Research Approach
Theory System Building Assessment Knowledge Construction The Evolving Artifact Approach The EVAService project The Knowledge Construction theoretical framework is a participatory and evolutionary paradigm for system design that focuses on achieving shared understanding in domain-oriented software design.
Based on the knowledge construction framework, the Evolving Artifact Approach for software development is proposed. Computational support for the approach is instantiated in the form of the EVA Knowledge Construction Environment.
The evolving artifact approach and computational support were assessed in an industrial software development project named EVAService. The EVAService project applied the approach to the design of new tools for Service Representatives at NYNEX. Experience gained from this project indicates limits and opportunities of the approach, and points to further research directions.
1.2.1. Theory: Knowledge Construction
As a framework, knowledge construction guides the construction of the shared understanding necessary to build domain-oriented systems in knowledge-intensive domains. Constructionist cognitive theories stress the relation between the physical and mental worlds. An example is the idea that we learn by interacting with the world - that we create an understanding of the world by creating objects, experimenting with them to see how they work, and modifying them to work better. A constructionist perspective is concerned with building things, both in the sense of building mental structures and material ones.The framework for knowledge construction distinguishes key processes for constructing the knowledge required to develop systems in knowledge-intensive domains (see Figure 1.1).
Figure 1.1. Knowledge Construction in Software Development
The key knowledge construction processes are activation of existing knowledge, communication among stakeholders, and envisioning of new work practices. These processes enable understandings of new work practices, and drive the evolution of the new system.Knowledge construction in software development builds a shared understanding among stakeholders through the creation, discussion and modification of objects that can be seen or interacted with, such as a picture, a textual description, or a prototype. These objects are called representations for mutual understanding. Representations for mutual understanding support the expression of ideas which, through discussion and modification, come to embody shared understanding. In this thesis, the term, representation, will always refer to such external objects.1.2.2. System Building: The Evolving Artifact Approach
The evolving artifact approach is named after the software product that is developed. The product is an evolving artifact that functions both as design document and as a prototype. As a design document, it is an information space containing descriptions, comments, rationale, and any other type of documentary artifact that is normally produced in the course of software development. As a prototype it can present an interface to users that allows them to see and experience new design ideas.The evolving artifact approach is a set of four strategies for constructing knowledge in software development. The approach prescribes an iterative and cumulative process of creating, discussing and formalizing representations for mutual understanding. These representations are integrated in an evolving software artifact that contains both functionality and documentation.
Key Strategies in the Evolving Artifact Approach
(1) Represent to understand. Representations are used to gain an understanding of design issues. Representations support the construction of shared understanding by providing objects-to-think with that make ideas explicit and public.(2) Discuss representations. Knowledge construction is driven by discussing the meanings, shortcomings and implications of representations, with the goal of increasing the shared understanding among stakeholders. Discussion that takes place around a representation adds meaning to it.
(3) Formalize. The goal for knowledge-construction is to construct a shared vision of what new work practices should be and how they should be support with computational tools. Prototypes are representations that enable users to experience and envision possibilities for new work practices. Prototypes require expressing domain knowledge in a form that is interpretable by the computer. This is what is meant by domain knowledge formalization.
(4) Accumulate and structure products of (1) and (2). Knowledge construction is an evolutionary perspective of design in which shared understanding, as well as representations, are built in an incremental and cumulative manner. Previously constructed and discussed representations provide a context for current discussions and understandings. The idea is to capture a growing and shared understanding by accumulating representations.
The EVA Knowledge Construction Environment
The evolving artifact approach is supported by the EVA knowledge construction environment (see Table 1.2).
Table 1.2. The Evolving Artifact Approach and Computational Support
Evolving Artifact Approach Computational Support
Provided by EVA Environment(1) Represent to understand Descriptive Objects (2) Discuss the representations Annotations (3) Formalize Functional Objects (4) Accumulate and structure products of (1) and (2). -> Back to (1)
Hypermedia Information Space
The EVA environment provides materials for creating representations. It also provides a hypermedia substrate that allows individual representations to be formed into arbitrary structures, and ultimately into a single evolving artifact. EVA is used by software developers to create representations and to present them to the future users. Future users use EVA to see, experiment with and critique the representations.
1.2.3. Assessment: The EVAService Project
The evolving artifact approach was applied in the EVAService project to design a new system for Service Provisioning at the regional telephone company of NYNEX. The EVAService project produced insights into opportunities and limitations of the evolving artifact approach in an industrial setting. These insights have contributed to software development practice at NYNEX, and provide directions for further investigation.The EVAService project inspired a number of subsequent research efforts, both at NYNEX and at the University of Colorado. These efforts extend the EVA environment's support for development, and add to our understanding of how knowledge construction can be realized in software development, particularly for knowledge-intensive domains.
The evolving artifact approach offers insight into evolutionary software lifecycle models. It contributes to understanding how these lifecycle models can be set in motion, and also to an understanding of the forces that drive continual evolution of systems. An analysis of an existing evolutionary lifecycle model indicates that the knowledge construction framework can play an integrative role in understanding the relationship between development, use and ongoing evolution of computer systems.
1.3. Who Should Read This Dissertation
This thesis deals with problems of designing software for groups of professionals or other knowledge workers, where design involves system developers and potential users working together to redesign work practices.In-house software builders/designers, who develop systems for knowledge-intensive domains, will find this thesis useful as an alternate approach to organizing the development process. Unlike document-centered approaches which require developers to specify solutions in great detail before the problems are understood, the evolving artifact approach intertwines specification with implementation. The EVA environment will provide developers with ideas for integrating, understanding, and redesigning the vast information spaces of knowledge-intensive domains.
For organizations that need to support their workers in knowledge-intensive domains, this thesis presents a perspective of development as a learning processes. Whereas traditional approaches require user organizations to enter the development process with a clear understanding of their problems, the evolving artifact approach supports understanding to evolve as development progresses. The product of this approach is a self documented, evolving system that can change with the organization. Another benefit to organizations is a perspective on tools for workers that aim to reduce the need for classroom training and enable workers to perform a wider range of tasks.
For organizations interested in software processes, the evolving artifact approach can complement software process models that typically have little to say about the requirements process. This approach also has implications for improving design rationale capture and thereby reducing maintenance costs and supporting organizational learning.
Researchers interested in participatory design, computer support for design, and evolutionary software lifecycles will find this thesis to be an integrative framework for design and use of domain-oriented systems. The idea of knowledge construction is investigated primarily in the context of system development, but knowledge construction is also proposed as a framework for understanding and supporting continued development and evolution domain-oriented systems.
1.4. Reading Guide
Chapter 2 describes knowledge-intensive domains in general and the service provisioning domain at NYNEX in particular. The service provisioning domain is used to illustrate the relationship between tasks, tools and information in knowledge-intensive domains, and to ground a discussion of what it means to redesign work in these domains. Redesign of work practice in the service provisioning domain provides a general setting for this thesis, and the specific setting for the case study presented in Chapter 6.Chapter 3 presents the central problem to be addressed in this thesis: design of computational support for workers in knowledge-intensive domains. The chapter begins with a theoretical discussion of the type of systems and mechanisms that workers in these domains need. It then examines the challenges to designing these mechanisms. Existing approaches are presented and critiqued, motivating the need for a new paradigm for participatory and evolutionary software development.
Chapter 4 is concerned with providing a theoretical framework for this new development paradigm. The knowledge construction framework extends the constructionist perspective of knowledge to collaborative software design. It proposes representations for mutual understanding as the means to construct shared understanding among designers from different backgrounds.
Chapter 5 presents an approach and tool support to operationalize the idea of knowledge construction in software development. The evolving artifact approach and EVA knowledge construction environment provide guidelines and tool support for participatory and evolutionary development, and propose a new way to think about the development product - an evolving artifact that captures design knowledge as it is evolved into a domain-oriented system.
Chapter 6 returns to the setting described in Chapter 2 to present a case study of a project to develop new computational support for the service provisioning domain. This chapter describes how the evolving artifact approach and the EVA environment were used in this project, and forms the basis for an assessment of the approach in an industrial setting.
Chapter 7 begins with an assessment of the evolving artifact approach, including extensions to the EVA environment and future research directions. It then considers knowledge construction in the contexts of evolutionary software lifecycle models and organizational learning.
Chapter 8 concludes the thesis with a summary of the research approach and an enumeration of the contributions made by this research.

| Previous | Home | Contents | Next - 2. Setting: Redesigning Work |
![]() L3D |