Vous êtes sur la page 1sur 2

Book Reviews

Bringing Design to Software. Terry Winograd, ed. New York:


Addison-Wesley; 1996: 321 pp. Price: $30.25. (ISBN 0-20185491-0.)
Bringing Design to Software is an excellent introductory
collection of essays, interviews, and case studies that focus upon
the challenges of applying the principles of good design to the
development of software. The book grew out of a 1992 meeting
whose objective was to define the meaning of the term software design. The chapters in this book reveal how difficult a
task that is. The book can offer neither a succinct definition of
software design nor a canonical method for designing successful
software. Instead, it provides insights into what software design
can be, by presenting the perspectives of a number of respected
practitioners, researchers, and educators.
Winograds intent is to bring together work that introduces
and organizes important themes in the emerging discipline of
software design. In the introduction, Winograd compares software design to architecture, another long-established design discipline. His purpose in this is to illustrate the complex nature
of each enterprise. Both architecture and software design draw
upon a variety of skills ranging from the analytical world of
axioms, theorems, and proof (how to hold up a roof, or the
design of efficient, robust algorithms) to the less controllable
world of humans acting in context, intuition, and tacit knowledge (choosing metaphors or developing a design language for
a software system). He makes his own allegiances clear when
he says of software designers: We approach software users as
inhabitants, focusing on . . . how they live in the spaces that
designers create. Our goal is to situate the work of the designer
in the world of the user (p. xvii). Software design, then, is
human-centered, not technology-centered, and it is not based
upon the application of traditional computer science methods,
such as structured or object-oriented design, or mainstream software engineering methods.
The structure of the book itself is interesting and reinforces
the intent of each of the authors. There are 14 chapters, which
are most often essays about a particular facet of software design.
Each of the chapters is followed by a profile that is essentially a case study of a product, a method, or a firm. Winograd
wrote most of the profiles, and was a co-author on the others.
The function of the profiles is to link the content of the preceding
chapter with the subject of the case study. The profiles provide
additional examples, in another persons voice, of how the concepts presented in the chapter have been applied in practice.
This structure encourages an interactive, non-linear engagement
with the book. Each chapter includes a brief biographical sketch
of the author(s) or interview subjects, and each of the chapters
and profiles ends with a few suggested readings that identify
works closely related to the content of that section of the book.
The space available here does not allow discussion of each
of the books chapters, but some are of particular interest. The
Cultures of Prototyping by Michael Schrage discusses the

q 1997 John Wiley & Sons, Inc.

mutual influences between prototyping approaches and organizational culture, including issues of power and ownership of
the prototype within the organization. Examples used in this
chapter range widely, from discussion of the use of clay models
in the American automobile industry to the use of prototyping
tool kits for software design. Prototyping is the most successful
of the user-centered design techniques and has been widely
adopted as a technique for testing goodness of fit between software and its intended users. Both Reflective Conversation with
Materials, by Donald Schon and John Bennett, and Footholds for Design, by Shahaf Gal, emphasize the importance
of the interplay between materials and the designer. The metaphor is that of a conversation, where materials like wood and
metal, or an object like a system interface, are the medium
rather than words. Designers in any discipline meander toward
successful design, using a complex iterative process of making
choices, experimenting with materials and objects, and then
reflecting upon all of the previous decisions and experimental
results. The first choices made constrain what can initially be
built and how it can be built. Reflection on the process suggests
alternative decisions or materials, or even alternative processes.
These reflections motivate the next round of decision making
and experimentation. The use of prototypes, which are experimental objects created by the designer for use and critique by
the users, is one kind of material that can facilitate conversation
between inhabitants of the application domain and the designers.
Another key concern of both the meeting and the book is
the education and training of software design professionals.
Mitch Kapor, founder of Lotus Development Corporation,
claims that the concern of the software designer is to create
usable computer-based artifacts (p. 6) and that this is distinct
from the goals of the computer scientist (contributing to a theoretical discipline) and the software engineer (construction of
software systems from an engineering perspective). Kapor goes
on to state that software designers should be trained in a studiolike environment where they work on directed projects. While
Kapors distinctions between software design, computer science, and software engineering are clearly overstated, he does
highlight key shortcomings of traditional computer science education. For example, most texts and courses that teach structured
and object-oriented design methods mention the importance of
doing research in the application domain as part of design work,
but students are not trained in any of the qualitative research
techniques (interviewing, observation, content analysis, activity
theory, for example) that would actually enable them to extract
and organize knowledge about a complex application domain.
Software design curricula which intend to address these shortcomings are only now emerging in colleges and universities
and are small in number compared to mainstream computer
science and management information system programs. The
goal of such educational programs, Winograd says in his summation of the book, is to develop individuals who have the range
of skills necessary to speak to people from many disciplines,
including the users in an application domain, the coders, and
the database specialists, as well as managers, marketers, and
graphic designers (p. 297).

JOURNAL OF THE AMERICAN SOCIETY FOR INFORMATION SCIENCE. 48(12):11491152, 1997

/ 8N35$$1043

10-09-97 12:03:49

jasa

W: JASIS

CCC 0002-8231/97/121149-04

A number of the profiles provide lessons in computer history


in addition to their utility as case studies supporting the discussion of central themes in software design. One profile focuses
on the influential Alto and Star projects conducted at Xerox
Corporations Palo Alto Research Center during the late 1970s
and early 1980s. Alto and Star were not successful products in
the marketplace, but served as a training ground and object
lesson for designers who went on to develop successful products
like the Macintosh. Another profile examines the development
of the present day spreadsheet program, which grew from the
introduction of the first killer app for business users of the
personal computer, VisiCalc.
The lessons presented in the book are illuminating and sometimes inspiring. But the book does not come to grips with one
apparent disjuncture: How can the rich information gleaned
from the application of user-centered methods, like ethnography
or content analysis, be translated into specifications for working
systems? There seems to be a lack of attention paid to the
linkage between the products of software designers and the
needs of software engineers throughout the research literature. Is this a hindrance to the widespread adoption of humancentered approaches to information systems development? Peter
Denning and Pamela Dargans Action Centered Design, an
investigation of how designers created systems that users found
well-suited to their needs, hints that this translation may not be
important after all because the application of standard software
engineering methods may itself not be a critical determinant of
system success. All the designers [of successful systems] said
that they did not pay much attention to standard software-engineering methodology. Several said that the internal structure of
their code is ugly and not well modularized (p. 114).
Many of the issues addressed in this book are familiar to
information scientists. For example, the work here that examines the interactions between people and computers is related
in many respects to information retrieval research based in both
the cognitive and user-oriented approaches (Ingwersen, 1992).
Other sections of the book examine how people live with and
work with software and computer systems in specific contexts
through the application of ethnographic research techniques,
which is also a focus of the emerging Social Informatics research movement (Bishop & Star, 1996). The participatory
design movement is explicitly addressed in Sarah Kuhns chapter Design for People at Work and the accompanying profile.
It becomes evident that the lessons learned and offered by the
books authors can also be applied to current efforts to define
the library of the future, or to design information retrieval systems that can be used by library patrons as well as system
designers, librarians, or research experts.
This is not a work for the general public, yet the writing is
pitched toward a fairly broad audience, namely those who build,
evaluate, or use software, as well as those who teach software
design or development. If one has a traditional computer science
education, this book can expand ones view by showing how
user-centered approaches to systems design and development
can be applied to real projects. Managers and executives with
a less technical background can benefit from the down-to-earth,
non-technical presentation of the case studies and examples,
which can help them integrate software design techniques into
the design or development projects they are responsible for.
Users of software, especially those who contract with vendors
for the delivery of customized or specialized systems, can make
use of these ideas to shape how their own organizations interact
with their software providers. For example, customers can see
how they might participate in the evaluation of prototypes or
invite designers to observe use of the product in-situ.
The nine-page bibliography is an excellent resource for a
reader new to this topic, as it brings together many of the
acknowledged classics in the fields of humancomputer inter-

1150

face design, participatory design, ethnographic studies into the


situated use of information systems, typographic design, design
education, and Social Informatics. Even though the meeting that
led to the publication of this collection was held in 1992, the
bibliography is up-to-date, including references to many works
published as recently as 1995. This bibliography is provided in
addition to the brief list of suggested readings that accompanies
each of the books chapters and profiles. Separate name and
subject indexes are provided at the back of the book. The subject
index is not as well constructed as it might be, which is the
most obvious flaw in an otherwise well-designed volume.
This collection provides an introduction to software design
as a topic of interest separate from software engineering as it
is taught by most schools and practiced in most organizations.
It presents a high-level, general introduction to a number of
important themes in software design and encourages in-depth
exploration into each topic by pointing the reader to a set of
seminal works dealing with each theme. It is easy to recommend
this collection because of its careful positioning as an introductory volume, its functional, clear design, and its carefully constructed links to the work that informs the burgeoning discipline
of software design.

Robert J. Sandusky
Graduate School of Library and Information Science
University of Illinois at Urbana-Champaign
Champaign, IL 61820-6211
E-mail: sandusky@uiuc.edu

References
Ingwersen, P. (1992). Information retrieval interaction. London: Taylor
Graham.
Bishop, A. P., & Star, S. L. (1996). Social informatics of digital library
use and infrastructure. In M. E. Williams (Ed.), Annual Review of
Information Science and Technology, 31, 301401.

Technology and Copyright Law: A Guidebook for the Library, Research, and Teaching Professions. Arlene Bielefield
and Lawrence Cheeseman. New York: NealSchuman; 1997:
213 pp. Price: $49.95. (ISBN 1-55570-267-8.)
Copyright law grows increasingly complex as technology
and new uses of intellectual property are developed. Once an
isolated bastion in the world of international copyright law, the
United States over the past twenty years has revised its law in
recognition of the economic impact knowledge-based industries
and the performing arts have on the U.S. balance of trade. Not
only do librarians, educators, and researchers need to understand
domestic law, but they also must appreciate that reciprocal protection exists for foreign works. Interpretive guidebooks for a
specialized audience can be effective tools for gaining a basic
understanding of what kinds of copying are allowable and what
might be seen by a copyright holder as actionable.
The authors are both well qualified as experienced librarians
and lawyers, as well as having Libraries and Copyright Law
(1993) to their credit. This new work is divided into three parts
and supported by seven appendices that reproduce various key
documents. The first part, a detailed history of U.S. and international copyright law, concentrates on how technological change
necessitated legal change. Copyright has a very long and surprising history. Compared to the 255 years that it took to de-

JOURNAL OF THE AMERICAN SOCIETY FOR INFORMATION SCIENCEDecember 1997

/ 8N35$$1043

10-09-97 12:03:49

jasa

W: JASIS

Vous aimerez peut-être aussi