Sixteen months ago, when I joined Microsoft, my good friend Scott Densmore taught me a simple creed to help me make decisions as a Microsoft employee:
Customer, Microsoft, Group, Self
Lately I’ve been finding myself explaining this to a number of people around the company and have learned that this seems to be something that most people in Microsoft haven’t heard before. This surprised me, because it is one of those simple little mental tricks that you can use to ensure that you are always focused on the right thing. I just assumed that it must have been covered during New Employee Orientation when I was napping.
I was wrong.
So let me give my take on this little rule and why I think everyone in the company (or any company for that matter) should print it out and hang it on the wall of their workspace. You will find that this rule can be applied when you have a hard decision to make, are in a discussion with someone else about what to do, or just about any time you or your team aren’t sure _place_holder;what to do.
If you don’t start here, you may as well get a new job. This goes along with the age-old idea “the customer is always right” or the way Burger King said it, “Have it your way.”
At work when I find myself in a quandry, having a hard time making a decision, the answer should always be the one that helps Microsoft’s customers the best. Since I’m in essentially a marketing and evangelism group , this is generally not a hard sell when you’re in an argument. The only time I have seen this one get compromised is when two people each think they have the customer’s interests at heart, but don’t agree how to do it.
Microsoft (aka Company)
If you can’t reach resolution purely by considering the customer, you next should be thinking about what is best for the company. In my case this is Microsoft, but the actual company doesn’t matter. These are the people who sign your paycheck, so you need to be thinking about what makes them successful.
When you can’t make a decision based solely on what is best for the customer, then and only then should you take in to consideration what is best for the company. Sometimes this will create conflict when you think that perhaps you should do what is best for your company first and the customer second. Resist this temptation. Do what is right. Do what is right for the customer and everything else will fall into place.
Sometimes I have _place_holder;found people higher up the management chain who have decided that the interests of the company trump those of the customer. That is their prerogative. It is not mine. I am a foot soldier. Senior officers much higher up the food chain are the people who’s job it is to decide hard decisions like that.
Group (aka Team, Project, Workgroup)
Suppose that in your attempt to reach conclusion on an issue, you have decided that the customer and the company are served regardless of your resolution. You still have to make a decision. What do you do?
At this point you can take into consideration the best interest of the group. Depending on the size of your company, what “group” means may be hard to decide. If you take me for example, I reside within the greater organization of Microsoft Server and Tools. Within that is MXPS which itself contains patterns & practices. Inside of p&p, I am a member of the Smart Client program and specifically the development lead for the Composite User Interface Application Block.
So which “group” am I talking about?
All of them. My experience has taught me that this outside-in approach to thinking about decision making should be continued down through each level of organization. It turns out that more often than not the best interests of all of those groups are served by the same decision, but when they aren’t, you should choose the one that affects the largest number of people.
Finally we get to self. Me. You.
This one is last for a good reason. You should never choose to serve yourself before you choose to serve others. I firmly believe that if you serve the customer, then your company, then your team then you will find that good things come to you for free.
I must admit that I get startled when I find someone who is putting themselves ahead of their team. It happens all the time. I’ve seen it happen here at Microsoft and I’ve seen it happen at every employer I’ve ever had. You might think that this would frustrate me and cause me to bail on these rules, but honestly, the opposite occurs. Why? Because I have seen consistently that those people don’t win in the long run.
Only now, after I have confirmed that I have served the best interest of everyone upstream from me is it appropriate for me to think about what is best for me. Yeah, I know this sounds like a bunch of hippy socialist crap, but actually it works out for the best.
After talking about this post with Scott yesterday, he brought up an interesting point: If you reach a point where you feel that you absolutely must put yourself ahead of the others in this list, then you are really saying that you probably need to change jobs. You need _place_holder;to change your group, your company, or your customer so that you can get your motivations back in proper alignment. (Changing your customer might sounds like a strange idea, but really it isn’t that hard. If you were to switch from the SQL Server team to the Windows Live team, for example, you have changed customers. If you switch from a product company to a consulting company, you have changed customers. See what I mean?)
When you focus on the customer, that means that you will at all times be doing what is best for the company. After all, happy customers make profitable companies. And when the company does well, the group does well. When the team is seen as contributing to the success of the group, the team is recognized for its contribution. And when the team does well, it means that the individual does well at review time.
Review time. We had to end up there eventually. The Microsoft review system has been a hot topic ever since the anonoymous blogger known as Mini-Microsoft started a non-stop rant against the stack rank and the bell curve. Mini and others have contended that the Microsoft review system (or any one that uses stack ranks and grading on the curve) tends to encourage selfish competitive behavior. For a while I thought that this might actually be true. I’ve noticed people on occasion making selfish decisions. Choosing self over team. Not focusing on the customer.
But I have faith that management noticed the difference between people who execute this stack in the wrong direction. Selfish people tend to be very obvious within any organization. People don’t really want to work with them. They often isolate themselves as a nature of what they do. Fine. Let them. Continue to be a team player and you will do better.
We are a social species. We depend on having strong social relationships to be successful. This is why this set of guidelines resonantes so strongly with me. If you serve the people around you, you will be more successul than if you ignore them, burn your bridges and think only of yourself.
 Remember, patterns & practices is in the business of making it easier for developers to consume the platform. This is really just a very specialized form of marketing.