Applying Multi-Media to the Reuse of Design Knowledge

Sidney C. Bailin

Knowledge Evolution, Inc.
1748 Seaton Street, Washington, DC 20009
Tel: (202) 328-3352
Fax: (202) 328-3354
Email: sbailin@kevol.com

Abstract:

In settings larger than a single tightly knit development group, practical reuse requires access to contextual information about the products to be reused. Such information includes the intended use of the product, constraints on its use, the key decisions that went into engineering the product, the rationales for these decisions, and experience gained over time through the reuse and evolution of the product. We propose the concept of a ``design narrative'' as an effective means of conveying this type of information in a way that engages the reuser, and we argue that multi-media can provide powerful tools for capturing and rendering such narratives.

Keywords: Multi-media, rationale capture, design narrative, literate programming, knowledge reuse

Workshop Goals: Learning; networking; synchronizing with others' work.

Background

Knowledge Evolution, Inc. (KEI) is developing a Multi-Media Design Narrative (MMDN) capability that will, we hope, fundamentally alter the way software design knowledge is communicated among designers (indeed, among all stakeholders of a software system). The MMDN will combine the expressive and communicative power of multi-media with the explanatory and imaginative power of narrative to convey the contents of a cumulative design record. In the resulting environment, a software design will take shape as a compelling and continually embellished story that has purpose and meaning for those who make decisions about the system.

Is this software reuse? We believe so, emphatically. In settings larger than a single tightly-knit development group, it is necessary to provide contextual information describing the products to be reused. Such information includes the intended use of the product, constraints on its use, the key decisions that went into engineering the product, the rationales for these decisions, and experience gained over time through the reuse and evolution of the product. This is the content of the design narrative. Our aim is to package and present it in a compelling and engaging form.

Position

The overall objective of the Multi-Media Design Narrative project is to package the software design record into an integrated multi-media presentation similar to a computer-based training module. The subject matter of the training is the software design. We take the position that multi-media design narratives can be an effective tool in fostering the reuse of knowledge acquired during software development.

The fundamental insight that we will use to structure the multi-media presentation is that the design record should tell a story. The idea of documenting software through a narrative about the decision process comes from Literate Programming [1]. Knuth's contention was that program documentation should read like literature, if the author expects other developers to pay attention to it. We wish to take this observation a step or two further by proposing a dramatic (rather than strictly literary) paradigm, and taking advantage of multi-media in rendering it. The dramatic paradigm is distinguished from the strictly literary by the focus on actors (stakeholders) and their actions, and a more direct audio-visual presentation of the content.

As a paradigm for structuring the design record, narratives offer several benefits: They provide an explicit way to integrate a stakeholder model into documentation of design rationales; they enable stakeholders to record and assess actions at a finer level than is typically addressed by process models; they encourage discussion of rationales in the context of stakeholder beliefs, goals, motives, concerns, frustrations, and priorities in a non-threatening way, helping to surface the undiscussables that are a frequent source of organizational problems [2]. By using multi-media wisely, we can deliver this enriched design history with high cognitive bandwidth.

Example. Suppose that an organization wants to reengineer a legacy system written in Ada '83, upgrading it to Ada '95. Among the issues that are likely to arise in the upgrade are the role of inheritance and the communication between distributed systems. The designers of the upgraded system will want to take advantage of the mechanisms built into Ada '95, while the original system may have had to ``fake'' inheritance and use external tools for communications. There will, of course, be tradeoffs, and the reasoning path through those tradeoffs will constitute the design record.

In this scenario, the developer specifies to the MMDN the design issue with which she is concerned. Through a feature-match process, the MMDN locates a module corresponding to the ``chapter'' of the design narrative in which this issue is addressed. The module introduces the issue in a manner similar to computer-based training, through a combination of text, graphics, audio, and video. For example, video clips could be used to include first-hand narration by key stakeholders (such as previous designers) and relevant portions of design meetings, backed up by documentation of the design concepts in text, audio annotations, and graphics. The use of graphics could include immersion in a 3-dimensional design issue web, or other methods of visualizing information referenced in the meetings. At key points in the narrative, the user would have the choice of continuing the current module or jumping to a related area, which would in turn be presented as a ``training'' module in its own right.

The MMDN can be viewed as a collection of sequential structures (threads) superimposed on an issue- and design-artifact web in order to support the coherent exposition of the ideas. This approach combines aspects of both Literate Programming and the IBIS approach [3], but it overcomes problems in each of those. Like a Literate Program (LP), the MMDN is organized into ``chapters'' that provide a high-level organization of the design narrative. Unlike LP, however, the chapters correspond to the most important developments in the design process, rather than to portions of the code. A chapter in the MMDN will typically revolve around a key design issue, similar to IBIS. But unlike IBIS, the key issue will serve as a plot driver, i.e., an underlying theme whose systematic elaboration is presented in a guided tour through the network of information nodes.

The notions of plot and guided tour will, we believe, have considerable impact on the explanatory effectiveness of the environment. Plots are driven by conflicts (in this case, unresolved design issues) and create forward movement towards resolution of the conflicts (in this case, design decisions). A plot's movement from conflict to resolution has a definite shape that keeps the user engaged in the unfolding ``story.'' This user-interaction paradigm has been explored in depth in [4].

The MMDN suite will assist the designer in constructing effective design narratives. It will do so by providing narrative building blocks--reusable patterns that reflect proven ways of communicating a design narrative. The definition of a corpus of such patterns is one of the first objective of the project.

What might such a pattern look like? Consider two sorts of design meetings: one degenerates into an argumentative free-for-all; the other pursues the differences in a spirit of inquiry, leading to a common understanding and possibly even consensus on an approach. The pattern of the first type of meeting might be described as Brownian motion: it would be reflected in a random walk through the positions in a corresponding IBIS network. The pattern of the second type of meeting would have a more recognizable shape: as the differences are identified and explored, the sources of divergent reasoning will come into focus until the fundamental ``fork in the road'' between two positions is identified. At that point, two things can happen. At worst, there might be an agreement to disagree: the issue may be resolved by organizational authority, but with an understanding among all parties that a judgment call has been made. At best, common ground can be established, and a consensus position defined.

In either case, the overall flow of the meeting resembles an established pattern of dramatic action. There is an inciting incident, which in this case is the conflict of positions (design alternatives). There is rising action and eventually a crisis stemming from the increasingly clear differences in reasoning or interpretation, and a climax when the fundamental differences (the fork in the road) are clearly articulated.

The MMDN suite, through a set of templates and rules, will ensure that a design narrative conforms to such known patterns both initially and as it evolves. Whereas a raw multi-media editing suite would enable a user to place a video clip, for example, anywhere in a presentation, the MMDN suite will constrain the process: it will interact with the developer to characterize the role of the video clip in the design narrative and to locate an appropriate position for it (with appropriate links).

The construction of the design narrative will occur within the context of ongoing software development. This implies several operational constraints on the process, and poses several challenges:

Before building a prototype of the MMDN we are developing a Concept of Operations that aims to address these issues.

Comparison

J. Palmer and P. Aitken at George Mason University have done pioneering work in applying multi-media to requirements capture and analysis [5]. Their prototype systems have included support for full-motion video (used, for example, to document operational settings), use of audio to capture end-user interviews, animation, hypermedia, and a controlled form of natural language understanding for classifying requirements. The MMDN project is very much in the spirit of this work, but is seeking in particular to develop a narrative layer that provides structure and direction to the resulting information.

The Dynamic Documentation project at University of Southern California's Information Sciences Institute is developing software explanation technology that generates user- and task-tailored presentations dynamically [6]. In their MediaDoc project they are exploring the use of multi-media (specifically graphics and animation) in the generated explanations. This work is complementary to the MMDN project which focuses on user-developed narratives. ISI is serving as a consultant on the MMDN project to ensure that the resulting technologies are compatible.

Groupware tools have been motivated by concerns not strictly tied to software development. However, software environments could profit significantly by emulating the use of multi-media and distributed authoring that the groupware community has applied to consensus-building tasks. The Orbit project, jointly being performed by the University of Illinois and University of Queensland, is directed at precisely this set of issues.

References

1
D. Knuth, Literate Programming. Center for the Study of Language and Information, Stanford University, 1992.

2
C. Argyris, On Organizational Learning. Blackwell Publishers, 1995.

3
J. Conklin and M. Begeman, ``gIBIS: A Hypertext Tool for Exploratory Policy Discussion,'' ACM Transactions on Office Information Systems, vol. 6, pp. 303-331, October 1988.

4
B. Laurel, Computers as Theatre. Addison-Wesley, 1993.

5
J. Palmer and P. Aiken, ``Utilizing interactive Multimedia to Support Knowledge-based Development of Software Requirements,'' in Proceedings of the 5th Knowledge-Based Software Assistant Conference, 1990.

6
W. L. Johnson and A. Erdem, ``Interactive Explanation of Software Systems,'' in Proceedings of the 10th Knowledge-Based Software Engineering Conference, 1995.

Biography

Sidney C. Bailin is founder and President of Knowledge Evolution, Inc., a new company dedicated to fostering a vision of software development as knowledge creation, and technology to support this vision. Before forming KEI, he was a Vice President of Engineering at CTA, Inc., where for 12 years he played a leading role in that company's software technology program. He received his B.A. in mathematics from Columbia University in 1974, the M.Sc. in mathematics from Oxford University in 1976, and a D.Phil. in mathematical logic from Oxford in 1986. Since then he has published roughly two dozen papers on software engineering and automated reasoning. He has been active in the Software Reuse community since the Minnowbrook Workshop in 1987 (WISR grew out of the working group that he co-led there). His principal hobbyhorse is the evolutionary nature of software development, and the implications this has for software reuse.