« Rotating 4-D Cube| Main | Write it up, I'll take it »

Good Luck, Ray Ozzie!

| | Comments (0)

Now that Bill Gates is stepping down, it looks like he has picked a tremendously qualified person to replace him. Ray Ozzie is taking over the helm almost immediately, it sounds like. For those of you who don't know, Ray is the driving force behind Groove, a tool I think is in the category of WiFi and the I-Pod. I like it a lot, and have been using it for a while. One of Ozzie's first memos should get everyone's attention in the software world.

Complexity kills. It sucks the life out of developers, it makes products difficult to plan, build and test, it introduces security challenges, and it causes end-user and administrator frustration.

Way to go, Ray! But you got a long, hard road ahead of you. Let's take a minute and look at why Microsoft is in the mess it's in right now.

Ray Ozzie, the new architect at Microsoft
Ozzie will be taking the role of Chief Architect from Gates. He's got a tough job ahead of him.

I've said for a long time that Microsoft is developing tools for marketing needs rather than world needs. You can get away with this if you are Joe-Coder like me, who is writing some small start-up stuff. But when you lead the field? You've got to go for the big plays. You can't play a running game and have $50 Billion in the bank. Paradoxically, big companies are the ones who need to act the most like small companies, but for many reasons can't do it. Here's a great overview of the problem of disruptive innovations at Microsoft. Read up, Ray! But there are other factors at work too.

It's human nature to want to add complexity - Nobody gets brownie points for making a box with one big button on the front, even thought that's EXACTLY what the users want. Let's face it, every time a programmer or a programming team sits down to create a solution, they want some kind of recognition. That's why every stinking program on your Windows XP box wants a spot in the system tray, and that's why every three seconds some little bubble is popping up to remind you of something you could care less about. It's enough to drive the user nuts.

Needed complexity is not being encapsulated - Look, we all know that you're not going to write an O/S without some kind of complexity, but the trick is: have you simplified the complexity for ALL end-users, including other developers?

Inside OLE, the book for chronic insomnia
Yes, this was a solution, but at what cost?

I remember reading Kraig Brockschmidt's Inside OLE back in 1995. Being a Microsoft wonk and a C++ programmer, this was need-to-know information, the key concepts behind Microsoft's new platform of technologies.

Gosh! What a mess! OLE and COM were definitely solutions, and they were based on real-world problems and previous real-world solutions (CORBA). But was the trade-off in complexity worth the benefit to me as a programmer? Do I really need to learn ancient Egyptian hieroglyphics and take a doctoral-level courses in ancient civilizations to watch an episode of Stargate SG-1? Perceived complexity needs to be created only as much as needed, then COMPLETELY HIDDEN from everybody. The problem here is that it's hard to get much credit (see first point) for doing this.

Re-inventing the wheel - A lot of be-a-good-programmer writers rant on and on about not reinventing the wheel. This is usually before they sell you on some new way of doing the same old things, like patterns. I've got news for most of you out there -- it's all been done before. Take a look at meta-programming, workflow, and rules and configuration engines. Whatever you're doing, 9 times out of ten its going to fit in to one of these paradigms. So why doesn't the O/S support these concepts and be done with it?

Cash cows are hard to kill - If you ask me, Microsoft should commoditize Office and sell the data storage and communication infrastructure on a subscription basis. I think in his heart Ozzie might agree with me on this. The "thing" I'm doing on the computer is not as important as who I'm doing it with and how well we are collaborating. Office is a dead duck in that regard. That's why Microsoft bought Groove -- they can see where this is heading.

You gotta spot commoditization ahead of time and get out in front of it. Investors, however, are not too hip to this idea! Office is a huge cash cow for Microsoft and the institutional pressure is on to just keep milking that cow for all its worth. Problem is, they don't need a cow any more, they need an airplane. Now you can stick wings on the cow, and you can even wear a funny hat, climb on the cow, and make propeller sounds. But that don't make a cow turn into an airplane. Take the hit: commoditize it and move up to the next level of analysis and solutions.

Flying Cow
Wonder how you land this thing?

Too much cash and too many people - Clusters scale up. Web servers scale up. Developers don't scale up so well. That's on of the dirty secrets of IT and anybody in Ozzie's shoes should understand it. When you move beyond the number of people that can talk to each other easily on a daily basis, complexity and mission creep will sneak in and kill you. Give me 3 or 4 teams of 4-7 people instead of 200 developers in a large building any day. (The one condition would be that I would be able to pay them quite liberally) You quickly reach a point of diminishing returns. This is something the GSA needs to learn desperately! Stop creating Federal software development RFPs based on the number of cookie-cutter people you'll need. It doesn't work that way.

Right now at Microsoft there are scores of teams that actually have conflicting goals, but nobody has put the pieces together. Quite honestly, if Microsoft is going to grow with the world most of the divisions and teams they have should be gone in the next twenty years, right? Technology changes, so the teams will have to change as well. So where is the plan to make all of these people go away or start doing something new?

People say that "vision" is lacking in a company, but I find that is rarely the case. What is lacking, in my opinion, is the ability to take a vision and make it happen. In large organizations they will coddle you as a figurehead if you are not careful. Ray should have all the money he wants, and he should be willing to ask honest questions pressingly for answers. You can have the illusion of leading at a company like Microsoft without actually doing much at all.

Good luck, Ray Ozzie! You'll need it.


Vote for this article on Dzone!
Digg This!

Leave a comment

About this Entry

This page contains a single entry by Daniel published on June 19, 2006 4:25 PM.

Rotating 4-D Cube was the previous entry in this blog.

Write it up, I'll take it is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

Powered by Movable Type 4.23-en
Daniel Markham