| The issue is that people seem to equate "good documentation" with complete. It's just not possible to do this. I think it would be better to talk about "effective documentation". My opinion on the matter: Three levels of documentation 1. high level documentation that describes the problems and the goals from the business perspective 2. mid-level documentation that describes the architecture that gets us there 3. low-level documentation, aka code. high level gives you direction (where), mid-level gives you context (what), low-level gives you implementation (how) You need the what to understand the how, and you need the where to understand the what. The other piece is an acceptance that you can't document away the need for tacit knowledge. To draw an analogy. No amount of documentation is ever going to allow a kid to hop on a bike and ride it perfectly the first time. That is not what it means to teach a child to ride a bike.
Instead the goal is to have enough documentation to minimize the amount of time it takes that child to gain the tacit knowledge necessary to ride a bike acceptably. Once you accept the above and lower your bar, "effective documentation" becomes much more achievable. |