What’s been driving the Developer Division culture change?

A lot of other teams at Microsoft have been asking our team variations of this same question. They see our (Developer Division) transparency and willingness to connect with customers (blogs, feedback centers, forums, CTPs, etc.) and want to know how we got where we are.

From our perspective I think the glass is often half empty and I personally feel there is a lot of room to grow, but we have made a lot of progress over the last three years moving toward a customer focused culture.

Our (D.D. Customer Connection) team recently performed a little brainstorming exercise to see if we could, looking back, see what "little things" have added up to this larger shift that’s in progress. I would also invite anyone from Microsoft or customers to augment this list that is really a work in progress.


Executive Buy-in

High level executives like Eric Rudder believed strongly that this change was important
Teams with leaders and executives that participated themselves were more likely to get engaged with customers.

Developer satisfaction numbers showed people there was room to grow

Our leadership showed tolerance and support when mistakes where made, leaks happened, and trusted that the MS community would police/correct itself.

Understanding of the unknown. For example: There was a lot of angst before we launched the Product Feedback center and it took the understanding that we really didn’t know what would happen and that we’d be committed to course correcting if needed.

Management had faith that we had to learn to "let go" in some areas and trust customers to do the right thing; moderate themselves, file good bug reports, etc. If you don’t trust the customers, then each of these channels is potentially a huge time-sink with little value. 

  •  

Respect and Integration with Existing Culture

  • Finding strong influential leaders within each team to drive the change was very important. Teams that put a capable person in charge of leading the shift saw noticeably better results than teams that picked a less seasoned individual to drive the change.
  • The product feedback center integrated right into our bug database so no one internally had to learn a new tool… just reply to bugs as if they came from testers internally. It may have also helped in our world that developers know what is expected of a good bug report.
  • We took feedeback from several teams and disciplines at Microsoft before the feedback center was turned on and those teams continue to form a virtual working group that drives the direction of our customer bug gathering/fixing.
  • Giving people lots of options for how to connect with customers. We showed people they could blog, write samples, share code, have chats, go to events. We are a diverse culture in many ways and not one form of customer connection works for everyone.
  • Blogs were very "culture compatible" at Microsoft. We have a lot of opinionated people that, for lack of a better term, enjoy having a soapbox. The developer community also seemed to be on the early adopter side of the blog trend. Devs would blog, get immediate feedback from another developer blogger and then want to blog more.
  • We like talking to "our kind"… devs like talking to other devs for the most part. J
  • The "Community Room" showed that we cared, but didn’t integrate well with the existing culture.
  • We have to get to a world where customer connection becomes an "ility" that starts to become engrained in our culture like "security" and "usability" where people have to think about community in whatever they are doing.
    •  

Demonstrating Wins and Areas for Improvement

Demonstrating small incremental wins with numbers or anecdotal evidence. We showed people the good feedback we were getting from blogs and it begat more blogging.

Highly visible metrics can drive change in a numbers focused organization as long as the numbers drive good behavior.

Consistent visibility and automated/real-time availability of metrics is important here. This was important for a couple reasons. First, until people knew that there stats would go to everyone in the division every couple weeks, it was easy to ignore it. We saw cases where teams made a concerted effort to improve. Second, people want to know how they are doing and when it was not automated, it was a time-consuming process for our team (taking away from time available for work with more value). Third, when you can’t show any data or the data is infrequent/unreliable it sends a message that we didn’t think it through and/or don’t really care.

We created a web site internally that literally showed who has connected with customers over the last X time through various channels.

Public recognition of people who’ve made substantial customer impacts with their direct customers connections. Balancing the carrot with the sticks.

Showing off competitor wins in the customer connection space. Having Eclipse as a competitor where they are completely transparent with a vibrant community helps.

When we focused our efforts on a few things at once rather than throwing 10 different distractions at product groups the effort was more successful.

That’s all for now. Again I would invite anyone from Microsoft or customers to augment this work in progress list.