The Microsoft Company Meeting was a few weeks ago. If you love the tech status quo inside or outside of Microsoft, seek shelter. How the company operates and how it engages with customers and the markets is about to change. All the signs were there in the Seattle Key Arena for anyone to notice.
All the products looked like they came from the same company. Honestly, this is the first time I can say that with a straight face. The Windows 8 interface look and feel was pervasive from PCs to slates to phones to office and business applications—even into the living room on the Xbox. But the change is more than superficial. If you write an app for the PC or slate, you can easily put that app on the phone. Bing will help you find whatever you need on any device, whether it’s a stock quote on your PC, news on your slate, a restaurant on your phone, or a TV show on your Xbox. You can do real work on your PC, show it on your slate, and update it on your phone without effort because the devices are all tied together with shared cloud services.
Look, I know I’m sounding like a bad commercial for Microsoft here, but there’s a point. The days of Microsoft having isolated products are over. I believe this has huge implications not only for our customers and partners, but for people, like me, who work at Microsoft. Our lives are about to get both better and worse. You can embrace this change and succeed, or fight it and perish. I could be wrong, but I know I’m right.
Why did it take so long for Microsoft to blur the lines between its products? I think the company finally learned its lesson from Apple with the iPhone. Microsoft thought smartphones (and their shared services) were supposed to be for business, but the market slapped us into sanity. The gloves came off: we built Windows Phone, threw social into Office, threw Office on the web, bought Skype, and the race was on.
As always, the content and asides in these columns are my own opinions and do not represent Microsoft in any official or unofficial capacity.
I love this company
First, a confession: I love the annual Microsoft Company Meeting. I’ve only missed it once in 17 years, the year Dana Carvey hosted, and I deeply regret that. However, I don’t watch for the host or even the demos—though I love the demos. I watch for the first and last speeches.
The first speech is always the money guy talking about the past year’s performance. My favorite money guy was Bob Herbold, because he was straight, dry, and hysterical. However, Kevin Turner has done a terrific job the past several years. The money guy doesn’t tell you everything Microsoft did, only the things executive leadership cares about. That’s gold-plated information. I find out how executives see our market position, what areas are likely to get attention, and how my division and what I’m working on rate. In other words, how I should focus my efforts.
The last speech is always Steve Ballmer talking about vision and direction. Kevin looks backward, Steve looks forward. From Steve, I learn what’s changing, how to think about it, what the challenges will be, and how I should respond. In other words, what I should be doing next.
This year’s company meeting was terrific—perhaps my second favorite. There was so much momentum and optimism. We’ll see how Windows 8 and the wave of server, business, phone, developer, home, and office products do, but they sure feel strong. (My first company meeting in 1995 was terrific too.)
My favorite company meeting was in the fall of 2000. Microsoft was in the dumps. The Justice Department was deciding how to tear the company apart, growth was down, the stock was down, customer satisfaction was down, Linux was on the rise—we were being hit from all sides. Steve Ballmer’s speech that year acknowledged our situation head-on. He used the Ali-Foreman fight as an allegory for our predicament and how we’d overcome it. We’d take all those punches, bide our time, and then come out swinging. The speech was moving and inspiring. It was a turning point. We released Office XP and Windows XP later that year and haven’t looked back.
There can be only one
If the days of Microsoft having isolated products are truly over, what does that mean?
- Certainly it should mean a simpler and better experience for customers, developers, and partners. One look and feel. One relationship with the company. One sign-in. One billing account. One marketplace. One search. One communications platform. One development platform. One run-time. Each using the same shared services. Far less confusion and fragmentation.
- For employees, it means one look and feel, one sign-in, one marketplace, one search, one communications platform, one development platform, and one run-time. So, if you are currently working on one of our several different marketplaces, guess what? There can be only one.
- It also means a much bigger emphasis on services. As employees, we’ve been hearing this a long time, and it’s been building a long time. Now, services are here, for real, across all our platforms.
- It further means more dependencies and more sharing of infrastructure internally. You thought cross-group work within the same org was tough? Try it across divisions that are on different ship schedules.
I’m not saying all this change will happen at once. Much has already happened. Some is happening now. Some I expect to happen over the next several years.
I’m saying you should prepare. Get used to the idea of having your team merge with another that is providing the same service or platform. Get used to the idea of continuous deployment of services. Get used to the idea of sharing infrastructure and working across divisions. If those changes haven’t already arrived, they’re coming.
Change is the only constant
If you don’t already know about continuous deployment of services, start reading up on it. A sampling of my articles on services includes:
- At your service (service scenarios)
- It starts with shipping (shipping services)
- There's no place like production (why and how you test in production)
- Cycle time—the soothsayer of productivity (shipping daily and weekly)
- Quality is in the eye of the customer (service testing)
- Production is a mixed blessing (service compatibility)
To summarize the shift to services, I’d say you ship continuously, you test in production, and you rely on aggregate customer data to make your decisions. I’d also say it’s awesome!
Inherent in the system
Consolidating our services and platforms into one of each and sharing them across products might be difficult, but it’s an obvious course to take. Consolidating our infrastructure into one of each and sharing it across divisions isn’t as obvious.
However, sharing services and platforms without sharing infrastructure is like trying to build a British-units car using metric tools. You can create adapters, recreate tools, and put the car together with duct tape and baling wire, but are you really going to take that thing on the highway?
There are two major engineering infrastructure systems at Microsoft: the Windows build system (aka Razzle) and the Team Foundation Server (TFS) Team Build system. Both use TFS for work item and bug tracking, and both build just about everything, though Razzle primarily builds native code and operating systems, and TFS primarily builds managed code and services. My guess is that the entire company will be using one or the other for builds five years from now. (Yes, I think the third major system, CoreXT, will perish.)
Sharing infrastructure is painful and scary. You don’t control your own destiny because you must rely on others for build, the most basic heartbeat of your product development. What’s the upside, aside from losing the duct tape and baling wire?
- You vastly reduce your engineering costs for infrastructure (people, hardware, labs, and custom software). Instead, your infrastructure becomes consolidated and shared.
- You benefit from existing and future shared advances (build parallelization, test management, improved dependency tracking, automation, risk assessment, better IP protection, and, eventually, lightning-fast cloud builds).
If you haven’t already, start learning and thinking about which system you should use and how you can transition to it. Yes, the change will be painful, but you can drive the steamroller of change or be run over by it. Either way it’s coming.
Will the Office division use TFS Team Build or Razzle? Right now it uses a customized mix of a bunch of technologies, as it has for decades. Office may be the last division to switch over. My guess is that it will go with TFS. Office has already used TFS for work items tracking. Its future lies with modern apps on Windows, and the natural build system for them is TFS. However, Office does use a great deal of native code. I guess we’ll see.
We're in this together
How do you minimize the pain of sharing services, platforms, and infrastructure across divisions that have different ship cycles? A few things will help.
- Shorten ship cycles. The shorter the ship cycle, the higher the quality (by necessity), the faster the response to needs, and the lesser the impact on dependent teams.
- Improve communication. You should have strong relationships and agreements across dependencies—that’s good practice in general. The fact that you’ll be sharing infrastructure helps with understanding and transparency.
- Focus on adding value. Don’t try to replicate what the other division is already doing. Focus on adding and sharing unique value. This reduces conflicts, improves relationships, and moves everyone forward.
Brave new world
Yes, Microsoft is changing. Teams will likely merge; services, platforms, and infrastructure will be shared; and we’ll have to work more often across divisions that don’t have synchronized schedules. Change is good. Change is necessary. Change is inevitable.
Not feeling the change? Think your area is immune?
- More than ever, Windows is the core OS for all our products and thus must support them all.
- The lines of customer experience between social media, Office, Dynamics, Windows Live, SharePoint, Lync, and Skype are all getting blurred.
- Search, the cloud, and big data are permeating nearly every experience across PCs, slates, phones, and living rooms, as well as our internal systems.
If you aren’t feeling the change then you aren’t paying attention.
It’s easy to feel out of control during change. However, you can control how you manage and respond to that change. Anticipate it. Prepare for it. And then embrace it when it arrives. Not only will you do far better, but our business, our partners, and our customers will too.