After working in different groups at Microsoft and spending time with employees at other companies, I think I understand why executives are important and why Wall Street seems to react quickly to changes in executive management. If you have weak leadership at the top, you will most likely have a weak company. Not everyone has a direct channel to executive management, so the trick is to try to influence the executives technically without upsetting all the layers of management in between.
In other words, to borrow a military phrase, "Don't break the chain of command," but escalate when needed. Microsoft, like most companies in the new millennium, prides itself as being an open-door company meaning that you can stop by anyone's office or e-mail anyone as you wish. However, there is a second part to this philosophy that people sometimes forget: Make sure you have a good reason for dropping by or e-mailing, and do your homework before approaching the person. If there is an obvious or easy answer to your question or suggestion, you will probably not be welcomed back, even if that person is your mentor or trainer.
I have seven suggestions that seem to have worked well at Microsoft and other companies I've consulted with when trying to change or influence corporate or group culture. The suggestions are not listed in any particular order. You can use the suggestions together or independently. I can say from personal experience that I have used all of these to successfully make changes to a group. Whether I used one suggestion or a combination depended on the complexity of the change that I wanted to happen. This should become clearer as you read on.
Suggestion #1: Involve as high a level of management as you can when rolling out new processes or tools. In fact, have the executive send the e-mail on the new announcement.
As you saw in the Microsoft sidenote "Examples of Cultural Shifts at Microsoft," sometimes it's good to smash an ant with a 10-pound sledgehammer. When you're rolling out a new process or tool that will affect a lot of people, it's best to let the highest level of management available send the announcement. In contrast, don't hide behind a generic e-mail alias to make an announcement or change. IT departments are notorious for doing this. Someone should always sign the e-mail and own what it says. This builds trust and respect between groups and discourages e-mail abuse. People are more likely to think things through and be thoughtful before sending an e-mail if they are signing their name rather than a generic alias.
Suggestion #2: Hire a consulting firm to come in and do an analysis.
This should be a regular practice at any company. Consulting firms are available for any technology or business topic, so you can customize this suggestion to fit whatever you are doing. For example, you might have questions about your application architecture, e-commerce structure, or database designs. For the right price, I am sure you can find a company that has people who specialize in any of these topics.
Following are some good reasons for using a consulting firm:
They are objective because they are not politically involved with your company.
Although consulting firms might be expensive, they are usually cheaper than hiring a person with the equivalent knowledge and experience.
They allow access to industry experts.
Microsoft Sidenote: 1999 Build Best Practices Talk
I was invited to a meeting in 1999 in which an external consulting group was brought in to the company to analyze the Windows, Office, and other groups' build processes. After six weeks of gathering information, they put together a two-hour presentation on what they saw and what recommendations they had come up with. It was a rather enlightening talk, and a couple of good points were brought out of it, such as sharing build tools among different groups (don't reinvent the wheel several times) and trying to have a central build process for the whole company to use. We paid this consulting firm a lot of money to come in and tell us what we already knew, and they only introduced a couple of "new" ideas. Even so, the general consensus among the managers was that it was worth every penny.
Suggestion #3: Match company values to what you are trying to accomplish.
The best way to demonstrate this suggestion is to show how it's done at Microsoft.
Microsoft publishes its mission and values on the company intranet and extranet. They are explained to new hires during orientation. The following is just a snippet of what is taught. Microsoft also publishes its definitions of integrity and accountability, which I believe are the cornerstones of success.
Microsoft Mission and Values
Published: June 25, 2003
At Microsoft, we work to help people and businesses throughout the world realize their full potential. This is our mission. Everything we do reflects this mission and the values that make it possible.
What are values? In simplest terms, they are a set of beliefs that help govern behavior. Like people, corporations have values. At Microsoft, our values have been rearticulated to support a new corporate mission that clearly expresses why we create software:
To enable people and businesses throughout the world to realize their full potential.
It is a bold and authentic mission one that can be fully realized only if each of us lives the Microsoft values in everything we do. This site is dedicated to helping you understand and internalize those values.
As a company and as individuals, we value all of the following:
Integrity and honesty
Passion for customers, for our partners, and for technology
Openness and respectfulness
Taking on big challenges and seeing them through
Constructive self-criticism, self-improvement, and personal excellence
Accountability to customers, shareholders, partners, and employees for commitments, results, and quality
Definition of Integrity and Accountability
Accountability is about keeping your word and taking responsibility for the commitments you make. When you say you'll do something, you do it. If you promise a deliverable, it's done. Trust is built over time in this way, not only with fellow employees, but with our customers, partners, and shareholders. Being accountable is not always easy. It takes vigilance. But it is the bar we always strive to clear.
Sometimes the unforeseen arises, and what has been promised cannot be delivered. But even in those circumstances, we can find an accountable way to respond: Be honest. Explain the circumstances, not with the goal of defending yourself, but of maintaining the relationship. Find a solution. Make it right. The results might surprise you. Very often, the deepest relationships are forged in times of difficulty. And the most loyal customers are those who've seen you respond on their behalf to a mistake.
Integrity and honesty can be demonstrated in many ways. Often when we think of these two attributes, it is in relation to helping us make our most weighty and significant decisions. But here is the paradox: Honesty and integrity are perhaps best demonstrated in the smallest decisions and gestures.
What do those smaller decisions look like? They might mean admitting a mistake, providing information that a colleague might find beneficial, fixing an error today that could easily be left for someone tomorrow, accurately recording vacation days, or refraining from making disparaging remarks.
People who are accountable take the following actions:
Do what they say they will do
Take responsibility for results achieved by themselves, their team, and their group
Create goals that benefit all stakeholders
Exceed the expectations of internal and external customers
Develop practices and procedures to get things done the best, most efficient way
Plan accordingly, based on anticipated problems and roadblocks
Ensure that Microsoft responds quickly to changes in the marketplace
Do not confuse activity with results
Delegate when necessary and hold others responsible for their commitments
Own up to mistakes and respond proactively to find a solution
Jack Welch hits it right on the head when he says this (his leadership secret number 6):
Nurture the employees who share the company's values: Deliver on commitments and share the company's values.
Microsoft follows the same rule as Jack, as most companies probably do. Because Microsoft publishes these missions and values, it is easy to get behind the executives and know when you are doing the right thing.
Microsoft Sidenote: Interview Question
One of my favorite interview questions is, "Would you lie?" The scenario I usually give is that your manager has told you to tell customers that you have never heard of a bug that they are reporting even though you have. I ask the interviewee how he would handle that situation. What I am looking for is whether this person will stick to his values and morals under the pressure of an interview or fold? Of course, the correct answer is "no." Never lie even if it means you will lose your job.
Suggestion #4: Do the math.
It is strictly my own observation, but it seems that the higher up the management ladder you go, the more concern about success strategies and bottom-line dollars you will find. Thus, to convince the upper managers that builds are important and have corporate-wide financial effects, I have done some calculations that you can use to help people understand the financial impact of breaking a build.
Say that you have a build that is released at 2 PM every day. You have 20 developers and 20 testers waiting to pick up this build to test. Furthermore, you have 10 people waiting to look at the build, including project managers, marketing, and program managers, to see if some new features are there.
Let's say that the average salary you are paying all 50 people waiting for the build is $50,000 per year, which is about $25 an hour. The real average is probably much higher.
So for every hour that the build is delayed or not functional, it is costing the company $25.00 x 50 = $1,250 per hour. This number does not even include the benefits cost of the employees, which could add another 50 percent, or about $1,875 per hour.
This is with a small software shop that has 20 developers/testers. Imagine a larger company with hundreds or thousands of people waiting for a build. This is real money we're talking about.
Suggestion #5: Not worrying about getting fired gives you incredible power.
A college friend of mine used to say this to me all the time, and it took several years before I really understood what he meant. The way that I understand the statement is
if your integrity and values are in line with the company,
if you are accountable and work hard,
if you have done your research and see that something the company is doing is wrong,
if you have followed the correct processes to fix it...
and nobody is listening to you, stand up and fight for what's right! If you meet all the previous points and get fired for trying to help the company, you should consider it a blessing that you were fired because something is wrong with the company, not you. Remember the Chief Crazy Horse quote at the beginning of Chapter 14: "It's a good day to die..." Be the change you wish to see.
Microsoft Sidenote: A Distinguished Engineer (DE) Explains the Best Way to Navigate Microsoft's Culture
Question (to a DE in the Windows team): What is the best way to navigate Microsoft's culture?
DE: "I don't think the culture's all that mysterious. It's as complicated as you want to make it, but I think that you navigate the culture most successfully if you don't play up to the fact that it's that big. I mean, live within your group and meet friends in your group and your friends' friends, and kind of spread out that way, but don't think that just because we have 30,000 people, you have to know who is reporting to whom and whose political views match your boss's political views and stuff. I mean, work on a job, get your job done, and don't worry about whether there's somebody [who] is working on something that's strategically related and [whether you] should join with that other group. Focus on what you're doing, and if it's right to join up, then you'll know it in time, and you'll do the right thing.
Question: If somebody does encounter a political situation, what do you tell him? What's the best thing to do?
DE: Boy, I don't know. I mean, the thing to do in these things is not to make it any worse than it has to be, but am I guilty of that? Sure. It's hard not to. And you just have to decide on each one of these political things if you're right; then don't bow down just because there is some political divide. I mean, if you're right, you're right. Fight for what's right. Where do you stop? I don't know. I don't stop. If I think this guy is an a-hole and he's proved it to me over and again, then I'll tell his boss, "Hey, this guy is blowing it, and this is why I think we should do this." And if that guy looks like he's politically protecting this guy, shoot, take it all the way up to wherever you have to go to be heard if you're right. But if you're not, then listen when somebody says, "Hey, you're full of it, and here is why." And say, "Oops, yeah, I guess you're right." And fix it. But we kind of don't have boundaries here at Microsoft, even though people think that we might have them. I mean, you can go to Steve for anything, and if Steve didn't respond and you think he should have, then the way to get his attention is [to] send e-mail to his admin and say, "Hey, make sure Steve reads this and have him get back to me." And that works the entire chain.
Suggestion #6: Never take no from someone who does not have the power to say yes.
This suggestion says it all. Basically, escalate your issue until you get to someone at a level that can take the risk responsibility of what you are trying to make happen. A VP at Microsoft once told me that Bill Gates is the only person at Microsoft who really has the power to say yes. Everyone else is just spending his money. Well, I don't think that's true. It might have been that way in the early days, but the power is spread out a little more today, and it is just a matter of finding that upper-management or executive who is willing to take a "yes" risk.
Suggestion #7: Publish policies, processes, and tools on the intranet!
As discussed in detail in Chapter 3, "Daily, Not Nightly, Builds," the build intranet page should be the collection point for all information concerning your product. This not only includes build information, but also policies, processes, tools, and so on. Even if the information is spread among different sites, the build page should include links to everything. It should be the one-stop shopping place.
Microsoft Sidenote: E-mail Etiquette
E-mail is the lifeblood at Microsoft. There is no doubt that without it, the company culture would be completely different. I cannot even imagine working without e-mail. It is safe to say that everyone at Microsoft uses Microsoft Outlook as the gathering point for their specific work items, such as e-mails, contact lists, tasks, and appointment schedules. Some people take it further and use it to read Web log (blog) feeds. Notice that this is the second collection point mentioned in this chapter. The first is for the product information. (See Suggestion #7 for more detail.)
I have collected several e-mail tips over the years and thought I would include the ones relevant to corporate culture here. For a complete list, go to my blog link at www.thebuildmaster.com. I used to send these suggestions to our Windows group every few months to train the new hires and to remind the veterans that e-mail space costs money:
Never open an e-mail message if you do not recognize the name in the From line or you suspect that the alias is from a spam (unsolicited e-mail) source. I like to use the preview pane in Outlook to glance at the message to see if it is legitimate.
You do not have to e-mail your whole team every week to let them know that you will be at an offsite meeting for an hour. If you will be out of the office for a day or more, let your team know and set up the Out of Office Assistant in Outlook or whichever e-mail client you use. When setting up an out-of-office message, make sure you reply only to e-mail sent to you.
Never send a joke to an alias unless you are sure that everyone on that alias will like it and will never have seen it.
Do not deliver bad news via e-mail without a follow-up phone call. Better yet, always deliver bad news via a phone call or in person and then follow up with an e-mail.
If an urgent reply is necessary, follow up your e-mail with a phone call; in general for business, follow up all voice mails with e-mails.
Mark e-mail that you do not want people outside of the company to see with INTERNAL (or MSONLY) at the top. Today, people also write "DO NOT BLOG" at the top of the e-mail. Remember: Big brother is watching. In other words, you do not have much control over who sees your e-mail after you click Send.
Always assume that the e-mail you just sent will be on the cover of next week's PC Week magazine with your picture!
Just because you press Delete doesn't mean the e-mail is gone. Delete all e-mail older than 6 months. (This is a Microsoft company policy.)
Never send flame or hate mail, as irresistible as it can be. Deal with the issue in person or over the phone. Also, be careful about being humorous or sarcastic, because the tone doesn't translate well to e-mail even with smiley faces or other emoticons.
Never reply to all unless it's on a discussion alias and you are adding value to the discussion. I recommend moving the Reply to All button to the far right of the toolbar so that you do not click it accidentally.
Always reply to individual e-mails sent to you. If the e-mails are sent to an alias, the assumption is "Reply if you feel compelled." (Remember the "Never Reply to All" rule here.)
It's best to avoid using the Blind Carbon Copy (bcc) line. Use the bcc line as a courtesy only if you feel you need to. If your company has a lot of "reply-all" senders, you might want to put an alias on the bcc line. However, if you do this, you should make your first line something such as (bcc: nameofalias) so the people reading the e-mail are aware of who it was sent to.
Watch the grammar and spelling. A poorly written e-mail is no fun to read and is representative of the sender. I like to turn on my grammar and spelling checker before sending to give me that few-second delay to change things if I click the Send button too soon.
For personal e-mails, always use a greeting and nice close. Business e-mails can be more terse.
Never send mail to an alias to join or be removed.
Do not forward chain letters.
Avoid sending articles. (The joke rule applies here, only if the whole alias will care.)
Before asking a question on an alias, take a couple of minutes to search in the obvious places.
Watch those ridiculous auto-signatures. Only include pertinent information. Do not use them as a "soapbox."
Do not open attachments if you are unsure of their source. Furthermore, always avoid attaching files that are more than 2MB. Even in this era of inexpensive disk space, large attachments can slow networks down. It is recommended that you put larger files on a server or site and just point to it in your e-mail.
Do not overuse the High-Priority option or write in all capitals. Capitals usually translate into yelling.
Add a disclaimer to your e-mail signature. This thwarts off any wouldbe "ambulance chasers" outside of the company that might be "lawsuit happy."
Never request read-receipts unless you have a legal reason for it.
Keep in mind that you build credibility with your e-mail name over time. Although these tips might seem like common sense, they really aren't. At least once a week, I have to delete a string of emails that I would not have to if people would know about and follow these tips. For some companies, e-mail is more like a toy than a tool, but at Microsoft, it is a tool. Like all tools, there is a right way and a wrong way to use it. In fact, I would dare to say that one of the main reasons why Microsoft is successful is because of the efficiencies of good e-mail practice.