I've had the experience when starting a few jobs that I spend the first days and weeks reading lots of internal wiki articles that were written by previous waves of team members.
Through these experiences I've come to realize that deleting documentation is at least as important as writing it in the first place.
We're probably all familiar with the concept of self-documenting code. Since we know that code comments tend to drift from the code they're describing, we structure and choose names for our code elements so that the code itself describes its purpose. Great!
If we're being good developers, we also write unit tests for our code that form a layer of executable documentation covering the code. We know (in most cases) that our tests have drifted from the code they cover when they start failing. Even better!
Unfortunately, wiki articles don't have any built in mechanism to stay in step with the things they describe. And just like code comments, they're out-of-date almost as quickly as they're written, with no automated way of finding this out.
Over time, out-of-date documentation adds negative value to a project. Going past the point of being valueless, it actually misleads the very people who need the documentation and won't know that it's become inaccurate.
I would love to see a wiki system where articles have an expiration date. Or something like a self-destructing wiki. Articles that aren't kept up to date simply disappear from the system automatically.
I'm kinda joking, but I'm kinda not. I'm truly curious if there are good solutions to this problem. Dear reader, please leave a comment if you have any.
A cursory googling makes it look to me like all of the wiki systems I've used have REST APIs available: Azure DevOps, Confluence, and GitHub. I'm imagining it should be possible to build a process that periodically checks the "last updated" date of every article in a wiki and notifies the author or a distribution list when it hasn't been updated for X days. Or maybe just deletes it!
I want my wiki to expire.
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.