
Wirfs-Brock Associates Home Page > Resources
Wirfs-Brock Associates encourages use of these resources for personal enrichment. For commercial use or if you would like a presentation at your event, please contact Rebecca@Wirfs-Brock.com.
IEEE Software Design Column Starting in January 2006, Rebecca became the IEEE Software design columnist.
"Design Strategy" in the May / June 2008 issue.
Vol. 25, No. 3. Design matters, but not every design task deserves the same attention. Download PDF (120k)
"Connecting Design with Code" in the March/April 2008 issue.
Vol. 25, No. 2. The best commentary shares what the designer was thinking. Download PDF (217k)
"Valuing Design Repair" in the January/February 2008 issue.
Vol. 25, No. 1. Designing fixes to working software can be much harder than designing new stuff. Download PDF (198k)
"Does Beautiful Code Imply Beautiful Design?" in the November/December 2007 issue.
Vol. 24, No. 6. Instead of arguing for truth or beauty, we should think more about making our software more habitable. Download PDF (784k)
"Designing Extensible Classes" in the September/October 2007 issue.
Vol. 24, No. 5. A responsible class designer must strike a balance between openness, clarity, safety and ease of extension. Download PDF (154k)
"Giving Design Advice" in the July/August 2007 issue.
Vol. 24, No. 4. Being aware of some common cognitive biases, you can tweak your design advice and increase the likelihood of it being accepted. Download PDF (304k)
"Handling Design Criticism" in the May/June 2007 issue.
Vol. 24, No. 3. Effectively giving and receiving criticism are skills every designer needs to master. Download PDF (516k)
"Toward Design Simplicity" in the March/April 2007 issue.
Vol. 24, No. 2. Although the perfectly beautiful design is impossible to achieve, a disciplined approach to removing clutter can lead to simplifications. Download PDF (94k)
"Driven to...Discovering Your Design Values" in the January/February 2007 issue.
Vol. 24, No 1. Design is based on principles and values. And while a lot has changed about software design, common threads run through several practices. Download PDF (450k)
"Explaining Your Design" in the November/December issue.
Vol. 23, No 6. To plot a compelling story line about your design you need to consider what your audience needs to know, how much you think they already know, what you want to emphasize,.and what is best left out. Download PDF (194k)
"Toward Exception Handling Best Practices and Patterns" in the September/October issue.
Vol 23, No 5. This column presents guidelines and explores the state of exception handling patterns. Download PDF (288k)
"Designing For Recovery" in the July/August issue.
Vol 23, No 4. This column explores the design of software recovery actions when failing fast isn't an option. Download PDF (478 k)
"Refreshing Patterns" in the May/June 2006 issue.
Vol 23, No.3. This column explores how a preferred form of a pattern can change with use and experience. Download PDF (146k)
"Characterizing Classes" in the March/April 2006 issue.
Vol 23, No.2. The column introduces several key properties of classes. Download PDF (180k)
"Looking for Powerful Abstractions" in the January/February 2006 issue.
Vol 23, No.1. This column explains why identifying reasonable classes isn't as simple as underlining nouns or modeling "real world" concepts. Download PDF (177K)
Presentations by Rebecca Wirfs-Brock (Updated October 2006)
A Brief Tour of Responsibility-Driven Design: This presentation (updated July 2006) introduces the popular design practice called Responsibility-Driven Design and several tools for thinking clearly about objects roles, interactions, and contractual relations. Download PDF (3MB)
Skills for the Agile Designer. This presentation (updated July 2007) introduces useful tools and techniques that designers can use to sharpen their seeing, shaping, and problem solving skills. Download PDF (2.0MB)
Designing Reliable Collaborations. This presentation covers reliable collaboration design from A to Z. Topics include: designing for trusted and untrusted collaborations; guidelines for using program level exceptions; exception recovery strategies; where should exceptions be handled; and how to streamline checking by identifying trusted collaboration regions. Download PDF (2.9 MB)
The Art of Writing Use Cases. This presentation covers essential techniques for writing clear, concise, and informative use cases. It also introduces three forms of use cases and explores their strengths and weaknesses. Download PDF (1.2MB)
What Every Java Developer Should Know about Roles, Responsibilities, and Collaborative Contracts: Presented at JAOO 2000, this talk introduces key Responsibility-Driven Design concepts and shows how they apply to Java programs. Download PDF (455K)
The Art of Telling Your Design Story. (updated July 2006) The best way to present your design isnt likely to be the same way you came up with it. To be an effective communicator, you need to know what belongs together and what deserves special emphasis. Download PDF (1.5 MB)
Articles by Rebecca Wirfs-Brock
Design Articles
Once Upon a Design in the July/Aug 2003 STQE magazine. This article, drawing on material from our book Object Design, explains how to tell compelling stories about your softwares behavior and structure. Download PDF (116K)
What It Really Takes to Handle Exceptional Conditions presented at forUse 2002. A large part of software design involves accommodating situations that, although unlikely, still have to be dealt with. This paper draws on material from the book Object Design. Download PDF (405K)
Adding to Your Conceptual Toolkit: Whats Important About Responsibility-Driven Design in the Report on Object Analysis and Design, Volume 1, Number 2. The aspects of a design model you concentrate on as you develop it, and the order in which you do so, have a profound impact on your results. Download PDF (320K)
How Designs Differ in the Report on Object Analysis and Design", Volume 1, Number 4. Two Boeing engineers, Bob Sharble and Sam Cohen, created different designs for a brewery control application. This article explores key design choices and their impact: use of inheritance, patterns of collaboration, and the predominance of specific role stereotypes. Download PDF (228K)
Characterizing Your Objects in the February 1992 Smalltalk Report, Volume 2, Number 5. This is the original article that introduced role stereotypes. Download PDF (84K)
Characterizing Your Application's Control Style in the Sept/Oct 1994 Report on Object Analysis and Design, Volume 1, Number 3. This article discusses several different application control styles. Download PDF (136K)
Determining Object Roles and Responsibilities from the Smalltalk Report. The task of the designer is to assign each object an appropriate role. Each role is constrained to fit within the existing object model, but a lot of discretion is still involved. Download PDF (96K)
Implementing Design Responsibilities A designers job isnt over until codings done. Heres some advice on how to transform a design into good code. Download PDF (144K)
How Can a Subsystem Be Both a Package and a Classifier? by Joaquin Miller and Rebecca Wirfs-Brock. Presented at UML 99. UML specifies that a subsystem is both a package and a classifier. This paper explores what that could possibly mean and explains why that was the right choice. Download PDF (115 K)
Object Visibility: Making the Necessary Connections from the October 1991 issue of The Smalltalk Report, Volume 2, Number 2. An early article describing how to turn an imprecise list of collaborations into a more rigorous design description, and finally into Smalltalk code. Download PDF (120K)
Responsibility-Driven Design from the Smalltalk Report. An early article describing Responsibility-Driven Design concepts. Download PDF (128K)
Problem Frames
Problem Frame Patterns, presented at PLoP 2006, by Rebecca Wirfs-Brock, Paul Taylor and James Noble. A gentle introduction to problem frames, written as patterns, for analysts and designers. Download PDF (615K)
Introducing Problem Frames. This presentation (updated July 2006) introduces Jackson's five problem frame patterns and illustrates the frames found in an email application. Download PDF (3.1MB)
Use Case Articles