Monday, November 14, 2005

A Disruptive Defrag for Microsoft

So I finally had some spare time this weekend to print off the oh-so-well covered Gates and Ozzie memos about the service wave. I grabbed mine from Mr. Bishop's post, before I noticed that internally they are available off of http://blogs/live/ as well.

Before I start my thoughts here, let me just say that strategic memos like these reveal a lot about the reader's agenda. Allow me to restate that my agenda is for a leaner, meaner, agile, efficient, exciting Microsoft that can swiftly deliver remarkable software products to our customers and provide great value to our shareholders. I also want us to spend sometime focusing on everyday consumers and back off from being so IT focused when it comes to new features and products.

At a rather base level, I believe that Microsoft needs an explosive enema to flush it free of the process, bureaucracy, and low-quality personnel. Microsoft needs a disruptive defrag.

So I dive into these memos looking to align them with my own agenda. I respect that your Rorschachian take on the memo might come up with a wildly different view. I'd love to hear it, too.

Gates memo seems pretty much like the wrapping on the paper that says, "Read this and take it seriously." He mentions how services will simplify the work of IT departments and developers. Unsurprisingly, I didn't find anything in his cover letter specifically focused on the consumer. Mr. Gates sets the stage for this to be a very disruptive change. Good. He then ends indicating who all this upcoming change will be a benefit to. Where are the shareholders? Still busy meditating on horizontal stock-price lines?

Mr. Ozzie's memo surprised me in a good way. I didn't have high hopes, so that's probably why I put off reading it. I'm no big fan of the confusing mess that's Notes, I think Groove is a pokey-inefficient system just a tad better than shareware, and Ray's uninspiring presentation at the 2005 Company Meeting lost my attention, along with the people around me. So I had dialed the expectation meter down to about a two. And for some reason I was expecting to come up with some sort of comparison of Mr. Ozzie to Karl Rove... thankfully, not needed!

Ray sets a good stage, and gently raps Microsoft across the knuckles for the opportunities we missed, like the XmlHttpRequest design for OWA (whose designer left Microsoft for Pure Networks) that forms the basis of AJAX (which really only is possible now given the crossbrowser adoption of XmlHttpRequest, cross-site security pains and all). I'd certainly like more digging into such failures at an executive level to understand why we didn't have the motivation to be leaders here. Hell, every acquisition is an admission to leadership screw-up in my book: why didn't we have the foresight to innovate in this area vs. buying this anti-spyware / server-side malware scrubber / VoIP provider?

I find it especially interesting that Google / Yahoo / Apple are given the "yes, yes" waiving hand of dismissive recognition and that the true focus needs to be on grassroots start-ups using the internet as their framework. Obviously, we want to be their foundation. I like this line regarding developing on the internet: "Speed, simplicity and loose coupling are paramount." Good ole developer fundamentals.

I'm still out-of-touch with respect to the big huge pile of golden eggs out there with a rainbow shining above them, emblazoned with the phrase "advertising-supported economic model." I need to do some digging into what the analysts say about future expected income for targeted ads and the expected user reaction to them popping up everywhere anytime they use something that's online. Like TiVo and commercials, it all seems to be one GreaseMonkey script away from disappearing from view. All I have in my mental visual imagery is that one Aqua Teen Hunger Force where real-life pop-up ads started filling the house. Users will start gravitating towards the service with the least annoyance vs. functionality.

I like the essence of the "integrated user experiences that 'just work'" paragraph. (Detour ahead.) Lord knows the gadgets in my life steal a hell of a lot of my free time as I attend to their care and feeding. What I really want is virtual representations of them (perhaps as gadgets or widgets) that I can manipulate whether they are connected or not. If my PDA is connected to my computer, give me a term-serv like experience into it. If it's not connected, give me a queue of goodness I can pile up for it on its emulated image. And let all of these roam. If there's a file I want to plop onto my PSP from my work, let me drag it onto a gadget representation of it and when I connect it later to the home desktop that pending file plops out of my storage cloud and onto my PSP.

My asks for gadget infrastructure adds:

  1. A storage system that can wrap something like my HotMail or GMail quota so that it roams. Let's reuse the disk quota I already have.
  2. A tuple space around this system.
  3. Input and Outputs around each gadget, so that they can be hooked up together or into the tuple space.

Okay, back to the memo. Seamless entertainment! Wowza, Mr. Ozzie mentioned everyday consumers! Given XNA and XBox and everything, Microsoft should try to revitalize our gamer market. This is an area we could load balance underutilized talent into, even given that part of the company has been RIF'd black and blue. I believe there's money to be had in PC games, and our experience with XBox, every money losing cent of it, can at least be projected into profits in the PC world.

Interesting comment about lightweight development, recognizing that SOAP ain't all that and that REST and other technologies should be supported. Programmers are lazy efficient and will gravitate towards technologies that make sense and get the job done (and usually, those technologies are not designed by standards committees). After that came the obligatory note that we'll respect the need to comply and not go making private services. I still think that service APIs introduce a new level of hell, given that while can change their service willy-nilly or go down for the weekend, Microsoft can't.

I read the Business Division part of the Moving Forward section several times and I was really surprised at how fuzzy it was, especially given that IW Services have been going for a while. It's a bunch of questions, basically. And to tell you the truth, not very interesting questions. The entertainment part is a bunch of questions, too, I guess. But I'm surprised IW / Dynamics / Office doesn't have more detail, especially in comparison to the Platform Products & Services Division section.

The money shot for me is this quote:

That said, I have a number of reasons for optimism that we can deliver well on this vision. First, I know that Bill, Steve and the senior leadership team understand that Microsoft’s execution effectiveness will be improved by eliminating obstacles to developing and shipping products. The recent reorganization into three divisions is a significant step, and the division presidents are committed to changes to improve our agility.

Good intentions. Nice words. But I want some act-shun. Agility, along with shipping more frequently, has been coming up more and more as a positive goal and an act of contrition to make up for where we are today. But if you're adding agility, you have to admit that your subtracting anything that's anti-agility. What's going away to make room for agile, frequent shipping? Who is going away? What is the waste in process and execution that can be trimmed. Meetings? Linear, spec-driven development? Doors? Walls? I think for us to make room to be agile, we need to identify what is currently slowing us down. This not only includes day to day process that drains execution due to team tax, but also the blockers for rewards for doing a great job.

I don't know anything about what it was like to be a developer working for Mr. Ozzie. I haven't spent too much time looking for Groove employee blogs. The only one I stumbled across seems to be gone now (Office Skirmishes [BlogLines cache]). I'd be interested in their take on how Mr. Ozzie avoided issues around "complexity kills." Now then, regarding this insight:

Another simple tool I’ve used involves attracting developers to use common physical workspaces to naturally catalyze ad hoc face-time between those who need to coordinate, rather than relying solely upon meetings and streams of email and document reviews for such interaction.

Whoa-ho-ho, there, Tex, hold on there! I'm lining up like the next guy to kill off meetings and email threads and reviews, but I escaped the cube-farm to come to Microsoft. A door and free cola sealed the deal for me. I'd much rather show up at 9am for the daily scrum meeting and have to hold my tongue than go back to the days of being in a shared space. I guess if we did implement that environment I would personally help realize my vision of a smaller Microsoft by jumping to some local startup.

So time will tell where the memo goes and what proof the pudding provides. I have hope. And this certainly is opportunity for a next-generation of common-sense leaders to step up and show how 21st century software development gets down and makes a whole bunch of cash.

No comments:

Post a Comment