A continuation of the classic article What Is Software Design? from 1992. Jack W. Reeves comments on the discussion that grew from the original essay.
The main points that I think are important are not obvious just from a quick read: the importance of early design (which is to say that focusing on requirements is a bad way of developing computer systems) and recognizing that design in different media (paper, code, UML, etc) means different things.
After reading through the articles a second time today, I'm not so conviced by them anymore; they are too much all over the place. There is something good there, but well hidden. I went from happy, to unsure, to confused rather quickly. The entire discussion lacks clarity - it is almost the opposite of how Paul Graham writes.