Live data from Hacker News

Ask HN: How do you organize software documentation at work?

news.ycombinator.com

11–20 of 93 posts

Re: Ask HN: How do you organize software documentation at work?

#11
post #4

Never use a wiki for anything. Wikis are the number one worst form of documentation. They are worse than no documentation. Wikis explicitly destroy the concept of ownership and responsibility, and without those, what you get is a big pile of outdated, unorganized trash that no one maintains. Destroy wikis.

So what do you use instead?

A wiki

Re: Ask HN: How do you organize software documentation at work?

#12

I hate, hate software documentation as a concept. It gets out of date and is hard to use. It's a last resort, only for specialized cases. I prefer two types of documentation: 1. Executable documentation - tests, asserts, even things like Jupyter notebooks that can be tested and executed 2. Timestamped documentation - documentation that has a clear date on it of when it was valid. So the reader has an expectation "Thi…

I think there's a solution for avoiding zombie documentation.

The documentation lives in the same git repository as the code that it documents.

Inaccuracies or out-of-date documentation is treated as a severe bug. Issues are filed, the documentation gets fixed.

This is crucial, because if zombie documentation is allowed to persist it causes people to lose trust in the documentation, which means they won't refer to it and they won't contribute to it.

Once the documentation is in a trustworthy state, keeping it that way gets a LOT easier. It becomes part of the code review process - a PR won't be accepted unless it updates the relevant documentation that accompanies the code change.

I've been using this policy for my own projects for quite a few years now, and the result is that I'm proud of the state of my documentation for almost the first time in my entire career.

Re: Ask HN: How do you organize software documentation at work?

#13
post #4

Never use a wiki for anything. Wikis are the number one worst form of documentation. They are worse than no documentation. Wikis explicitly destroy the concept of ownership and responsibility, and without those, what you get is a big pile of outdated, unorganized trash that no one maintains. Destroy wikis.

So what do you use instead?

Assign domains of the app to developers, the people doing the code reviews require people to update documentation.

Bakes into your existing workflows, direct line of accountability to both the code reviewer and the dev.

The editing software can be anything really.

Re: Ask HN: How do you organize software documentation at work?

#14
post #4

Never use a wiki for anything. Wikis are the number one worst form of documentation. They are worse than no documentation. Wikis explicitly destroy the concept of ownership and responsibility, and without those, what you get is a big pile of outdated, unorganized trash that no one maintains. Destroy wikis.

The arch wiki for example is not perfect, but still helpful to me (and Wikipedia in general). I would not overgeneralize.

Re: Ask HN: How do you organize software documentation at work?

#15
My workplace uses Confluence.

I hate it for a very simple reason: the code (in BitBucket) and the documentation are disconnected.

I want my code and documentation to be coherent with each other. For small open-source projects (e.g. https://github.com/LaurentRDC/javelin), I love using doctests which ensure some level of coherence between documentation and code.

Re: Ask HN: How do you organize software documentation at work?

#16
post #4

Never use a wiki for anything. Wikis are the number one worst form of documentation. They are worse than no documentation. Wikis explicitly destroy the concept of ownership and responsibility, and without those, what you get is a big pile of outdated, unorganized trash that no one maintains. Destroy wikis.

So what do you use instead?

I am not OP but I push very hard for docs as code. Your pull request should change content in the ‘src’ folder *and* the ‘docs’ folder.

Especially if making changes to the over all architecture or introducing a new dependency! The team shouldn’t let the PR ,edge until the docs are sufficient

Re: Ask HN: How do you organize software documentation at work?

#17
At a previous employer people constantly complained about the lack of documentation. Once I started digging in I realized we actually had LOADS of documentation, but it was spread across (genuinely) 11 different systems!

I span up a search engine that covered as many of those systems as possible (just SQLite FTS with Datasette, cron tasks that indexed various things and a simple custom search UI) and it helped a lot, because people at least had a fighting chance of finding stuff.

I believe there are off-the-shelf solutions for this kind of thing now, though I don't have experience with any of them myself.

I've since recreated aspects of the search system I built there as https://github.com/dogsheep/beta - you can see a working example of that system on the Datasette site here: https://datasette.io/-/beta?q=geojson

Re: Ask HN: How do you organize software documentation at work?

#18

Earlier quoted context omitted.

So what do you use instead?

Assign domains of the app to developers, the people doing the code reviews require people to update documentation. Bakes into your existing workflows, direct line of accountability to both the code reviewer and the dev. The editing software can be anything really.

And ... this can then still be a wiki, right? Not saying that they are the best form, but I think you can combine wikis with people who (have to) take responsibility for certain articles.

Re: Ask HN: How do you organize software documentation at work?

#19
Code comments + Slack. GitHub and Slack search are great if you know how to use them and I have yet to find something I couldn’t answer with these tools.

People like to say “Slack isn’t documentation” but in reality it’s a better documentation than some outdated Wiki nobody is touching.

Post reply on HN