Hacker News new | past | comments | ask | show | jobs | submit login

Ok, the problem is not the documentation. It's the specifications. This problem is exacerbed by management methods such as Agile/Scrum, where no specification document is built from the collection of task descriptions stored in Jira (and IF you are luck to have anything significant in the task descriptions, more often, from what I've observed, it's hand waving and shin pointing than anything precise written down).

And even if some specification document is written, it still remains the problem because when going thru all the phases of analysis design coding and debugging (whatever the period of the cycle you use), it is not updated!

Now we should probably distinguish API elements from internal implementation stuff (but the blog article mentions APIs).

When documenting internal stuff, unless you've developped internal APIs (which you should do!), the documentation can indeed be descriptive, to help maintainers orient themselves and avoid pitfals.

When documenting API, what you need mainly, is the specifications of the API. This will be the "contract" with the client code, and if there's a discrepancy between the API specification and the implementation, then it means there's a bug (somewhere, of course one could decide that the specifications where wrong, and need to update the specifications instead of the code). Most often it will be a bug in the code.

But the point is that either you have tools to track the specifications elements down to the line of code, so that when you create or modify a line of code, you have easy access to the specifications, or you put the specification in the docstrings (documentation comments) in the code, to get the same easy access. And note that this is a read/write access: specifications may need to be updated when the code is maintained.

So I would agree, write less documentation, write more specifications. Close to the code.




I tried a google search for "shin pointing" and only got pictures of people doing literally this.

I got it from context, obviously, but can you explain this turn of phrase to satisfy my curiosity?


i meant it quite literally. You know, in real life meetings, with body language, odors, hand waving and all that non verbal communication. If everybody knows what we're taliking about, then what's the point of writing it down? Yeah, right. Come back six month later and with half the team turned over, and see how useful thos old Jira tasks with no writte specifications will be useful...


Oh, I see. I've always known "hand waving" to be a Star Wars reference. i.e. "These are not the droids you're looking for."




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: