Monday, September 06, 2004

Satan's Process Excellence

While OOF, I got to visit one of those smart people who not only are scary-smart development-wise but also scary-smart bail-out now with all these options while they are worth something... ah, the life of the retired and smart. Anyway, I got a load of reading hand-me-downs including an issue of The Baffler (#16).

One of the articles, Same as the Old Boss, is focused around personal reflections of the halcyon days of the Internet Boom, relating it to a passing summary of a book, No-Collar, which includes some focus on Anyway, the author, Steve Featherstone, talks about the staffing entropy of one of his jobs, including the appearance of a ruthless, savvy boss he names Satan (italics mine):

The last thing Satan wanted was to reveal her absolute ignorance. Drawing from her bag of consultant's tricks, she hid behind a new set of "performance metrics" designed to put her smack in the middle of the department's self-managed workflow.  These "reforms" were supposed to make the freewheeling marketing staff "accountable" to corporate goals, but they were really Satan's way to meddle in various projects whenever she needed to deflect upper management's attention from her blood feasting. She took no responsibility for the "deliverables" to which she made us pledge our souls. Work ground to a halt. We spent so much time filling out forms, creating reports, and attending meetings to explain what we were doing and to learn how we should be filling out forms and formatting our reports, that it took twice as much effort to accomplish anything.

Interesting stuff for me, reflecting on increasing process over the years at Microsoft where I don't see the benefit for all the extra work I have to put in focusing on stuff on the edge. What lack of understanding comes from management above that they aren't smart enough and knowledgeable enough to get by without all this increasing, burdensome, rolled-up process? Cut the process, cut those demanding (or needing) process, and increase performance and results.


Anonymous said...

Process is killing Microsoft. Don't get me wrong - the old days were a bit to loose and wild out here in the field, but things have swung so far the other way it is ridiculous. There is no room for individual ingenuity. The Process Beast (in the field its goes by the name Seibel) is all about sameness and oneness so that managers can spend less time leading and directing and more time staring at spreadsheets. And it sure as hell has nothing to do with customer focus or doing right by our customers.

"Never tell people how to do things. Tell the what to do and let them surprise you with their ingenuity." General George S. Patton, Jr.

The new Microsoft is all about telling you how to do things in excrutiating step-by-step detail. We are becoming the same "stodgy" companies that we use explictly point to and say "we are not like that and that is what makes us great." The smart, energetic go-getters Microsoft used to hire are being replaced or forced out by "process drones". Microsoft will look in the mirror someday very soon and see a circa 1980s IBM staring them in the face.

Anonymous said...

Could you MS people comment on this?

From the outside, it appears that MS over-emphasizes the role of the PM. The PM as spec developer within their silo tends to lead to feature creep and the lack of an overall perspective on what the product should be, while over reliance on paper slows down the development process.

Part of the fossilization of the MS development process is the belief that their success is based on the system, which leads to a resistance to change. Success is more likely to be based on good people working hard.

I interviewed for a PM position with the interactive TV people last year and the resistance to new ideas was really obvious during the interview process. It wasn't a good fit for either party. From my perspective, it felt like I would be going to work for IBM during the old white shirt days - that MS had the ONE TRUE PATH to product development and heretics would be shot.

Anonymous said...

Just responding to the fellow who think that Microsoft overemphasizes the role of the PM.

That is certainly true. My group has about 2 PMs for every developer and tester. It has gotten worse in recent years with all the emphasis on "process". From my experience, it has become a lot easier to justify PM headcount on the basis of needing to manage some process or the other.

The other part of your post about the resistance to new ideas is also true. Bottomline is, you should not join Microsoft if you are an experienced employee. Not unless you are desperate, or you get offered a really good job in a new team. There are a couple of reasons why and I'll try to explain -

1. HR will always try to get you to come in at one or two levels below your current job title. And justify it on the grounds of better benefits or just plain "this is Microsoft". Well the benefits don't come close to making up for the step down, and they are not guaranteed anyway.

2. As an experienced employee, you will encounter a lot of resistance to new ideas. Groups like Windows, Office are fossilized, and I may be too kind here. There are a lot of inefficient processes that do need changing, but there is a lot of resistance to change based on the "this is microsoft, we are the best, we can't be wrong" idea.

On the other hand there are some teams where you can prosper, but its the luck of the draw.

Anonymous said...

All of these sweeping generalizations should be taken with a grain of salt on the basis that Microsoft is more like two hundred 100-400 person companies rather than one 55,000 person company. While there are many things that make Microsoft common and an attempt to make a unified culture, the fact is that from product group to product group, you will notice a huge difference.
Regarding Microsoft "being opposed to new ideas", I have to vehemently disagree. In fact, I recently had to choose between a few PMs to hire for one open position, and I chose the person who came up with new ideas during the interview. In my experience, not many people are coming up with new ideas, I don't blame the company for stifling them, I blame people for either not coming up with them or not getting them noticed. Microsoft has the most open door policy I have ever seen (and I've worked at Motorola and Intel, where the CEO has a cube!). There are no less than three internal "ideas" aliases/web sites where you can post ideas you had, even on processes or products that are not related to your job, and the idea will get to the right product group or incubation group. You can also send email directly to your management, skipping your boss. That kind of thing is done and encouraged, in my experience. But maybe I am just in a good group.

Anonymous said...

Yeah, you must be in a good group. The open door policy in my case (where I work in MCS)is a complete joke. I once had a question about a decision that SteveB made (remember the one-time stock option grant?), and went to my manager for clarification. After no reply from him (a week), I went to my manager's manager (about the issue, not the lack of response from my manager.) After 3 weeks went by, I thought... "Screw it, I'll email SteveB and ask him to clarify his stance." I got an answer from Steve alright, but I also got pulled into my boss' boss' boss' office where he grilled me on why I was emailing Steve directly. That manager told me that Steve has too many other important things to deal with than to respond to my emails. So much for open door!

And regarding process, have you ever tried getting a DCR approved? It takes a minimum of 6 months, and rarely are any approved unless its a deployment blocker. I can understand this in many cases, but at least put the freakin' change in the next release if its the right thing to do!

Lastly, the Office group has always been at the top of my list of Ivory Tower dwellers. If they didn't think of it, customers must not need it right? Want an example? In 1999, I submitted a bug internally regarding how attachements print in Outlook. If you highlighted a message in the message pane and selected File->Print, you had a check box that said "Print attachments" in the dialog box. However, if you changed the printer to anything but the default printer, only the message itself would print to that new printer... the attachments still got directed to the default printer. Anyway, my bug was closed the next day. What was the resolution? "By Design". Why would anyone want to print a message to one printer but attachments to another! Great design guys!

(Flash forward to 2005. Now if you do the same thing, you still can't print your attachments to anything but the default printer. But at least the dialog box has changed. It now tells you that attachments can only be printed to the default printer. Wow, that's progress!)

Anonymous said...

I have mixed feelings about this. I have worked at Microsoft for 10 years so I experienced some of the wild and wooly "no process" days. I think many of the people who harken back to those days either (1) weren't here or (2) got rich and think they're gods gift to humanity.

Those who arrived a couple of years before I did got rich and thought they were gods gift to man. I personally think that most of them were just lucky. I even heard Steveb once say, in response to an employee bitching about not getting rich fast enough, that we (meaning they) were all sitting on an oil well and that doesn't happen very often. The timing was perfect to be successful - even if they were incompetent.

But as the company grew and the industry matured, success became harder to come by. Its much more challenging to be a Microsoft employee now than it ever has been. We have more competition and the easy technical challenges are already solved.

That's a long preamble to my main point - which is that process is a necesary evil. One man's go for it/to hell with process attitude is another man's random idiocy. I have seen at least as many hours and dollars wasted on fixing stupid ideas that were outside of "the process" than I have from the hours/dollars wasted complying with reasonable process. The people who can't deal with a little process are often primadonnas or not particularly smart. Often both.

Just my two cents.

Anonymous said...

There are too many layers of management

It really is that simple

Too many people not writing or testing code needing feedback and trying to look good

Google - two really smart guys who figured out how to build a great index on networked computers

If they had got jobs at Microsoft do you think the search engine would be as prevelant as it is today ?

They would have been forced to make it work with all the boxed software and it would have been toned down and lost in the shuffle

-former employee

Anonymous said...

"There are too many layers of management"

Agreed. When I started, I was a contract employee and there were, like, 5 steps between me and Bill. When I left the company, there were about 10 steps between me and SteveB.

I think one of the main issues is that management has gotten too comfortable with their nice paychecks and bonuses with the result that all they try to do now is maintain the status. I used to refer to it as "management syndrome".

My managers settled in nicely and had the huge mortgage, big car, maybe a boat, vacation house, ginormous credit card bills, etc. and were so terrified of losing their job that they just froze where they were and tried not to be noticed at all.

When I started, if I had come up with an idea that could streamline a process or save the company money (this was the shrimps and weenies era), I could have emailed BillG directly, and if the idea was good, it might end up implemented company-wide.

After the first 6 years or so, any suggestion was unlikely to make it past my manager, let alone get to someone higher up. I can't remember how many times I went to his or her office to discuss an idea and was then talked out of it because it might have "negative results".

Also, there was one two year period during which I had 7 or 8 managers! Boat rockers (i.e people who cared about the company and their team members) "left the company to pursue other interests", and a new, more 'laid back' person would take over.

And, of course, there were the new metrics we were required to keep track of so some bean counter in Redmond would know for sure that we were working.

It's a real shame.

Anonymous said...

What the hell is OOf?

Anonymous said...

OOF is Out of Office. It's one of the many TLA's (Three-Letter Acronyms) we use at MS.

Anonymous said...

Worse, Microsoft has been exporting the management architecture and process to other companies. I've had two jobs where large companies adopted the microsoft management framework and promptly suffered for it. They looked at microsoft and thought "if we manage our operations just like them, we'll be rich just like them!"

It is spreading, like a disease: reorganosis induced acute necrotizing managitis. Amputate now!

Anonymous said...

What would OOO be? Out Of flOss?

Anonymous said...

OOF == Out Of Facility.

OOTO == Out of the Office

WFH == Working from Home