How Stack Overflow for Teams Fits into the Community
Back when I was a full-time programmer and there was some code someone struggled with, it was a common practice to ask around in cubicle land. Sometimes you’d get lucky and find someone who know the answer right away or knew where to look in the documentation. When Stack Overflow launched, I cultivated a habit of asking and immediately answering questions I’d heard discussed at the office on the site. To this day, I get upvotes on questions like “How can you untar more than one file at a time?” It doesn’t just add to my reputation score—it also feels great to know I’ve helped dozens¹ of strangers. How often can you say that about an hour or so of effort?
Meanwhile, most of the questions people on my team had were more like, “How do I check the current state of resource_server?” If you don’t know what that means, don’t feel bad. resource_server was a part of a proprietary system our company built. Maybe a dozen people could ever use that answer. Instead of posting on Stack Overflow, I’d either send it in an email or, if I thought it was important enough, add it to the enormous Word document that we called “the manual”. The manual was more or less write-only judging by the number of times people would re-ask questions that were clearly documented in section 6, paragraph 19! Sometimes I’d stare at the hardcopy version on my desk and wonder where I’d gone wrong in life.
For entirely unrelated reasons, I left that job and joined Stack Overflow as a community manager. Much of what I needed to know was documented on our meta site for questions about the network. But imagine my dismay when I discovered our team also had a Google Docs version of “the manual” for non-public information. This seemed crazy since we had access to the world’s best Q&A system. Later, we switched to our own internal Enterprise instance, which worked pretty well for a few weeks. But after the initial wave of questions, things slowed down.
This wasn’t unexpected. Since Stack Overflow Enterprise exists on a separate site, making it part of your workflow requires a constant supply of new content. Based on our experience with public sites and Enterprise customers, we estimate a standalone site needs about 500 total users. Fewer than that and there’s just not enough activity to keep people regularly engaged. As the name implies, the Enterprise product serves larger organizations that need features such as single sign-on and moderation roles. On Enterprise sites privilege levels are tuned for larger groups of active users.² Our entire company doesn’t exceed our definition of an Enterprise organization.
We’ve tried other solutions, including wikis, forums, Slack and Trello. Nothing works as well as the question and answer format. But a Q&A site needs some minimal level of activity so that people who have answers will keep visiting. And that’s where Teams comes in. Instead of going to a separate site, Stack Overflow for Teams puts your private Q&A on the site most programmers visit routinely as a part of their job. We’ve been using our internal Team instance for half-a-year, and I think we’ve finally got a viable replacement for “the manual”.
This is great news for organizations who are signing up for Teams right now, but what about everyone else? Won’t this mean more of the world’s knowledge is locked away in private silos? If you’ve been around the network for a while, you might recall we had a “too localized” close reason. Teams are a perfect place to ask questions without universal answers. Coding standard questions don’t work well on a public site since every organization has their own brace style (as an example). Sensitive information can’t be posted publicly either but is safe in Stack Overflow for Teams. In other words, much of the content posted in Teams isn’t appropriate for the public site anyway. If you do have a question that makes sense outside of your organization, the breadth of potential answers mean it’s best to ask in public instead.
What’s more, we’re hearing that some organizations use the Q&A format (both Teams and Enterprise) to preserve all sorts of other organizational information such as business logic, onboarding procedures, customer support questions and all kinds of documentation.³ These type of questions really won’t fly on the public site. But, you know, that’s fine. The more reason people have to visit the site, the more useful it will be for everyone in the organization. And, of course, the more people who use the site, the more likely questions will get answered from someone in the know. It’s a virtuous cycle.
This leads me to our super secret strategy for making the public site better as well. Along with your Team content, we mix in public content whenever appropriate. For instance when you do a search, you’ll find not only posts from your team, but also posts from the rest of the site:
Ok, that might not be the most useful example. But more than once, I’ve searched for an answer on my Team and found a corresponding public answer. Even though I work with some pretty great programmers, answers from outside my Team have been vetted by a more diverse group of developers. So more people become familiar with our sometimes quirky system, and by exposing them to the whole site, we expect some will take the plunge to start editing and answering in public.
Now the observant among you might have already noticed a catch: Team culture might be very different than the traditional Stack Overflow way of doing things. What’s going to happen, for instance, if some pointy-haired boss asks how to “utilize blockchain in container virtualization”? The UI goes to some lengths to make clear where your question will be posted, so one would hope this question will be restricted to the boss’s own team (who are presumably used to that sort of thing).
Connecting questions with people who can answer them can be more challenging when the audience is small. So we’re working on features that address discoverability. Within a Team, people can notify colleagues about questions. We don’t see that system scaling on the public side, but we have done some work to improve tag subscriptions that will soon be available for everyone. We’re also developing a feature for saving custom question views. Teams, Enterprise, Stack Overflow and the entire Stack Exchange network share a codebase, so improvements made in one context can be transferred to another.
Normally, changes make me worried. Teams, however, don’t bother me much. Don’t get me wrong: Stack Overflow for Teams promise to be a real boon for companies that sign up. But if you aren’t on a Team just now, they are pretty much invisible to you. In the long run, it certainly doesn’t hurt that they provide some extra revenue for more developers, designers and community managers. (By the way, we’re hiring now!) We’re grateful to have other lines of business, but it sure is a pleasure to be refocused on our communities and Q&A more directly.
Learn more about Stack Overflow for Teams >>
¹ And maybe it’s a lot more; the question has been viewed over 50k times.
² There’s a little guesswork here, but sociobiology suggests the upper limit is about 150 individuals for a site to work without hierarchical privileges.
³ We even use our Team for scratch space to prepare drafts of public announcements.
I am happy to say we use it the same way you do. First thanks to Alex Miller for helping us out to get us on Teams. Second back I want to say 15 years ago I wrote a system called QuikFix (I know Quick is spelled wrong – but don’t mind the spelling there was a joke about dropping the ‘c’ because it was so Quick). The system was basically Q&A like SO but it was an internal app. I struggled with these gigantic manuals as well so when I had something I knew I would come back to or would need to know I put it in QuikFIx. I used tagging, and search to easily bring it up. We used this system for a good 13 years and then the IT group finally got rid of it. But I tell you what…there is not one week where someone still mentions that system due to getting rid of the manuals.
We put any important questions in this system such as server information, cacti information, even programming tips / tricks (business logic). Once the system was gone..we were going back to manuals (which I hated). I was no longer part of the IT group so QuikFix was taken down due to some other people in charge. Its a shame it was taken away because it was exactly what you describe.
WIth all that being said I am very happy you guys released Teams. We have only had it for a few days but it brings back my QuikFix system I once so much enjoyed. I just have to get everyone else on board.
Great post Jon.
Bummer about that QuikFix system. Hopefully it will help get other people excited to start helping out on your Team that you can get a data dump if the subscription is ever canceled. At least that way you would have access to the content.
From working with tiny public sites, I think the key is to keep working at having new questions so that people will have a reason to come back regularly. And then do your best to find answers when other people ask questions. Ideally, link people to answers when you start seeing the same question asked more than once or twice. Self-answered questions are real plusses for that sort of thing.
Would you support conversions from other SO-like systems, such as QuikFix? Or, alternatively, the loading of a SO-like (pre-converted) database dump into the Team? (I’m speaking hypothetically; this could help to get some more customers.)