© Jennifer M. Kohnke
After reviewing the software development life cycle as I understood it, I concluded that the only software documentation that actually seems to satisfy the criteria of an engineering design is the source code listings.
In 1992, Jack Reeves wrote a seminal article—“What Is Software Design?”—in the C++ Journal.1 In this article, Reeves argued that the design of a software system is documented primarily by its source code, that diagrams representing the source code are ancillary to the design and are not the design itself. As it turns out, Jack’s article was a harbinger of agile development. ...