Having recently joined a team focused on Developer Division community participation and product integration I thought it would be a good exercise for me to look at recent history and in-roads made in this space over the last four years since I joined.
I’ll remind readers that this post represents my opinions and experiences not necessarily those of Microsoft. My opinions may even change when I read this again tommorow. 🙂 Someone on a different team may have had different experiences than the ones described below.
Summer 2000: I started as an SDET on the “Environment” team working on VS.NET 7.0. I didn’t talk to a customer for several months until we had a one day SDR with people in the Academic world to talk about faculty and student tools we were building. The product was already half built so we could make tweaks based on their feedback, but would not have been able to make larger changes if they had been needed. Until this point I heard a lot of people saying things like “Well, I’m confident customers would like X, but not Y”. The SDR was eye opening for me. The more customers I talked to the more I learned not to trust several of the generalizations that some PM’s and Developers would throw out during our internal design reviews.
2001 (The Road to Shipping): VS .NET 7.0 (now called 2002) saw at least two beta releases and a special show release or two. Customers would report bugs and occasionally we might e-mail them for clarification. Outside of this limited interaction and Microsoft’s presence at events like PDC there was little or no push to talk to customers, help them, or share our plans with them.
At some point there must have been a realization that the product needed some way for marketing to talk to customers and to point customers at locations where they could talk to each other. Out of this you may have seen the “Online Communities”, “Headlines”, “Search Online”, and “Downloads” tabs hosted from within the VS Start Page. These tabs are populated by XML feeds hosted on MSDN servers. I actually was a big fan of the concepts, but there where really a lot of flaws with these features.
- If they feel as if they were “tacked on” you would be right. Most start page features were brought online relatively late and were not properly integrated with the rest of the product. The “Search Online” tab, for example, was a really cool way to extend your local help search. To bad there was no mention of it from the “Help” menu or when you did a local help search.
- Most users would use the “Get Started” tab, open a project, and then ignore the rest of the content on the start page because it was hidden.
- We didn’t update these feeds regularly and we haven’t updated these feeds in a long time. There is a long process involved in updating the feeds and I’m pretty embarrassed to see today, for example, that most of the “Headlines” are from 2003! (We are going to be working on updating this “stale” content soon I hope.)
Early 2002 (We Shipped, Now What?): We shipped the first release of the .NET platform and the development tools that went along with it! The headlines page was updated! It was clear, from early feedback, that there were some key issues uncovered that were frustrating customers. It became apparent to me and others that we probably left behind some of our customer connections to focus on some really cool technical achievements. Now that I had my own test team I could try and instill this in my own team vision, which, for the last two years had been to “Provide developers with the most customer focused, issue free, productive IDE possible.”
Mid 2002 (If you build it and bring food…): The VB team, led by Alan Griver, starts the “Community Room” experiment. The goal was the help customers today by participating in the newsgroups. A room was set up with a few machines for people to go and spend time answering newsgroup questions without the distractions. People on the team would rotate through “tours of duty” in the room for a week at a time spending a couple of hours a day getting re-acquainted with customers. This measurable form of activity took off quickly and, before you knew it, your team also had a plan around “Community Room” participation. The room was bustling, had to be expanded, and best of all… was catered daily!
Simultaneously the product groups also started getting involved with product support through an initiative designed to help PSS answer questions faster with the help of the people who actually built the features.
We also started getting more serious about learning from customers through sharing the results of some awesome usability studies with more people internally.
Late 2002 (Culture is Changing): I started hearing more “Here are several conversations I’ve had with customers regarding X, there-by proving X was a bad idea and we should have stuck with Y.” Bug triage became less of a guessing game when you were listening to customer complaints.
Early 2003 (What if there was no food?): Free food will only keep people in rotation for so long. Newsgroup participation wasn’t for everyone. Some people saw the value and kept going back and others looked for alternative ways to help customers and chose not to attend “Community Room” for their “Community Service” as it was being called. I was personally frustrated with the drawbacks of newsgroups and started using my Community Room time to write VSTweak as both a customer sample and something I could give to customers instead of having to keep telling people “Now, to adjust this open regedit and…”
Mid 2003 (What if there were stickers?): It was clear that newsgroups alone did not form a complete customer connection and the community room schedule was not adaptable to everyone’s work style. Some teams where just getting into the room, but some teams, mine included, where getting out in an attempt to diversify our connection building activities. We started asking people to publish whitepapers, write samples, or talk to more customers at conferences. The only guidance from above was really “What is 100% of your team doing to help customers now and is each member doing it 4 hours each month?” To measure this we put up a big sticker board in our hall with different colored stickers for each community participation activity. Write a blog? Post a blue sticker. Talk to a customer at a conference? Post a green sticker.
Not really being fans of the strict 4 hours/month my team posted a ton of orange stickers prepping the VS PowerToys releases born out of feedback received from VSTweak. It has honestly one of the most exciting projects I’ve been involved in and helped me establish good relationships with some of our best customers.
I went to linux world (green stickers) with a bunch of other Microsoft people and the blogging wave finally hit me and has since continued to become the preferred method of customer connection for a few more people. I’m sure it won’t be for everyone, but having more options never hurt.
Later in 2003 (What about the product?): Community content and help start seeing eye to eye in a good way. Visual Studio has its best Alpha program ever with the PDC release. We’ve been able to make changes based on feedback we never had the opportunity to make in the past. Every customer who files a bug gets a response! Every bug not fixed has to have a good justification written to the customer prompting QA team members to suggest “I should start opening bugs as a customer so I get better explanations.” Every message in our alpha newsgroups is tracked to ensure a response. Good times for pre-release programs.
Early 2004 (Looking Ahead): One of the two community rooms that had sprung up is converted back into a conference room. Teams start dealing with the transitions from driving the pure number of hours to real plans around creating quality customer engagement plans. Blogging continues to grow as quick and painless publishing for team members. Plans are made to give customers more frequent access to our builds and provide ourselves with more frequent checkpoints where we can ask “Are we heading in the right direction?” Every day it feels like another person finds their niche where they can make a difference for customers on a regular basis. There aren’t many days that go by I’m not talking to customers and the number of people who can say that is growing. It’s slow to change culture at a place like Microsoft, but I’m sure most people would agree that it’s on the way.
There is some good stuff on the horizon that I promise to talk about soon. We have made time for people in a schedule that would otherwise be consumed by working on stuff that’s two years away. I believe we’ve asked people to think about how they can best share their passion about what they are working on with customers. We haven’t won everyone over yet, but the people that have been won over discovered the benefits of helping and having quality conversations with customers. It’s an invaluable asset to have when trying to build something as cool as Visual Studio.