I think documentation is an imperative, for several reasons. But first
to mention that it's a management, not programmer, responsibility that
it be regarded as important, respected and kept up to date.

It's management's job to give developers the outline, table of contents,
to flesh out, so the programmer doesn't have to make these decisions.
That's as it should be, because if each programmer is deciding the
outline, no two docs will match.  Just for one example, I'm management
and I've prescribed that all documentation prepared in my shop will have
an appendix section that contains screen shots of every form in the
system. Anyone interested in looking into my products knows this and
exactly where to look for that particular collection of information, and
so on.

The greatest benefits of documentation are that it gives the programmer
a road map of the entire system, something that cannot be gleaned from
looking at any program in the system. Also, the documentation contains
the original specifications and the thinking behind why this was done
instead of that. I put every single note, even scans of notes on paper
places, and emails, somewhere in the doc. Yes, this produces large doc
files, but who is counting? Nobody reads the whole thing (save intros)
end to end, but the doc is searchable when a question comes up, and
therein is great benefit.  Doc also contains lists of functions
available to the programmer, for easy search and perusal, to draw from
and to prevent wheels from being reinvented. 

I have seen terrible documentation, and even produced some that didn't
make the grade, but that doesn't mean doc is a bad idea, just that we
have to get better at it. Practice, practice, practice. And better tools
would help a lot.

Lastly, I've seen so many times this effect: I'll write something
quickly, and put it where it belongs ... Then, some time later, revisit
what I wrote and say to myself "nah, that was completely wrong" and then
fix it. The thing is that the poorly written note triggers the repair,
so even it serves a purpose.

In the last analysis, doc is a system, and like all systems, they work
if they are regarded as important, and fail if they are neglected or
considered unimportant. I've seen this in big companies with systems
management activities, such as problem management. One company has it
down to a science, another never got it. 


Bill



> Most documentation is a waste of time and money.  It is 
> expensive to produce.  It is frequently not maintained, 
> rendering it useless.  And it makes two very "iffy" 
> assumptions: one that the author knows how to write and two 
> that the reader has a basis for comprehension.
> 
> Heresy?  Perhaps.
> 
> My response to documentation (or lack of it) is that if I am 
> going to fix your code or expand it or whatever, I had better 
> be smart enough to understand what is there.  If I cannot do 
> that from looking at the source code and perhaps a few test 
> cases, then I should not be messing with the stuff.  Would 
> you want to be under the care of a medical doctor who had to 
> rely on his class notes?
> 
> Agile programming?  It's an oxymoron.  If one ordinary woman 
> can give birth to a child in nine months, nine agile women 
> should be able to do it in one month.
> 
> HALinNY 
> 



_______________________________________________
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://leafe.com/mailman/listinfo/profox
OT-free version of this list: http://leafe.com/mailman/listinfo/profoxtech
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.

Reply via email to