I don't think a program is finished until you've written some reasonable documentation... I think it's unprofessional these people who say, 'What does it do? Read the code.' The code shows me what it does. It doesn't show me what it's supposed to do.