Over the years I’ve concluded, reluctantly, that the ONLY documentation solutions that matter are the code, revision control logs and issue trackers. Create massive comment blocks to explain things if you have to but put it all there in the code, next to the things that matter. Then it has half a chance of still being accurate. And, you know exactly where the documentation is. If the code becomes obsolete and is remo…
Stack Overflow for Teams
121–130 of 163 posts
Re: Stack Overflow for Teams
#122Earlier quoted context omitted.
You are assuming this is a tool for developers. It can be for anyone organized as a team, or based around a product. A product for example has sales, marketing, support, development, and more. They could all coexist in a single stack centered around the product for example.
Those all sound like things that should be in perfect sync with the implementation. It would kind of suck if Marketing started talking about one way things work, when they actually work differently. The company sure as hell shouldn’t have Sales selling people based on things that aren’t true. As I said in another comment, information extracted from code can be made more pretty but ideally the code is king.
If you put them in separate stacks, the bad information will just persist and live in isolation, and never get corrected.
You basically want to do everything you can to prevent silo'ing of people as well as knowledge. You want people talking.
Consider too that not everything posted has to be about technology. It can be recommendations for a good restaurant near a customer site, or where office supplies can be found in a large, multi-site office, or how to request facilities to come fix a leaking faucet.
Re: Stack Overflow for Teams
#123Over the years I’ve concluded, reluctantly, that the ONLY documentation solutions that matter are the code, revision control logs and issue trackers. Create massive comment blocks to explain things if you have to but put it all there in the code, next to the things that matter. Then it has half a chance of still being accurate. And, you know exactly where the documentation is. If the code becomes obsolete and is remo…
The conclusion I've come to in regards to comments is that each function should have a comment about WHY it is needed. As you said the code will change and exactly what it does will morph, but the why describes the architecture (somewhat) and hints at the abstraction model.
Adopting a policy of commenting every function header creates two major problems: (1) you now need to edit a comment every time you change a function, but your editor/compiler/rcs/ci will not inform you if you forget; (2) introducing a “typing tax” on creating new functions, since you need to write a comment too, actually discourages writing small functions because of the required comments.
The most readable code does not need comments, because you can clearly infer what each small function does by reading its header and local variable names. When looking at a set of functions, i.e. a class or file, you should be able to infer the “why” of each function by seeing it in the context of the other sensibly-named functions surrounding it.
Personally, my commenting policy is very simple: if I cannot infer the behavior of a piece of code by reading it, and I cannot change it to be more readable (usually for efficiency purposes), then I write a short comment explaining whatever is strange about it. This way someone reading through the code doesn’t need to slow down when they get to the grotesque portion, because they can just read the comment, assume it’s correct and double check later if necessary. Whereas if the code is littered with comments, you really can’t assume any are correct, which makes it difficult to read the actual code.
Re: Stack Overflow for Teams
#124Atlassian's "Questions for Confluence" is only half the price. https://www.atlassian.com/software/confluence/questions
It's only "half the price" if you ignore the cost of Confluence itself. The Atlassian people are also historically awful at building out features that make hosting their products easier (for example, they've ignored a request for a "read only" mode for about 12 years now [1]). The simple fact that it is a product that is made by someone other than Atlassian is a huge selling point. [1] https://jira.atlassian.com/brow…
https://confluence.atlassian.com/confkb/how-to-make-confluence-read-only-311920317.html
In any software, you've always got old requests that haven't been filled. We're just public about it.StackOverflow has the same issue here: https://meta.stackexchange.com/questions/tagged/feature-requ...
Many top requests are 9+ years old.
Re: Stack Overflow for Teams
#125Earlier quoted context omitted.
I'd rather not learn a 9th Atlassian specific markup language. I find JIRA and Confluence to be uncomfortably slow, even on high end hardware. I recall SO took a "scale up" approach but hopefully they can do better.
I 100% agree on the speed here. I thought it was just my inability to self host Atlassian products. I tried Atlassian OnDemand and the performance was actually worse compared to self hosting. I legitimately don’t know if I’m just bad a “tuning” their stuff, but JIRA and Confluence in particular were nothing short of miserable to use daily. Bamboo was great, but it had a lot less daily interaction than JIRA, for obvio…
I'd encourage you to take a look again.
Re: Stack Overflow for Teams
#126Earlier quoted context omitted.
If your goal is to post problems and associated solutions, yes it is better than a Wiki. First, it gives you a template to post in - you are not given a blank page and told "document this" Second, it encourages you to document single, smaller, focused pieces of information. You're not being asked or expected to write a multipage document, you're being asked to write a single entry in what essentially is a crowd sourc…
> If I post an answer, only I can modify it. Teams users won't be able to edit answers?
Here's how we coach moderators on the internal Stack-like site we run...
Editing
When editing content written by others, do so with respect to the person who is the original author of the content. Correct simple spelling and grammatical errors, but don't rewrite whole sentences or restructure some else's document. Instead, post a comment suggesting changes or corrections.
Re: Stack Overflow for Teams
#127Earlier quoted context omitted.
You are assuming this is a tool for developers. It can be for anyone organized as a team, or based around a product. A product for example has sales, marketing, support, development, and more. They could all coexist in a single stack centered around the product for example.
Those all sound like things that should be in perfect sync with the implementation. It would kind of suck if Marketing started talking about one way things work, when they actually work differently. The company sure as hell shouldn’t have Sales selling people based on things that aren’t true. As I said in another comment, information extracted from code can be made more pretty but ideally the code is king.
Re: Stack Overflow for Teams
#128Over the years I’ve concluded, reluctantly, that the ONLY documentation solutions that matter are the code, revision control logs and issue trackers. Create massive comment blocks to explain things if you have to but put it all there in the code, next to the things that matter. Then it has half a chance of still being accurate. And, you know exactly where the documentation is. If the code becomes obsolete and is remo…
Re: Stack Overflow for Teams
#129There's nothing like writing up an Evernote or Wiki article on some feature, process, or how/why something works... and then nobody on the team ever reading. I love writing documentation from time to time. But this helps by getting you to write documentation for only things people are asking about.
"Documentation on-demand" seems a great solution indeed! Although $5/month per user is not cheap. I work at a medium-sized funded startup and I doubt it would be approved for overall use (as it would be nice to include other teams as well, like Marketing, Analytics, Customer Support). It is the same price of GSuite, that adds a ton more value than SO for Teams could ever add.
Re: Stack Overflow for Teams
#130Seems like "yet another tool to try to offset the problem of requirements, code, and architectural decisions not being adequately documented for future staff to understand." Sometimes I wonder if software teams should add technical writers embed with developers, architects, QA, and BA assets to actually document All The Things and keep documentation up to date. Yes, that will mean re-writing documentations as people…
I have been wondering the same thing fairly frequently of late. I see a few different potential benefits to something like this:
1) I communicate with relatively low friction face-to-face, but writing is like pulling teeth. Being able to outsource the formalization of knowledge would allow me to spend my time doing what I'm good at. I would hazard a guess that I am not alone in this matter.
2) There have been numerous times in the past when, despite my best efforts, some key subtlety of code that I had written was not communicated effectively until someone essentially comsumed my communications and regurgitated their own understanding of it. Having this process be the default would yield documentation that was a lot more effective at educating rather than simply being a reference to those that already know.
3) There is a surprising segment of developers that do not value clarity over volume, and most interactions with non-trivial quantities of their code result in having to engage in what is essentially a guided re-write. Having every long-term artifcat subject to a professional bringer-of-clarity would significantly reduce friction in the medium, allowing for much bolder and more effective trade-offs when reconciling a new requirement to an existing system.
4) Having well-archived, clear documentation would significantly increase the speed at which new members become effective, while also lowering the overhead imposed on existing team members.