Category Archives: Software Design

The Value of Design Documentation

Recently I asked students to tell me what kinds of requirements they start with and what (if any) design documents do they produce. Several students said that they produced documentation just because it was part of their development process. As … Continue reading

Posted in Software Architecture, Software Design | Tagged | 2 Comments

Sustainable Design

In my most recent IEEE Column, Creating Sustainable Designs, I explore what it means to create software that can be maintained without too many growing pains. I have been intrigued by Christopher Alexander’s writings, particularly the first two volumes of … Continue reading

Posted in Half-baked Ideas, Software Design | Tagged , , , | 4 Comments

Three in a Row

I just got home from a 3-in-a-row conference marathon. First I went to the Patterns of Programming Language Conference, or PLoP in Nashville, where  our paper Dynamic Factory, co-authored with Leon Welicki and Joe Yoder, was shepherded in a writers’ … Continue reading

Posted in Events, Software Design | Tagged , , , , , | 1 Comment

Software Design and Development is Fun???!

A twitter between my daughter and a friend: @jordanwb Are you related to Rebecca Wirfs-Brock? Her name was mentioned in my Software Design and Development class. This class isn’t any fun. @thismax that’s my mom! I’ll let her know you … Continue reading

Posted in Software Design | Tagged , , , | Leave a comment

Design Hygiene

Without ongoing attention to design hygiene, design integrity is bound to deteriorate over time. My latest IEEE design column, Enabling Change, briefly examines what it takes to keep a code base ready to absorb new design changes. At the very … Continue reading

Posted in Software Design | Tagged , , , | 2 Comments

Lessons Learned from Architecture Reviews

Last year I talked about lessons learned from architecture reviews at JAOO 2007 and Markus Voelter from Software Engineering radio interviewed me. You can listen to our conversation. I’ve experienced both sides of reviewing. Early in my engineering career I … Continue reading

Posted in Events, Software Architecture, Software Design | Tagged , , | 2 Comments

A Conversation with Dan and Allen

I highly recommend this podcast interview with Dan Ingalls and Allen Wirfs-Brock (yep, we’re related) on Microsoft’s Channel 9. Dan was one of the pioneers who coded the first implementation of Smalltalk at Xerox Parc…and gave us overlapping graphics windows, … Continue reading

Posted in Software Design | Tagged , , , , , | 1 Comment

Challenges When Communicating Designs

Tuesday evening I gave a talk about the challenges software developers face when communicating design ideas. I started by making the connection between telling others about designs and storytelling. Effective designers need to tell good stories. And the tone and … Continue reading

Posted in Events, Software Design, Teaching techniques | Tagged , , , | Leave a comment

Deconstructing Frankenstein

One of my favorite things I do in any architecture or design course I teach is to discuss AntiPatterns—design ideas hatched with good intentions but that prove problematic over time. We’ve all seen examples of software done badly. The purpose … Continue reading

Posted in Software Design, Teaching techniques | Tagged , , , , | 5 Comments

Giving Design Advice

In an ideal work environment software designers freely ask for and offer constructive criticism and openly discuss issues. They don’t take criticism as personal affronts, and they and their managers make intelligent, informed decisions. OK, so how do design discussions … Continue reading

Posted in Psychology, Software Design | Tagged , , | 4 Comments