Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I recently read this article on knowledge sharing and immediately recognized the same problem within my own organization. My main goal now is to 'kill peer-to-peer collaboration' as the default method of communication for non-private, system related discussions. Otherwise you end up with all of the historical knowledge living in the heads of individuals, or lost in a massive email system.

My question for the group is as follows:

  • What methods / software have you used to encourage more 'public' discussions among your developers?

Some initial ideas I had.. any feedback would be great:

  • Internal news group
  • 'better' wiki software (using Sharepoint now)
  • Message board

(I would love to have an internal instance of StackExchange, but don't think that is an option!)

Note: As stated above, we already have a wiki, but I dislike the wiki idea because things are usually only added to the wiki after the fact, if at all.


share|improve this question
Great question. We have the same issues. We call it the "what if <insert-name> gets hit by a bus" syndrome. Thanks for asking this. – DevSolo Nov 15 '10 at 20:09
Otherwise known as "truck number". – Frank Shearar Nov 15 '10 at 20:48
Based on the answers so far, I take it that most people are using wikis and email with some success. Perhaps I was just dreaming when I thought there must be a better way to do this. :| – mpeterson Nov 16 '10 at 15:50
The key is not in the technology, but in the people. As I have seen in my workplace, having a wiki doesn't imply that people will use it. If that's the way you want to go, than encourage it. I'm sure that there are places that don't need collaboration tools to communicate effectively, because the people are constantly talking to each other about what they're doing. Wikis etc. should be there to help streamline the knowledge sharing, not create it. – Michael K Nov 16 '10 at 15:57
You're exactly right, Michael! I'm trying to change the 'culture' of sharing information within my development team. The technology isn't as important as the mindset. – mpeterson Nov 16 '10 at 15:59
up vote 2 down vote accepted

We have a large internal Sharepoint site and a customer-facing support site, that takes a lot of documents from the internal Sharepoint site. This is less about implementation detail and more about support admittedly, but as I work largely in a support capacity we need access to a lot of implementational information and so we end up being drivers for the engineering team to document what they are doing and why. A detailed bug tracking system is also valuable for following up how problems were solved.

In our company, partly because we have development spread across a couple of locations, a lot of discussions about new features and support problems end up happening over email. Rather than trying to change this, the easiest approach is an email archiving system that makes the discussions searchable and trackable- effectively a newsgroup type approach. We are able to do this through Sharepoint, although one has to be aware of the limits on list size as although it will grow to millions of items you can't actually do much in terms of sorting very large lists or editing views on them without it crashing out dramatically.

share|improve this answer
Ah.. we have a lot of support duties as well, and are geographically distributed. The archived/searchable emails via Sharepoint is pretty interesting. That might be the appropriate compromise... – mpeterson Nov 16 '10 at 13:51
What we think will work is to split the email archives into three month chunks so that the list sizes stay manageable. Obviously the time span will vary by month and we've used SP2007 - it may be that 2010 handles larger lists better. – glenatron Nov 18 '10 at 8:19
I'm very much considering this. Couple this with more emphasis on using our bug tracking system and filling out more of the wiki so that we reach that 'tipping point' in content, I think this is the best answer to my question. – mpeterson Nov 21 '10 at 5:27
If you are using Wiki make sure it's not the built in Sharepoint one- I think there are some pretty good add-ons that do the same job and don't suck... – glenatron Nov 22 '10 at 11:49

StackOverFlow for enterprise like explained in the article you mentionned?

IMHO it's a terrible idea.

It will reinforce competition instead of collaboration.

You need cross division/department collaboration, not increasing their competition.

Also imagine the extremely high negative impact of being downvoted by your coleague (in front of others) can have on your psychic health.

Don't mix everything.

However, an idea box much more where employees can post ideas (anonymously) and other employees upvote them (also anynomously) will have a positive impact. I developed a such platform few years ago for a very large banking institution, and it helped executives to identify what to improve in priority.

share|improve this answer
@Pierre, how do see competition instead of collaboration? I respect your view, but I honestly don't see it. I'm curious. – DevSolo Nov 15 '10 at 20:17
points = competition. Competition because there is a ranking. – user2567 Nov 15 '10 at 20:18
Perhaps I should be more clear... I don't want a points/voting system. (I agree that could get a little tense) – mpeterson Nov 15 '10 at 20:23
Mpeterson, maybe I was more replying to the guy in the article you mentionned. But I suggested an idea in my answer that worked in a large global company pretty well. – user2567 Nov 15 '10 at 20:25
How is your idea box with voting different from the StackExchange platform? – Robert Harvey Nov 15 '10 at 20:54

I really like the wiki idea as well, but you're right -it's hard to get people to contribute. And without contributions, no one will actually use it because it doesn't have enough information. There is a "tipping point" however in which if you could get people to post (perhaps thru a required business process) at some point the wiki would just take off as it would be this great repository of information.

share|improve this answer
We have that problem at my company. However, slowly more people are using the wiki, and my manager is encouraging people to look there and post things. He has assigned various people at times to put specific things on the wiki that he wants easily accessible - I think that has helped. – Michael K Nov 15 '10 at 20:52
We are doing this as well, but it still feels cumbersome. Maybe we haven't reached the tipping point yet? – mpeterson Nov 15 '10 at 21:16

Pair Programming is a great way of disseminating tacit knowledge.

The problem with tacit knowledge is that it can pretty much by definition not be written down or taught, only experienced. Pair programming (specifically Promiscuous Pairing) provides that.

share|improve this answer

The knowledge that is important to the enterprise should make it into the project itself, in the form of well-written code, high-level comments about the architecture, and exceptional documentation about the project's goals and how they are accomplished with technology.

I couldn't disagree more with the linked author's conclusions. Encouraging the capture of knowledge by discouraging team collaboration? Sorry, but that's not how it works. It is the collaboration itself that produces the knowledge wealth, not sequestering engineers in cubicles.

share|improve this answer
I took it that the author is only trying to discourage 1-on-1 collaboration in private, not entirely? – mpeterson Nov 15 '10 at 21:12
Also, +1 for the comment about knowledge being its own project. That always seems to be the forgotten asset in building many internal projects. :| – mpeterson Nov 15 '10 at 21:17
mpeterson: In my experience, most genuine team collaboration and creative knowledge building occurs one on one, in an ad-hoc, informal way, not in meetings. – Robert Harvey Nov 15 '10 at 22:05

My company has some internal discussion boards. They are used very seldom. For the most part, the knowledge we have is either too general (general technology questions/topics that are just as well discussed in the internet) or too specific (applies only to our application and not to other application teams in the same company). It is good in that it does give a place for people to say how do I accomplish xyz here but its not much of a community feel.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.