One of things that I was unprepared for starting at Microsoft leaving college was the size and scale of this company.  Previous jobs and projects I’ve worked on all had the distinct advantage of being small, with all of the key players and stakeholders usually sitting on the same floor of a building.  That luxury no longer exists, and has been replaced by the challenge of working with people that I have never met face-to-face.

 

I can’t think of a better example of this than the MSDN Forums project I've been working on.  I don’t think I could write down all of the names of every person involved in some way on the project.  Josh Ledgard and I are the primary stakeholders here in the Developer Division, but there’s also a “forum owner” for every team inside of DevDiv (C#, VB, Visual Studio Core, C++, VSTO...the list goes on and on.)  Branching from there, there are often co-owners of those forums, and individual internal users of the forums.  Oh yea, how about the large number of (truly awesome) customers who are volunteer moderators and answerers on the forums?  The platform and technical details of the forum system itself are owned by the Microsoft.com Communities team…sitting on the other side of campus in Redmond.  As we become more and more involved with PSS (our product support team), we branch out even further to other locations in the Seattle area.  And it can branch even further from there—part of our involvement with PSS has led to the conclusion that we need to obtain some information from Passport services.  Another database, another team, another set of names and email addresses to learn and keep track of.

 

Those are just the English forums.  Of course, Microsoft developers are around the globe, speaking several different languages.  Bring in the Microsoft subsidiaries—in Japan, Taiwan, China, France, Italy…you get the picture.  Every subsidiary has a team of people working to get involved in the project and have their own localized forum.  You start to get the picture.  Just a rough estimate, but in working on the forums project, I've probably dealt with over 100 people internally, and another 150 to 200 customers.  That's in seven months.

 

The challenge in this isn’t just coordinating meetings and getting on the same page.  Email can go a long way to informing a large group of stakeholders on the project of status, or asking for information.  It’s in trying to actually find out who these people are…an address book and directory can’t really tell you who the expert on topic X is at the company.  How can I find out who I’m supposed to be talking to?

 

Of course, I'm not really complaining.  This is what's exciting about working for a company like Microsoft.  There’s a huge advantage in working with so many people.  One hundred people’s opinions together are quite a bit more valuable than my singular ideas.  Working with people from around the world poses a time-zone and language challenge—but it also adds an exciting flavor of diversity to the project.  Who knew that a half-year out of college I would get to email with people in Japan and Taiwan on a daily basis?  J  The people here are also excited about the projects they work on—when you finally find them, your interest is usually greeted by enthusiasm to help you…people like to know that other people in the company find their work valuable and exciting too.

 

The best way currently to find who the best contact is in a group—let’s take the MSDN Forums primary contact for an example—is to ask a more experienced coworker.  It’s in this manner that Josh Ledgard has become known as the “Community Guy” in DevDiv.  There’s no intranet resource labeling him “Mr. Community”, but word is out, and if you ask someone inside DevDiv who to talk to about forums or self-sustaining communities, they say…”um…that Josh guy…Smith?…no..wait…Ledgard I think.”

 

Better intranet search isn’t the solution here, because the information really isn’t written down anywhere.  In fact, I don’t know the best solution.  From my limited experience, any mechanism for organizing a list of projects can’t rely on people to keep it updated.  The snapshot of projects you take today isn’t the same as the one for next week.  And people will not come back to update the fact that Kannan now works on Project X and Roberta has moved over to Project Y.

 

This is obviously a bigger problem than a new college grad in the company can solve (single-handedly J ), but I’m curious…does anyone else have any ideas on how to build a better way to find appropriate contacts in a huge org?