Sullivan, James (NIH/CIT) [C] wrote:
As the system gets used more and then becomes a critical piece of infrastructure, management gets worried, what of he leaves? They demand documentation, the programmer laughs. "Its self documented!".
Anyone who's worked in the IT business for more than a few years has likely seen this. Management is at fault for not making documentation mandatory and for allowing themselves to be so dependent on one programmer to this degree.
However, in the real world, management is never going to fund the documentation effort and the backup staff. They are not going to take a project that is inevitably late and over budget and spring for the extra time & $$$ to get the documentation done.
Documentation MUST be part of any system that is to be used by anyone other than the developer. It must be readable and complete.
I agree. I fought that battle for decades. However, it just doesn't happen in a world run by petty spreadsheet pushers disguised as senior management. It's less likely to be done in a world of volunteer effort where coding produces instant gratification and documentation is a drudge.
Nerds as a group have poorer communication skills than the general population. You're fighting an uphill battle just to get them to learn how to write proper English. I looked at some of the Apache code recently, trying to understand how some undocumented feature worked. The code was filled with variable names like: r, s, t... "Self documented"? Yeah, right. They can't write, they can't type and they can't spell. Hence, they produce write-once code that no one else will understand without considerable effort.
One of the most abominable code standards that results in unreadable code is the product of one Charles Simonyi (formerly of Microsoft). His coding standards in MS software are crap. He is currently a paying passenger on the Space Station. You don't get paid for real quality in the computer business. But some get paid billions.
Mike