« Hey Genius! | Main | Dave Cutler Wins the Bill Gates Award »

September 06, 2007

Software + Services = ?

Today we had the Microsoft Company Meeting, where we all gather at Safeco Field and hear about what the company has done and what the company will do.

Ray Ozzie was one of those who gave a speech. After seeing him talk at this event several times I realize that I have the same reaction each time: he's a great presenter who speaks with passion, in complete sentences, and apparently off-the-cuff (there was a prompter for the speakers, but from my perch in the left-field nosebleed seats he did not appear to be looking at it). But when he's done you think back and realize you're not sure exactly what his main point was. In this case he was talking about how important "software + services" was for the future of Microsoft. Which made me realize, once again, that I'm not really sure what that phrase means.

Ray did say "When I say 'software + services', a lot of people think I just mean Search." OK, I didn't think that; to me s+s clearly implies that Windows and Office, for example, will change in some important way. I did glean one nugget, which is that s+s involves storage in the cloud, done in a way that it is secure, is available to me on all my devices, can be easily shared with those I designate, and all that. But is it ONLY storage in the cloud? Wouldn't that just imply that Windows added a cloud storage API (which doesn't seem like much more than an installable file system with quality-of-service and payment added on) and then a web-based architecture for cloud storage providers to plug in to (those two parts being the "application API" and the "driver model", respectively, for cloud storage)? There must be something else.

Being in Engineering Excellence, I'm particular interested in the implication that this is going to be a dramatic change in how we engineer our software. Ray put up the standard list of sea changes throughout Microsoft history (GUI in 1990, Internet in 1995, large-scale services in 200x) and implied that s+s/SaaS (which he seems to view as equivalent, although they taste different to me) was the latest such change. But a fundamental change in the customer experience with our software does not always mean a fundamental change in how we engineer it. Although the Internet was obviously a dramatic change for users in the mid-1990s, we didn't change how we engineered our software in the mid-1990s. Conversely, something like the switch to multi-core likely IS going to be a fundamental change in how we engineer our software, even though a user may not even notice (if we do it right, anyway). It's not yet clear to me whether the switch to s+s is going to involve a change in how we engineer, mostly because I still don't understand exactly what is involved. I was discussing this with another EEer and we agreed that such an engineering change would be a perfect focus for next year's EE/TwC Forum IF it turns out that there is something meaty to talk about.

So I wrote the above and then I was thinking "Didn't I write something similar before?", so I looked for it to link to, and lo and behold it was after Ray Ozzie's speech at LAST year's company meeting, and it basically said exactly the same thing. So in the last year, at least, I haven't figured it out.

In other Company Meeting news, Microsoft announced that they are going to start a very basic bus service, free to employees, between 5 locations around Seattle and main campus. At least I think they go to main campus. They also announced 3 new office spaces on the Seattle side of the lake, further evidence of how scattered our Puget Sound workforce is becoming, making the bus service less effective. But it's still a great idea and depending on the routes and the frequency, could really help with parking on campus. I think they said they had 14 buses and there are 5 routes and they are probably one hour roundtrips, so that's about a 20 minute headway. Which is a bit too long, but not by much. Like a lot of these things, it's good to try it out and we can improve it as needed.

Posted by AdamBa at September 6, 2007 08:41 PM

Trackback Pings

TrackBack URL for this entry:


I came away with the same impression last year and this time, too: sounds great but not concrete enough for me to get it. If you and other EE folks don't understand it, that seems like something worth fixing.

My imagining of what he means is something more like "registry in the cloud". Apps such as Office, or even Windows, use the uber services to store all kinds of settings that are re-synched with other machines and other apps. So you, the dev in say, Word, can call the API to see if the user already has settings for preferred language, layout, and templates. Every time I set something like a folder view preference or adjust which gadgets to show in Vista, that setting is reused on whenever I log in to other machines, a web OS/dashboard, or sharepoint. How about tagging your family photo album and having the tags synch in your desktop viewer, desktop search, and Flickr/Spaces site.

This is all just guessing, of course, and maybe he means something else entirely. I try to extrapolate from the Outlook-Exchange relationship: one's not very good without the other, and being able to have them work with active directory, OWA, et al is pretty slick. Apple's iTunes is another commonly cited sample. The competitive advantage would be somewhat like active directory's advantage with Windows itself.

The bus sounds cool, but will live or die on scheduling convenience. If I have to plan for it really carefully, it's not much better than a carpool. If I can be on corpnet, though, then suddenly my travel time becomes worktime, and my family/the environment becomes happier.

Posted by: DonD at September 6, 2007 10:42 PM

The other thing that was missing from Ray's speech was a closing with a clear mission statement.

He started with how Bill Gates had a clear concise mission that everyone understood and could relate to - a PC on every desktop and home.

I was looking forward to him closing with a similar clear and concise statement about SaaS.

Posted by: Sid Singh at September 7, 2007 10:01 AM

A thought on the mission statement...

I think we need to redefine the Mission Statement.

"Helping business and individual to reach their full potential" --- what IS potential and HOW can we achieve the GOAL? Well what IS the goal? This statement is so vague that it's almost like fighting a war against terror!

A much better statement would be "Becoming the number one software, productivity and entertainment portal in desktop, mobile devices and gaming". By defining it with measurable goal at least we hold our leadership and individual contributors accountable to the goal.

Every year a softie must write a set of commitments and define actions to be held accountable. How is our mission statement can be held accountable? That remains something we need to work on.

Posted by: Isaac at September 8, 2007 12:53 AM

I've gotten a couple of emails from people internally about this post, and what they've done is just explained how a service is different from (packaged) software. So I am thinking that maybe when Ray is thinking of "software + service" he is just considering Microsoft as a whole--it's not that every team is going to think of software and services together, it's just that as a company we're going to think that way (i.e. at the Ray level). But if that is the case, why make such a big deal...we already do software and services, maybe we'll do a bit more services and our software will integrate better with the services, but I don't see what the big engineering shift would be (since we're already doing lots of engineering of services).

I wonder if Ray is going to redefine the mission statement once this all sorts out--I agree it makes sense to redo it to be focused on what we are planning to do.

- adam

Posted by: Adam Barr at September 8, 2007 11:38 AM

How dense are you people? Software + Services is a silly alias for SaaS. For the licensee, it means that the perpetual license is replaced with a service (web based) agreement under which the products contracted for are delivered for as long as the service agreement is in place. Presumably, upgrades (whenever MSFT is able to squeeze them out) will be automatically delivered to the licensee. This alone will be a reason most licensees will stay away from this model - unless they will be allowed to continue using the version that they have already debugged for you guys!

Whether or not that makes a difference in how you engineer your software is another issue. But the basic business model shouldn't be such a mystery to you all - and you should be able to intuit that it is the business model that Ozzie is pushing. Your old cash cows (Windows and Office) are producing curdled milk. In order to fund your corporation and any new ventures, you need to change your license model so that the old Heffers can support you all. Nobody in business (with at least 2 brain cells firing) wants SA. There is little if any value in that given your long history of missed dates and buggy releases - ergo the switch to SaaS and the most likely abandonment of support for perpetual licenses.

For God's sake, get your heads out of your a.....es! There is such a thing as over-engineering/thinking. You are all living proof of that.

Posted by: Ania Levy at September 9, 2007 06:13 AM

Good observation, Sid, with "I was looking forward to him closing with a similar clear and concise statement about SaaS." I didn't hear Ray's talk but a couple other people have mentioned that it tailed off towards the end, and this could have something to do with it. And I think this ties in with Don's excelent point that "If you and other EE folks don't understand it, that seems like something worth fixing."

Posted by: jon at September 9, 2007 07:15 AM

When I (as an outsider) think about s+s I believe there is a shift underway to software aggregation.

As was pointed out there are SaaS implications, but many larger organizations are going to continue to run their own for a while. What needs to be incorporated into our thinking is that the value delivery business with software is less about "creation" and more about "assembly".

If you think about what took place with the modern support of interchangeable parts in mechanical engineering and the use of CAD and simulation. Those techniques will be more common to the development process of tomorrow than the hand crafted 3GL techniques of today.

If you've been around, you probably went some way down the CASE path at one time. Hopefully this time it will be more flexible and productive.

Posted by: Charlie Bess at September 10, 2007 09:00 AM

To me, SaaS means that the software is in a browser, or hosted in a browser. s+s is more like you get software downloaded on your machine, but the value add comes from the native services you can access (ala Google Earth - you download the app, but the cool stuff is being streamed as a service).

I jokingly tell people I work with that it you want to be part of the SOA movement, just create some web services and call them from your app. Service Oriented Architecture.

Anyway, I'm not sure why this is such a great thing anyway. If you are a large organization that can host the services locally, then sure. But for most people, having to rely on the internet connection between you and the hoster for mission-critical stuff seems almost silly to me.

As far as engineering - I think that some change will happen because we'll need to think about how to build applications which can work both locally and in a sandboxed browser model. But it's nothing like comparing it to engineering apps for x64 or multi-core. IMO.

Posted by: Cory Foy at September 10, 2007 12:38 PM

Ania Levy commented....

"How dense are you people? Software + Services is a silly alias for SaaS. For the licensee, it means that the perpetual license is replaced with a service (web based) agreement under which the products contracted for are delivered for as long as the service agreement is in place."

Well Ania, you're missing the point entirely. S+S is not an alias for SaaS and it's not about licensing. SaaS, as I think of it, is about delivery of software as a service...on demand from the Web, through a Web browser. That's nice but doesn't really meet all of my needs. I want to take advantage of local resources...on my PC or my phone or my server...and complement it with services. Sure, I could decide to consume Excel as a pure Web-based service ala Google Apps but I'd much rather have a copy of Excel on my PC that easily/seamlessly connects to other applications, sources of data etc using services. That version of Excel would work differently than it does today. I woudn't install it from a CD...I'd install it from the Web and it would just work. When I'm not using my PC I'd be able to access my spreadsheets from a Web browser or even my phone but without all of the features and performance I would get on my PC. In this sense software plus services is very different than SaaS. It's a best of both words approach vs. relying on big brother to allow you to connect to your apps on the ultimate mainframe (Google?) via a dumb terminal (the browser). I used to work for a company using AS400's and SaaS reminds me too much of that.

To Adam, Ray talked about changing the "processes and practices" we use to develop software. I'm far from an expert on software engineering processes and practices but I think I understand what he's referring to. The days of spending long periods of time writing a spec, then months or years developing and testing an application and then releasing it are coming to an end. In the world of services, software is constantly being updated and improved. You need to design software in a way that allows for continuous improvement rather than big releases every X months or years. Releasing a new "version" of search every few weeks or months is very different than releasing a new version of Office every 2-3 years. I have no inside knowledge but I expect Amazon's processes for adding new capabilities to their "application" are quite different than the processes we go through to release traditional software products.

Perhaps someone with direct experience can shed some light on this?

Posted by: Mason Flint at September 10, 2007 03:07 PM