Live data from Hacker News

Stack Overflow for Teams

stackoverflow.com

121–130 of 163 posts

Re: Stack Overflow for Teams

#121

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…

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.

Re: Stack Overflow for Teams

#122

Earlier 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.

No you totally want marketing to be talking about something in the same place, even if they are wrong. It would absolutely not suck if they posted something incorrect, because then the people that know better can post alternative answers and/or comment and help correct the information.

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

#123

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…

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.

Please no, do not comment every function. Each function should average 5-10 lines, with clearly defined separation of concerns, and a descriptive name that inherently describes any writes/reads of the function. In the rare case where it makes sense to have a massive function, and you can’t break it into smaller functions within its scope, then maybe it makes sense to use a comment.

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

#124
post #52
post #15

Atlassian'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…

FYI that we're implementing read-ony mode in our data center product line, and we've also got various knowledge base articles for how to achieve this should you need it:

  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

#125
post #53
post #19

Earlier 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…

We have recently replatformed Jira and Confluence in Cloud: https://techcrunch.com/2018/04/02/atlassians-two-year-cloud-...

I'd encourage you to take a look again.

Re: Stack Overflow for Teams

#126

Earlier 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?

Well, I'm assuming it works like Stack Overflow. I can edit my own posts, but not those of others. Only high reputation moderators have the ability to edit other people's posts.

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

#127

Earlier 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.

Lol. Your kidding right. This would definitely be useful as a communication layer between business and sales with perhaps engineering involved.

Re: Stack Overflow for Teams

#128

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…

[deleted]

Re: Stack Overflow for Teams

#129
post #73

There'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.

How much does your startup pay for HR functions, Salesforce/CRM, internal webhosting, etc?

Re: Stack Overflow for Teams

#130

Seems 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…

> Sometimes I wonder if software teams should add technical writers...

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.

Post reply on HN