How to Start a Software Company 2.0

by Richard Rodger

       
 
Documentation Damnation

I've been writing a lot (and I mean a whole lot) of JavaDoc lately. It's all for the new Ricebridge product, to be announced Real Soon Now.

One of the things that I like to do with my components is to document pretty much every method. This really makes things easier for users as you can grab usage information out of context just by reading one method description. So it's a big part of what makes Ricebridge components special – pretty good docs.

The reason most JavaDoc documentation is not very good is that it is a real pain to write. Technical writing in general is very hard. It's one of those things that "disappears" when it's good. You only notice bad documentation. Sun is quite good at it. But in fairness a lot of their documentation is still fairly sparse. And don't get me started on most open source Java components (even my own!). There's just not enough payback to really put the hours in.

But for paying customers, you just gotta do it. It's part of what people pay for. I certainly expect proper and complete documentation with anything I buy. I am often disappointed, but when the documentation is good it really makes a big impression on me. So that's why I have to document pretty much everything when it comes to Ricebridge components.

Right now, I can do this myself. It's time consuming and hard work, but it still makes sense to do it myself. However, I am beginning to wonder how the documentation process can be optimised. I'm sorry, but you can't just throw technical writers at it. First of all, it's not usage documentation in the traditional sense. We're talking hard-core techie stuff here. Secondly, you really have to be a developer to have a feeling for the pain points. Thirdly, forcing developers to write creates a nice feedback loop that actually increases code quality. But still, we do need to actually produce something that describes all the salient information about a given method, in good writing. I'm thinking text that is of the O'Reilly standard.

So developers can't write well (as a rule), but they know the facts. And technical writers can write, but a deep understanding of the API is something they will struggle with. Where do we go from here? I don't know. I know there are some folks out there who can mix these disciplines. I know that a lot of technical writers would say that they are up to job. But I want to know how it can be done with ordinary people in a small company. That's useful. Star performers are not a real solution. How does the average developer/technical writer produce great API documentation?

@ 05:33 PM GMT+00:00 [ comments [2] ]   email this   links to this

If you liked this entry, please consider bookmarking it &mdash Thanks!
Bookmark Documentation Damnation at del.icio.us Digg Documentation Damnation at Digg.com Bookmark Documentation Damnation at reddit.com Bookmark Documentation Damnation at YahooMyWeb Bookmark Documentation Damnation at Spurl.net Bookmark Documentation Damnation at Simpy.com Bookmark Polyphasic Mutants at NewsVine Blink this Documentation Damnation at blinklist.com Bookmark Documentation Damnation at Furl.net Fark Documentation Damnation at Fark.com

 
 
Trackback URL: http://www.richardrodger.com/roller/trackback/richard/Weblog/documentation_damnation
Comments:

It's great to see a techie who realises the crucial importance of good docs and is prepared to invest time in creating good quality. But you're missing the point slightly. Good, usable documentation is always the result of a collaborative process between two professionals - the programmer and the tech writer. Tech writers are not nameless, faceless recources that you 'throw at' a project - or if you do, the result will be exactly the kind of lamentable docs you say you want to avoid.
Especially for the kind of highly technical docs you speak of, collaboration between techie and writer is the key. The techie brings the technical know-how to the table, and the tech writer brings the whole range of skills that are essential in that profession: proofreading, editing, checking for usability and suitability to target readership, checking that the style and grammar are correct, ensuring a logical flow of information, etc. Actual writing skills are only one part of the value that a tech writer brings to a software company.
How to implement this in a small company? First, recognise the added value of a tech writer and be prepared to put your money where your mouth is. Then, find yourself a freelance tech writer - there are lots out there. Sit down with him/her and explain your needs. Be prepared to answer questions and have regular meetings. Collaborate as you would with any fellow-professional.

Posted by TechWriter (83.147.149.28) on November 08, 2005 at 01:32 PM GMT+00:00 #

Please see my other posts on this issue.

Posted by Richard Rodger on November 29, 2005 at 08:39 PM GMT+00:00
Website: http://www.ricebridge.com #

Comments for this have been disabled. Please send me a mail if you want to comment and I will activate comments again.
 
YahooBloglines
NewsgatorMSN
Google Readerdel.icio.us FurlSubscribe with myFeedster
« November 2005 »
SunMonTueWedThuFriSat
  
5
12
13
19
20
21
24
26
27
   
       
Today

All | General | Java | Business | Fun | Perl | Rant | Ireland | Web
[This is a Roller site]
[Valid Atom 1.0] [Valid RSS]
Technology Blog Top Sites
Blogarama - The Blogs Directory

Blog Directory & Search engine

Blog Flux Directory
Irish Blogs
 View My Public Stats on MyBlogLog.com

Performancing
Enter your Email


Powered by FeedBlitz
Theme adapted from Sotto.
 
Ricebridge XML Manager
  • Convert XML to a table of data
  • Convert XML to CSV, and CSV to XML
  • High-speed, single-pass XPath
  • Memory-stable and fault-tolerant
  • Loads of documentation
  • Cut-and-paste code examples
  • Find a bug, get a gift cert
Ricebridge Java XML Manager Component


Ricebridge CSV Manager
  • Convert CSV to a table of data
  • Handle any type of delimited file
  • Memory-stable and fault-tolerant
  • Loads of documentation
  • Cut-and-paste code examples
  • Find a bug, get a gift cert
Ricebridge Java CSV Manager Component


Popular Posts

 Sign up for MyBlogLog.com
Alertra Website Monitoring Service
Get Chitika eMiniMalls
Solo Tees
BlogJet