Document Last

While software is being created, its design and requirements frequently undergo a number of revisions. Constantly updating the documentation to match is expensive. Therefore, wait until the end of the project before creating documents not required to create the software itself. Examples include architectural overviews, design walkthroughs, and user manuals.

Known Uses:

Testimonials:

It was the finest documentation I've ever seen a project produce: up-to-date, informative, and with lots of juicy tidbits about where the project had been and where we thought it should go. There was a whole section devoted to "future challenges." (In the interests of full disclosure, I should mention that I was the author, and it was my idea to do things this way. So this testimonial is biased. Heavily.)

I love writing good documentation, and I used to be quite religious about it. But I don't believe the document was ever read. That's something I've noticed about documentation in general. So now I preach ReplaceDocumentation instead. --JimLittle

Anti-Testimonials:

There was no documentation when I started on this project. The project was fairly mature. Now I'm documenting and I have up to 91 FixMeTags in the documentation already. Major policy decisions weren't documented and sometimes different and conflicting policies are implemented in various parts of the code. - JohnCarter


[Note: This page can't be safely listed as a proto-pattern because of the dangerous assumptions about the nature of documentation (verb) made by some of the proponents. Let's wait a while until there is more input on this before categorizing a pattern here.]

A ProtoPattern is something that "has worked successfully for the author, and is written in some pattern form, but it does not yet reflect the experiences of multiple people who also know this pattern." I think this qualifies, so...

CategoryProtoPattern


See: ReplaceDocumentation, VideoTapingDesign, DocumentsFirstCodeLater

CategoryDocumentation


EditText of this page (last edited September 11, 2014) or FindPage with title or text search