Posts Tagged ‘Microsoft’

The Decline and Fall of Microsoft? Conclusion.

Thursday, May 29th, 2008

What can Microsoft do to reverse the trends that I’ve talked about in the last 4 posts? First, let me admit that it’s possible that Microsoft accomplish this by doing what it’s always done: grinding it out. Keep investing in Windows Mobile; keep pouring money into MSN; invest some serious money in the Zune business. Sheer grit and determination can overcome many missteps. If Microsoft can persevere, they can wait for a competitor to make a major mistake and then step in and take up the slack. The Sony PS3’s strategy for online gaming is an excellent example of this. Sony made a bad decision and the XBox business was able to profit from it.

If I sat on the Microsoft board, however, I would be very nervous counting on the “grit” strategy. I would be looking for bolder ways to transform the company while it is still healthy and dominant. As I suggested in the first installment of this series, I think Microsoft has to start by asking itself the ultimate TQC question: what is it doing wrong that is causing it to generate bad processes? “Processes” here can refer to many things. Product design and software development processes are obvious places to consider but I think even more important are strategic planning and basic financial processes.

Here are some of my answers to these questions based on 10-year old knowledge and interpolation with what I hear from friends who are still at the company:

1. Project planning is resulting in poor products because the company has too many people involved in the design process. Microsoft Vista had dozens of program managers working on it. Microsoft Excel 1.0 had 1 program manager on it. Is the difference between Windows XP and Vista 50 times more complex to manage than Excel 1.0? If so, that’s probably a sign that you’re doing something wrong.

Update 6/19/2008 - I’m told by Microsoft folk that my numbers are way off here, that it was more like 10,000 developers and 1,000 program managers. I just can’t fathom these numbers so I’m going to pretend that there were 1,000 devs and no more than 100 PMs that mattered.

2. Complex products require huge development teams. There’s simply no efficient way to integrate the work of 1,000 developers. If you can’t do daily builds and if developers have to wait weeks for their checkins to appear in public builds, you’re doing something wrong.

3. Thousands of developers and testers coupled with dozens of program managers require large product units and even larger business units. If your business units are large, few people in the unit will truly feel “P&L responsibility”. If a unit fails to meet its goals, the BUM may feel the pain but the 2,000 people who work for him/her are not going to get fired and probably won’t even see smaller bonus checks. On the other hand, if you have too many business units, you’ll inevitably end up with overlap and turf wars between them.

4. When a company is as large as Microsoft, central planning is impossible. You can set broad goals but there’s no way that the Chairman and CEO can know enough about all their businesses to be able to contribute much to their strategies.

There’s a common thread that runs through all of my observations: Microsoft is simply too big. Its size results in poor planning, bad financial management and excessively complex products/projects that are impossible to manage.

Just like the Roman Empire, I think it’s time for Microsoft to split itself up - even more so than Rome/Constantinople. Windows, Windows Mobile, XBox, MSN, Windows Live, Applications, Hardware: each of these should become a completely separate entity. Each of them should have its own CEO and its own stock. More importantly, each of these should be its own financial entity. They can start out with a good “stake” from the parent company, but each would have to demonstrate its own profitability or go out of business. Can you imagine the MSN Company trying to fund a leveraged buyout of Yahoo for $40B+ if it only had $4B in the bank? A smaller company would never contemplate such a boneheaded move.

Ideally, each Baby Bill would start out with 1,500-2,000 people.  I suspect that over time, several of them would shrink in order to maintain their profitability. The “parent” company could, perhaps, keep the Windows business and Microsoft Research and could provide services to the others in order to avoid needless duplicating infrastructure.

The companies would still have the problems I’ve been describing. The Microsoft brand would still be less cool than Apple’s; Microsoft would still need to improve its management culture; Microsoft would still need to learn how to succeed in areas other than technical prowess. The Baby Bills, however, would allow managers more freedom to experiment and would provide more incentives for success and more penalties for failure. Removing the $20B+ safety net would make Microsoft a more dangerous place to work and, I think, Microsoft would benefit greatly from it.

The Decline and Fall of Microsoft? Part 4.

Wednesday, May 28th, 2008

Contrary to what many believe, innovation has been central to the success of Microsoft. The reason why some people fail to see the innovative side of the company is because they are looking in the wrong places. Although there has been some innovation in the visible side of software, the innovation at the API level has been much more significant.

Before leaving HP in 1986, I’d spent my last year there working on something called “New Wave.” This project was trying to figure out a software architecture that would support many useful concepts: embedding of documents inside other documents, providing “links” between documents. allowing “drag & drop” between documents. If these features sound familiar, they should. They were enabled by Microsoft’s “OLE” (Object Linking and Embedding) in the late 80s/early 90s. The concept wasn’t invented by Microsoft (nor HP for that matter) but the software mechanism to make the features available and to work in an efficient process was. OLE later morphed into “COM” - a technology that did much to enable software “building blocks”.

Does anyone remember CORBA? Can anyone name 3 major applications that supported it? Probably not. While Microsoft was developing OLE and COM, the Object Management Group (composed of HP, IBM, Sun, Apple and others) was trying to do the same in an multi-vendor, cooperative, fashion. While Microsoft solved the problem exclusively for Windows on Intel architectures and only when using C++ or Visual BASIC, The OMG was trying to solve the problem in an OS-idependent, architecture-independent, and language-independent fashion.

We used to say at Microsoft, “if one person can do a job in a year, two people can do the job in two years.” Imagine the efficiency of 11 companies trying to design CORBA by committee.

OLE/COM is but one example of Microsoft innovations at the API level. The Windows GDI API unified display and printing code (in a way Postscript/News once sought to do). The DirectX API allowed game developers to efficiently access hardware while exploiting graphics and sound accelerators provided via Windows drivers. ODBC, ODB and ADO (and now LinQ) have provided progressively easier ways of accessing data in relational databases.

As a long-time software developer (pre Altair!), I can say that C# and .NET, coupled with Visual Studio, have made programming incredibly productive and even “fun” again.

Beyond these are things like the Microsoft Office API (including the functionality available to built-in macros), the various specialized APIs (driver layer, speech, NLP, etc.) and now Silverlight 2.0 which promises to finally make writing Web 2.0 applications a less-than wretched experience.

Alas, these API innovations are no longer enough to guarantee Microsoft’s success.

Windows has 90%+ of the desktop computer market and 65% or so of the server market. Microsoft office has 90%+ of the office software suite. 

Improving the Windows or Office APIs does not help Microsoft make any more money. Operating systems and productivity applications pretty much do what people need them to do. Purchase decisions are beginning to be made based on criteria other than technical prowess.

To continue to succeed, Microsoft needs to grow into new markets. Here are a few businesses that Microsoft is trying to develop:

  • Mobile-phone and PDA software (Windows Mobile)
  • Web-based search (advertising)
  • Game consoles (XBox) 
  • Media players (Zune)
  • Enterprise line-of-business applications (ERP, CRM, etc.)

In which of these markets has Microsoft achieved at least 50% market share? None! 30%? None! The XBox is most successful at just under 30% market share (sales, not units). Windows mobile is at about 6% (below the iPhone!). MSN? 10%. Zune? Even my Microsoft friends laugh when I tell them I bought a Zune.

That the XBox is the most successful business is consistent with my focus on APIs; game developers are still very much interested in platform features, tools and functionality.

Microsoft started as a developer tools company (Microsoft BASIC). Some prodding by IBM got it into the OS and, thus, the API business. As it grew its Applications business, it never lost its core focus. I heard Bill Gates once comment on how “all great applications have been programmable” and I think he was stating, not only a truism, but also Microsoft’s subconcious mantra.

As long as tools and APIs were driving product functionality and purchasing decisions, Microsoft would see tremendous success. Now that this is no longer the case, Microsoft will begin to suffer.

The Decline and Fall of Microsoft? Part 3.

Tuesday, May 27th, 2008

For various reasons, I find myself flying much more frequently now than I ever have. Being a frequent flyer, I’m occasionally upgraded to first class where I get to sit with…other frequent flyers. These fellow FF’ers are often fellow businesspeople, too. Although I mostly like to keep quiet and read some airport fiction, I sometimes end up striking a conversation with a neighbor.

On a flight not too long ago, I sat next to a man who had started a business that makes high-tech coatings for glass. These are not the sticky films they sell on late night TV; they’re chemically deposited coatings used by premium glass manufacturers. I wasn’t surprised that the company is starting to focus on “green” coatings that reduce energy use or actually generate electricity while remaining transparent. What surprised me, however, was the reason the executive had decided to focus on green products. It wasn’t because the economic math was starting to make sense. Quite the opposite, the company had decided to develop green products because “it (was) no longer a purely economic argument”. He explained that ”cultural elements had taken hold” that convinced them the trend would be long lasting. He was convinced that the world’s interest in reducing energy use and carbon emissions had reached a level of acceptance that it would be, for all intents and purposes, “permanent.” At first, this sounded completely backward to me. I could imagine them ignoring purely cultural trends if the economic terms were not favorable but I could not imagine them doing the opposite — ignoring economic conditions because the cultural trends were lacking.

I’ve discussed this anecdote with several people and the more I think and talk about it, the more I accept the argument. Cultural movements can be much more effective and long-lasting than economic parameters. Although it can be argued that we’ve yet to achieve the goals of the civil rights or the equal rights movements - it can not be argued that each of these hasn’t permanently affected the way that we consider race and gender. Campaigns against littering and smoking have also seen great success once they’ve achieved at setting the “norm.” If you see someone throw out empty food wrappers from his/her car you probably have a strong visceral reaction (”what a pig!”). My smoker friends tell me they definitely feel similar contempt rays emanating from non-smokers.

I believe we are beginning to see cultural trends that bode badly for Microsoft. Microsoft is simply not cool anymore. (Arguably, Microsoft was never “cool” but is now, perhaps, explicitly “uncool”).

There’s some clear evidence of this. Consider how Microsoft and Apple have fared on the Forbes “Most Admired Companies” list during the last few years:

Apple Microsoft
2006 11 10
2007 7 12
2008 1 16

In 2008, both Target and P&G were listed higher on the Forbes “most admired companies” list. Now, I’m not sure I agree 100% with Forbes’ methodology but any methodology that ends up with a low-cost retailer and a toothpaste company ahead of Microsoft tells me that Microsoft is, indeed, losing its mojo.

Another clear evidence point can be seen by visiting your neighborhood Starbucks and counting Mac vs. Windows laptops. While the numbers are higher in Bellevue and Redmond, they’re dismal in San Franciso, Boston and New York. My own family, Windows users for many years, are checking out the “cute” Mac laptops and Mac Minis. My son, perhaps the most loyal to Microsoft (he’s a gamer), has been Beta testing the one-laptop-per-child OS in his high-school and is asking about how one installs Linux.

I won’t go into why Apple is succeeding where Microsoft is not. Anyone who has looked at iPods and Zunes or iPhones and Windows Mobile phones knows the answer to this question.

Beyond Apple’s success is Microsoft’s failure. Windows Vista is not cool. Sure, it has pretty graphics, but we were already seeing those graphics on the Mac and I can also see them on my $400 Ubuntu Eee PC machine that doesn’t require 2Gb of memory to run well. Microsoft Office 2007 is also not cool. Sure it has a couple of neat features here and there but why does it force me to re-learn a UI that I’ve known for years? Why does it default to the new file format? Why is it so incredibly slow on my cool Mac laptop?

MSN is the new AOL. The only people I know who have their home page on MSN are those who haven’t figured out how to change it to Google. Microsoft buying Yahoo search is tantamount to Ford buying Yugo for its engineering prowess.

There are still a few cool things at Microsoft. The XBox 360 is cool. Sure, the PS3 folk scoff, but XBox live rocks and there’s still very few games that take advantage of the PS3. If you want a great multi-player gaming experience there’s no better alternative.

There’s stuff at Microsoft Research that’s incredibly cool. Check out “Group Shot” or  “Photo Synth”.

As a whole, however, the public perception of Microsoft has changed. There was a time when everyone was using Windows XP and Microsoft Office at work and could not imagine anything that worked better. Macs were around but occasionally blew up with “sad Mac error #6″ or whatever. Those days are gone. There are kids in college now who’ve remember only Windows computers. For them, Microsoft represents “their father’s operating system.”  Apple is the cool “new” company. Google is the best place to work.

Macs may be more expensive than PCs. There are strong economic arguments for buying Microsoft products. Personally, though, I’d keep my eye on the cultural arguments for not buying them.

The Decline and Fall of Microsoft? Part 2.

Monday, May 26th, 2008

If you have ever had to manage employees, you’ve probably had to deal with performance reviews. A performance review gives you an opportunity to discuss an employee’s effectiveness at reaching previously established goals and gives you an opportunity to establish new goals for the next review period.

It is my experience that reviews, although painful to perform, are extremely successful at accomplishing one thing: getting employees to focus on whatever metrics you are using to measure them. If you rate them on finished widgets per hour, they will give you lots of widgets. If you measure them on the quality of produced widgets, they will give you very fine widgets. People are smart - they will focus on what you consider important.

This principle applies at the institutional level, too. If the CEO establishes a set of goals, his/her lieutenants will work to accomplish those goals. The lieutentants will accomplish this by turning around and establishing goals for their own lieutenants (captains or sergeants or whatever the right rank would be). Ultimately, some shmoe will be tasked with accomplishing some specific micro-goal that contributes to the überscheme.

And thus, bad policy can flow from top to bottom.

In my 11 years at Microsoft, I never had a manager (and I had at least 6 during that time) that valued people Management. Not a single manager who set goals for me that included developing my people. Not a one ever asked me to read The One Minute Manager or The Pursuit of Excellence. I generally had excellent “employee feedback” scores, but received few kudos for them. I’m pretty sure my experience was not unique. My fellow managers certainly did not spend much time discussing their management theories or employee enrichment programs with me. Microsoft valued management to the extent that it helped deliver great product but never from the perspective of delivering great people.

Microsoft (at least, from 1987-98) was a very technology driven and product driven company. Software developers were tasked with completing components on time. Development managers were charged with delivering product. Business Unit Managers were measured on whether they won or not. Did they ship their product? Was it reviewed better than the competitions’? Was it outselling the competition?

The old “Systems” group at Microsoft was particularly known for its hard driving fashion. While the Applications group was known for being methodical and consistent, the Systems group was intense and mercurial. Steve Ballmer always paid special attention to Systems and drove it hard. Developers were expected to write tight, fast, code at breakneck speeds. Test was expected to validate code against dozens of different OEM systems. Program Managers scurried to coordinate Development, Test and User Ed. Screaming was a completely acceptable form of employee motivation. It was okay that Windows 95 was a year late because, heck, it would have been 3 years late had management not pushed so hard.

The arrival of Dave Cutler did little to change this. Windows NT was run in a similar fashion (although with a truly excellent crew; if Cutler yelled at you it was probably because you screwed something up.) If anything, the success of Windows NT and Cutler helped to reinforce the Systems culture. If Windows 95 had given screaming a black eye, Windows NT had helped to heal the welt and make screaming acceptable again.

And thus, decades later, Microsoft finds itself with an executive staff that knows little about good people Management (with a capital M). The Developers and Development Managers and Business Unit Managers are now the Architects and Vice Presidents and Executive Vice Presidents who run the company. Having never experienced good people management it’s difficult for them to spontaneously develop such skills themselves.

I still have many friends at Microsoft and several of them are exactly these Architects, VPs and EVPs. They are fine people with tremendous technical skills. Some of them have learned business skills and understand their markets remarkably well. They understand their competition, they understand the business and they understand the underlying technology. When I step back and consider them as a whole, with few exceptions (TW, KR, SD - you know who you are), I know that none of them were chosen for their positions because they were great at managing people. On the contrary, when I look at senior Microsoft executives (at least, the ones I’ve met), I can say that many of them are well known for having poor people skills.

This then is my first observation regarding the Decline and Fall of Microsoft: it is doomed because it has failed to develop a culture of excellence with regards to management. It has defined quality management only from the perspective of delivering product and not from the perspective of managing people well and delivering talent.

Hiring people from outside the company does not help. Already, Microsoft consumes a large percentage of the available talent pool. There are hundreds of development and managerial jobs that go unfilled because quality people can not be found. The company has had to lower its hiring standards to simply be able to limp along. When outside managers are hired, it doesn’t take them long to figure out how  they’re being measured.

As long as the company cares only about product, that’s all that it will get. What it doesn’t “get” however, is that the best way to develop quality product is to first develop quality people. Take some of the old-time developers (AP, RM, JG, you know who you are) and have them teach mediocre developers to be great developers. Send first-level managers to management classes run by outside firms. Set management goals at all levels that provide incentives for internal employee development and promotion. Measure people on their ability to develop others and watch what happens.

I think this is unlikely to happen. Large companies have a tendency to become “brittle”. The ranks of Microsoft managers consist of people who are already culturally acclimated to the norm and who have little incentive to bring up such initiatives. Microsoft will continue to lose good people to other companies. College graduates, already leery of Microsoft, will increasingly choose to take jobs elsewhere. Microsoft will end up with the kind of folk that it used to scorn when it was a small company.

The rest is simply “math”. Eventually, Windows and Office (and their offspring) will not be enough to pay the bills. There’s only so much you can do when you near 100% market share. Microsoft needs to develop successful new product lines. Does it have the right people to make this happen?

The Decline and Fall of Microsoft? Part 1.

Sunday, May 25th, 2008

Back when I first left college and got a job, I worked for Hewlett-Packard. HP was a great place to learn engineering, to become a good manager. HP was a large, slow moving company however, so for many people, the next step was to go and apply those skills elsewhere. In my case, the faster company was Microsoft. I worked there from 1987 to 1998. Those of you who are familiar with what was happening in the software business and the stock market will know this was a very good time to be at Microsoft. I am eternally grateful.

 One of the things that I learned at HP was Total Quality Control (TQC, as it was termed back then). Now, these days, TQC has been replaced by a myriad of ISO number sequences, but I think the basic tenets hold: measure lots of stuff, understand your processes, fix them. 

One of the things that most struck me about TQC, something that has stayed with me in the 20+ years since I left HP, was an anecdote from a Japanese automobile company executive. At the time, American car quality was very poor. The Japanese executive commented that their American counterparts had only taken the first step towards TQC: they were looking for and counting defects in the cars exiting the production line. The second step, he explained, was to look at your processes and find out why defects were occurring. If door panels were misaligned, you needed to look at your door assembly process and figure out why the misalignment was occurring. The third step, he went on, was to understand what was wrong with your “meta-processes”. What were you doing that resulted in a poor door assembly process. This “upstream” analysis of corporate process and culture, he explained, was crucial to TQC.

When I got to Microsoft, I was thrilled to be working at a faster company. My first week there, my manager took me aside and told me to stop waiting for consensus. If I thought something needed to be done, I should go and do it and apologize later for any mistakes along the way. Microsoft spent very little time thinking about TQC, scheduling methodology, management techniques, etc.

The company was extremely decentralized. The Excel team cared only about Excel. The Word team, only about Word. I remember “midnight requisitioning” where we would go to an adjacent building and steal some other groups’ office chairs (only to have them restolen by some other group on some other night). Each business was run by a general manager responsible for, maybe, 100-200 people and $100-200M worth of revenue. The technical and marketing managers were all aware of their group’s P&L and were all doing everything they could to beat their competition (back when Microsoft had competition: Lotus, WordPerfect, etc.).  

My first year at Microsoft, I spent in the Systems group. I was working on the Windows 1.0 SDK and then on OS/2 Presentation Manager. The latter project, of course, was part of the JDA (Joint Development Agreement) with IBM.

Everyone hated working with IBM. They were slow. They were bureaucratic. They had hundreds of developers writing software that was bloated and buggy. Our developers would rewrite code in half the time and half the memory. IBM was also weird. They insisted on their own terminology (remember DASDs instead of hard disks? PELs instead of pixels?). They wanted to change the cartesian origin of the graphics canvas (in spite of the typical layout of display memory). Microsoft engineers rejoiced when the JDA fell apart. The company focused on making Windows successful and the rest is history.

Fast forward 20 years. Replace IBM with Microsoft and the same story could be told. It is Microsoft that has gotten big and slow. It is Microsoft that is having trouble executing on its strategies. It is Microsoft that ignores industry standards and insists that others follow its directions.

This is not to say that there is nothing good happening at Microsoft. I still have many friends working there and some are working on genuinely interesting things. Last week, I met with some folk in the System Center group who really seem to understand the importance of supporting non-Microsoft systems. It is altogether conceivable that Microsoft will continue to deliver on quarter after quarter of increased sales and revenue.

 And yet, I think there’s something fundamentally wrong at 1 Microsoft Way. Although the company can survive in the short-term, I believe that its basic flaws will ultimately require a major restructuring of the company and its business. IBM has successfully converted itself into a service company (although its mainframe business is booming!). Microsoft may need to perform a similarly radical redefinition.

In my next few posts, I’ll go more into what I think is wrong in Redmond and what they need to do to fix it. Here’s a hint: it has something to do with TQC and listening to Japanese auto executives.