Extreme Programming was a software development methodology that got a lot of buzz back in the late 90s. One of its rules was no living developer documentation which meant that you could write documentation but only in the form of a memo or email with a short shelf life. You did not have to keep the documentation up to date over time.
The rationale behind this was that customers weren’t paying for documentation, they were paying for code. Half the time, the documentation wasn’t kept up to date or was inaccurate anyway so why bother? If you want to know what is really happening, then just read the code.
All well and good for a twenty line script but I can read and understand a two page technical white paper describing the architecture a lot faster than a two million line application.
Another reason for documentation is compliance management which allows an organization to track and measure how well they comply with the rules and requirements of external regulatory organizations and oversight committees. You can read more about how our collaborative software development project lifecycle management product Code Roller supports compliance management by reading this white paper.