February 18, 2007
@ 11:39 AM

Mini-Microsoft has a blog post entitled Where's Ray? Where's the Vista Campaign? where he claims that Ray Ozzie has been AWOL when it comes to presenting a vision for Microsoft as it's Chief Software Architect. There is an interesting comment in response to his post from an ex-Microsoftie which is excerpted below

>We need more engagement from Ray and his brigade about what's happening and what kind of coherent vision is coming about.

I'm sorry, but this is NOT what you need. You do NOT need vision from Ray. At this point, what you need from Ray is code!

I have a very long history with Microsoft, and I am no longer a softie. One of the reasons I left is the whole vision/strategy vs. code problem. In the old days, production quality code really mattered a ton. In the new Microsoft, from Forum 2000 onward, code was much less important. What really mattered was laying down a vision and a strategy.

I wrote a longish post in response to this comment then realized no good could come from posting it here. Suffice to say I agree with the sentiment in the comment. Somewhere along the line VISION became more important than SHIPPING CODE at Microsoft. This really became a problem when the gap between our vision (or should I say BillG's vision) and our ability to ship code widened a lot more than we realized leading to unpleasant results (e.g. Longhorn). 

What the company needs now is more focus on shipping code and less focus on vision. Quite frankly, I'd be quite happy to never get another vision memo or speech from Ray as long as I'm sure he's out there making sure we aren't working on any more obviously bad ideas. One of the reasons I'm still at Microsoft [specifically Windows Live] is that I believe that our current leadership believes in shipping code. I've also gotten the same vibe from Ray which is also goodness in my book. Time will tell whether my confidence is warranted or not.

PS: Is it me or are there shades of markl in that comment on Mini's blog?

Sunday, February 18, 2007 4:31:04 PM (GMT Standard Time, UTC+00:00)
Sometimes I'm dismayed to hear this vision vs. shipping code discussion. I think my problem is I hear it as a zero-sum game argument. There's no doubt in my mind that what matters is shipping software products that people use. There are all sorts of visions involved (including whatever is evoked in and experienced by the adopter of the software).

It is a balancing act. Especially around qualities of the software (all of the -ilities), and how they are measured and most-of-all, how they are traded off.

For example, there's a vision (in the world, I'm not sure how uniformly within Microsoft) around dependability and reliability that is extremely difficult to fulfill on, especially now that there is criminal interest in exploiting vulnerabilities found in software. But without some sort of coherent vision, and a meaningful way of measuring progress and foregoing activities that undermine its achievement, it is all sort of randomness accompanied by ineffective sincerity. (See http://orcmid.com/blog/2007/02/dear-microsoft-what-trumps-security-as.asp)

That's my pet example. Some visions don't have very concrete objectives and that's a problem. But without vision, code is just programmer wet dreams. Find the balance.
Sunday, February 18, 2007 5:10:06 PM (GMT Standard Time, UTC+00:00)
I just saw Kim's post here: http://www.identityblog.com/?p=684

It is, for me, an example where execution on a vision, along with architecture-on-purpose principles has struck pay dirt. And now lots of code is starting to ship, in amazing ways. The paradigm is promising to be quite durable while allowing many different ways of executing within it.

Although not grandiose in terms of betting the future of Microsoft, this strikes me as an example of what happens when the balance is as good as it gets.

How does that strike you?
Sunday, February 18, 2007 5:47:43 PM (GMT Standard Time, UTC+00:00)
Once upon a time I used to describe the position of "Architect" as "Too dangerous to let near real code, to valuable to fire".

This was back in the day when an architect was a level 15, roughly equivilant to todays Distinguished Engineer. The thing about architects is that they keep on having cool ideas. The cool ideas are great, but typically you can't keep an architect focused long enough to produce a product - they constantly come up with new ideas, and if they're in position of authority over a dev team, they refocus the dev team on that new idea.

Dev teams led by architects are constantly moving towards an ever changing vision, as a result they never actually PRODUCE anything.
Sunday, February 18, 2007 9:02:57 PM (GMT Standard Time, UTC+00:00)
Shipping Code vs. Vision is a continuoum. In my opinion the pendulum swung to far in one direction at Microsoft and more weight has been placed on 'having vision' than 'getting things done'.

This isn't to say that having a strategic vision and tactical plans on how to reach that vision is undesirable. However you should take care of day to day business before building castles in the sky.
Monday, February 19, 2007 12:00:53 AM (GMT Standard Time, UTC+00:00)
@Larry, well I've seen (and done it) it both ways, but yes, architecting and developing are not the same things. My own experience is that I am less dangerous as an architect when I have project accountabilities, but something's weird if I'm writing any code when there is a capable team in place.

@Dare, of course. I have no idea what the experience is in Microsoft, and one would certainly want to have a vision that is actionable and that everyone involved can internalize and work toward. I suppose the greatest example of a major undertaking that began with an actionable statement of vision was John F. Kennedy's "man on the moon and safely return within the decade." It seems that it qualifies on the vision front because they didn't know how to do it. It is interesting how the progressive steps of that particular journey were carried out.
Monday, February 19, 2007 12:43:39 AM (GMT Standard Time, UTC+00:00)
[I was looking for a page to test the installation of my BlogJet This! plug-in and I came back to this one out of interest.]

@Larry: A follow-up. I realized that there is a kind of generalization about architects and I'm uncomfortable with it. I was wondering if you had examples of architects who did it well in your experience. I would have assumed Dave Cutler would be on your proper-architect list, but that's based on a brief meeting at the original NT announcement event and a shared affection for the Univac 1108. I don't know about Letwin on OS/2 (I only knew his Heathkit H8 work directly).

Hardware architects I've known share an uncanny sense of critical invariants (a Cutler trait that I recall) and also understanding of how things can make dramatic changes in what is possible, whether a breakthrough in packaging technology or something like a dramatic decrease in the price, speed, and quality of semiconductor diodes. I suspect hardware teams have architecture astronaut problems too, though.

What do you notice as admirable traits of those architects that you consider admirable?

[PS: @Dare, your robot defender -- I forget what they are called -- is one of the most civilized ones I've encountered. Many others drive me cross-eyed and squinty.]
Comments are closed.