I read Richard P. Gabriel's book "Patterns of Software" (pdf) which contains an essay called "Writing Broadside" in which he contends that programmers should develop their ability to write clearly. I have found that his suggestions have definitely improved my ability to write tech. spec's and design documents.
One of his suggestions is to develop writing workshops at work. That this will help improve your ability to express yourself clearly when documenting your designs.
We already have a system where, once a week, a team member gives a Pecha Kucha talk on any topic to help improve our ability to give presentations.
So I'm thinking of suggesting the writing workshops as well.
Does anyone have writing workshops at their place of work?
"A man who has the knowledge but lacks the power clearly to express it is no better off than if he never had any ideas at all." - Thucydides
Edit: What I am talking about here is the ability to document your code in a clear manner, e.g. tech. spec's and design doc's. Not the writing of the source code itself.