Knowledge management based on Stack Overflow for Teams

Alexandru Dragan
METRO SYSTEMS Romania
8 min readDec 17, 2019
Credit: Helpie WP

Knowledge management and sharing becomes very difficult in medium and large organizations. This happens because various heterogeneous platforms hold the information.

1. Introduction

Internal tools are very useful for their main purpose, but it’s goddamn hard to find the information you need. This often leads to wasting a lot of (development) time. The main reason is that many internal tools are not optimized for this and the content is properly maintained (curation, proper tagging etc.). The documentation tends to be static and fails to answers targeted questions.

A Q&A platform focuses on getting a clear answer to a specific question. I decided to give Stack Overflow for Teams a chance because I knew the system pretty well.

This was quite a challenging experience, way outside of my comfort area, even if it was a side project. That’s why I want to share what I have learnt from this experience and provide a guide for the venturesome.

2. Preparation

Implementing a knowledge management system beyond your own team might be a challenge. This depends on various factors such as:

  • organizational culture,
  • resistance to change
  • intrinsic motivation to contribute in a Q&A system
  • management’s will to invest in new tools
  • bureaucracy

Based on experience, I would advice to consider the following at the beginning of the project:

Do not start this battle alone

Find a couple of colleagues that share your vision and might help with various things. These include: programming, “janitor work” in the community and writing presentation pages.

In my case I relied on Claudiu Andrei, Alina Crețu, Rodica Picioruși and Alma Balaș.

Leverage

As a developer “dangling at the bottom of the food chain” I had to rely on higher forces. They helped me take the project off the ground. My manager was a great support. She helped me with the initial funding and introduction to the right persons (e.g. sponsors).

“Horizontal” support

It is important to find persons that share the same vision: a Q&A system is a solution for knowledge management and sharing. For me there were other developers, tech support colleagues, HR and administrative colleagues.

If you have been working in the organization for quite a while and took care to have some connections, this should not be a problem.

Have some hands-on experience

Spend some time asking and answering questions on Stack Overflow to understand how the system works. Keep in mind that you will also be a community moderator for your private community, not a regular user.

A community moderator needs to understand content curation and user guidance.

I had 5+ years on Stack Overflow, so this step was already fulfilled for me from the beginning.

Set the expectations right

The following is a snapshot from the Stack Overflow’s reputation league:

What does it say? Out of more than 11M registered users, only about 600K have more than 200p reputation points. This means a modest activity of getting 20+ upvotes for questions and answers. And there are millions of unregistered users as well.

Only a tiny fraction of the total users are actively contributing. Expect a similar ratio for your implementation too. If your community is small you should aim for a bigger value though. Otherwise you will not gain traction.

The good news is that the system can work only with a fraction of total users as contributors and a lot of consumers. The main challenge: find those users who are intrinsically motivated to contribute to the Q&A platform.

Carefully analyze the costs

One of the first questions coming from the management is the cost. The licensing for Stack Overflow is simple — pay for active license regardless of whoever uses it. Active means simply accessing to the platform.

One downside is that you are also paying for people that are not contributing. Currently there is no built-in solution to not pay licenses for read-only users.

One way to optimize the costs — deactivate accounts for users that have not accessed the platform in a while. This can be further improved through information mirroring (I will show later).

Be knowledgeable about all the features and limitations of the platform

You have to know about what you are “selling” to your colleagues and the management. Read the presentation page and check out the differences to the public platform.

Prepare for presentations

Depending on the context there will be a lot of presentations until the platform gathers momentum. Try to improve your presentation skills, if this is needed.

Personally I had to make presentations for my own team, other teams, middle-management and the CIO of the company (10+ presentations). Do not forget that there are different things that make them tick depending on the role in the organization.

3. Implementation

The easiest way is to make a presentation to the management and get an approval for the Business plan. Configure the Single Sign-On, announce the users and have them hit the platform.

This might be wishful thinking. Many might not see the benefit of the platform and simply not use it. The management might expect a big cost: number employees x cost per month x 12 months and not approve it.

So, I will stick to a more real-world scenario where people are not that welcoming to a Q&A platform and where costs matters. The context is very important and some steps might not apply to you at all.

Start small

Choose the Basic plan (you can upgrade later). Show the platform in your team. Then to the people you work with. Use it for adding Q&A about the actual work you are doing (questions and answers about your product).

Got a question on Slack or MS Teams, kindly ask the colleague to ask it on Stack instead. Found the answer to one of your questions? Add it as a Q&A on the platform. The number of views for all these question is a good indicator of their usefulness.

If things go well and you need to go beyond the free 25 license slots, find a sponsor to be able to grow. This should not be hard for $5/user slot/month.

One major downside of using the Basic Plan is the lack of SSO. Users must register with user/password and some of them will not be happy to have another pair of credentials.

Use meta.stackoverflow for questions about the product

Stack Overflow overs a fairly good support, but you might get even better support on their “meta platform”. Double check that you have included the stack-overflow-for-teams tag).

Promoting

This is an important component, much more important than a developer might think. Create a nice and catchy internal page for your platform. Explain the advantages and problems the platform is trying to solve. Example:

Information at a few of clicks away!

  • reduce nagging repeating questions
  • improve collaboration
  • always have up-to-date solutions
  • make contributing fun through gamification
  • reduce interruption though asynchronous collaboration
  • easily to find information through advanced fuzzy search

Make targeted presentations based on audience. Team or small department level is the best approach because of the homogeneous interest among the audience. Before making a presentation try to have several relevant Q&A on the platform to show as examples.

Q&As about the cutting edge UI component used in some project might not impress a person working in tech-support team mostly working with SQL. It is important to understand your audience and show the advantages for their specific work.

Be open to answer all sort of questions about this project. I remember that a few colleagues said they did not know about Stack Overflow (public). Others that do not have any questions to ask and one that is not going to contribute (only read) with anything to the platform.

This type of reaction should not discourage you as you will surely find people sympathetic to your cause.

Some important questions / concerns that might arise and you should be prepare for:

  • Q: why is it needed (in the context of X or Y platform). A: better search, reduced noise, less interruption for the colleagues. Naturally build and maintain the knowledge
  • Q: How much does it the cost? A: explain the plans, pros and cons for each, ways to optimize by removing users and mirror data
  • Why not use an open source alternative such as Coursera? A: Use a product/engine that proved its efficiency in over a decade for multiple fields other than programming. It integrates with public Stack (notifications, federated search). A very familiar model for tech folks, less noise (not a forum, only Q&A and some comments). Bonus: low maintenance effort.
  • It is extra work — show how quickly one can ask or answer a question. Emphasize on the platform swiftness (less than 0.5s response time). Explain how quickly finding an answer can help gaining time in the long run.

Cost optimization

Deactivating unused accounts will help bring cost down. You can build a mirror site and sync all the information. This can be done quite easy by using the Stack Exchange API. Register an application and you get 10K API calls per day.

By using a mirror site you offer a read-only version that is free of charge. Of course, the main objective is to on-board as many active users as possible. We already know that most will be read-only users. So, why pay for them?

Law and bureaucratic issues

If the company you work for has an international presence, it is important to understand some limitations based on local law. There is GDPR (kind of global) and this is covered by Stack Overflow’s policy, but there might be some other local regulations that interfere with software products used by employees (example).

Security might come into play as Stack Overflow is holding the data for you. For some companies there might be a security assessment (answer some questions) that you should send to Stack Overflow Inc. They will kindly answer, but require an MNDA to be signed.

Integrations

Some folks are reluctant to switch from their favorite communication channels. In our case, the company uses Microsoft Teams and many use this for knowledge sharing.

For those who want to query the platform from MS Teams, there is a dedicated app (connector). However this does not allow to contribute.

4. Conclusion

Implementing Stack Overflow for Teams was a challenging and rewarding experience. I met a lot of people in the organization and understood how much effort is required to completely put in place some piece of software.

--

--

Alexandru Dragan
METRO SYSTEMS Romania

A full-stack developer working with ASP.NET Core and Angular 2+. Also interested in knowledge-management.