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.
Three Essays by Jack W. Reeves
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.