Software developers are notorious for skimping on design documentation, often eschewing it altogether. This trend has led to claims that it is merely an impediment in the fast-paced and highly pliable world of software development—a useless vestige of old-style engineering that should be eliminated altogether. While recognizing the unique nature of software, the author argues that, because of the complexity of modern software systems and the cryptic nature of current programming languages, good design documentation is not only useful but vital. However, we must seek ways of adapting it to suit the medium as well as the exceptionally dynamic development process.