I keep reading the comments posted on Mini-Microsoft pages about how lean and mean MSFT used to be, and how annoyed are the developers by the extra layers of "bureaucracy"--program managers (PMs) and testers included.
These are probably the voices of those (younger) developers who got into MSFT at its top form. Yet, why aren't they being told that MSFT used to ship buggy software ("blues screen of death") and made for tons of jokes about bad software development? When you grow big and customers say you need to fix up or else, adding more testers and "bureaucrats" to make sure the customers don't switch is VITAL!
I shipped myself some big software and know full well about the culture clash at the intersection of developers, business, customers, partners, testing, consulting, etc. Guys, beyond a point in size, it's just life! For those advocating a smaller MSFT (hence mini-Microsoft?), I should add that a little fat hasn't killed anybody, and one gets to appreciate that when a new opportunity shows up or the market fluctuates. In a sense, one of the problems Microsoft has is its inability to hire what/how much it needs! And this is not a function of Google as much as a function of how education fails US. Moreover, as of late, we've seen many of downs, yet people complain about having to co-pay $40 for branded medicine. If you spent time with the folks from Wall-Street, who are ready to chew you up at a moment notice, you'd have a better understanding of where Ballmer is coming from on that.
As I said elsewhere, I suggest MSFT reorganize along big enterprise stuff and consumer stuff. Big enterprise software is meant to be boring and process-laden(sorry folks!), consumer software being in the opposite category. Self selection of the employees could put its mark on the overall happiness then. As another recommendation, MSFT could do better if stayed away from just about everything that (can) exists in digital form. Initially, this approach might have been the result of lower projected revenues in mature areas. Now, when so much is becoming digital, it may be hubris. A better way to tap into the future would be to just buy whatever company is doing well in a promising area--problem is, those guys don't always develop on .Net or Visual Studio...
Why wouldn't the top brass at MSFT put everything into two buckets? Maybe because they keep telling everybody Windows is a monolith that cannot be taken apart into modules--yet they are doing just that, at least when it comes about developing the beast. In other words they might have gotten themselves on a "dependency path" that does not allow Microsoft to be different and save management/legal face at the same time. To counter a possible argument like: "fCh, doesn't MSN cut it both ways under your two bucket plan?" I would say that beyond a certain size, MSN consumer cannot be(come) MSN enterprise, unless you want to make everybody unhappy--from developers to customers, your cousin included. A grown up MSN consumer would be more like Yahoo!, whereas MSN enterprise like salesforce.com. Who in the right mind would MERGE (all the way to developer-level) the two of them?
As for Google, let those guys go round the bloc for a few times, prove their worth, and then jump to conclusions. Google is not the answer, any number of start-ups in the Valley might be--at least for those who dream of themselves sleeping on/under tables and developing untested software. I use and respect Google's stuff, yet I am apprehensive like hell about what it may turn into--I'll write more about this soon. For an early taste of what's to come, click here!