For years we've thought of Microsoft as an oil tanker; huge, heavy and taking a long time to change direction (and mowing down the occasional fishing boat of an interesting new product if it gets in the way of Office or Windows). New releases took three or five years and were based on a varying mix of telemetry and feature ideas from the teams and bug reports and requests from big customers.
Whether you call it solid or stodgy, Microsoft looked more responsible than responsive, as if it had internalized the enterprise customers that deliver a large proportion of its profits. Silicon Valley it wasn't.
If you still think that's true, take another look.
Visual Studio has been doing agile development for years. Not just as a feature for developers; that’s the way it's built. The most recent new versions of Windows and IE arrived in six months (and IE 11 has had four major updates to its WebGL implementation through Windows Update already, before the final WebGL renderer arrives). Windows Phone and Nokia between them have delivered three fairly significant updates in a year (before Windows Phone 8.1 arrives).
If you bought Xbox One on day one you might feel it shipped a little early (especially outside the U.S., where key apps are missing) but it's getting ambitious monthly updates. The Xbox Music app on Windows Phone is being built in two-week sprints. Azure has a continuous stream of new features coming out every few weeks. Office 365 gets updates every month -- some of which are new services like email encryption, but others are changes in the Office clients on your desktop, like adding more touch controls in Outlook. Yammer gets multiple updates a week.
Sure, not everything people want has arrived yet, either on the hardware side -- if the Surface Mini arrives in May as expected, it will only be about 9 months after the market would have been ready for it -- or on the software side. You can get Office and Work Folders for iPad but not (yet) OneDrive for Business on Mac.
But it's a sign of how much Microsoft has changed that saying "of course it’s not shipping, it was only demonstrated in March as the SharePoint conference" no longer feels reasonable in May.
Yes, Microsoft is talking up the future without committing to dates and it hasn't yet come out and said how often we should expect specific products in future. Terry Myerson has mused about delivering Windows at different cadences for different customers, "with the consumer versions of our products and the enterprise versions of our products, or the professional versions of our products … there may be different cadences, or different ways in which we talk to those two customers." He said that at the Credit Suisse conference last year, but we know as little about that as we do about the rumored tablet version of Windows. Sam George, who now runs the Internet Explorer platform team, said at BUILD in April that he wants to deliver IE more quickly, but has to work out how often is good and how to communicate clearly what's new each time.
Still, Microsoft has gradually become a far more agile and nimble software company than it was. Who or what has made that change happen?
If you're going to credit new CEO Satya Nadella, it doesn't mean you think he has a functioning time machine. After all, he's been involved with a lot of businesses at Microsoft, including Bing (which rolls out new features every three to four weeks) and before his promotion he was running what used to be the Server and Tools business. That included not just Windows Server, which rolled out Windows Server 2012 R2 in a year and another update in six months, but also Azure and (later) Office 365.
Cloud is the poster child for continuous development and continuous deployment and the center of gravity at Microsoft has shifted to cloud -- a decision we should remember to credit in part to Steve Ballmer, in the face of resistance by veteran Microsoft leaders like Bob Muglia. As that shift happened, the Azure and Office 365 teams weren't just running the cloud services at cloud speed. They were also pulling on-premise products like SQL Server onto a faster cadence.
Corporate vice president Quentin Clark says that SQL Server 2014 was "born in the cloud" as part of building the Azure database service.
"When that started we took a snapshot of the core relational database code and started working on it. When it became a cloud service a little down the line, we brought those codebases back together, and for SQL Server 2014 we didn’t let the code rediverge. So all the development was done in the same code line as the one that runs Azure SQL Database, and that gives us zero tolerance for problems." So instead of a two-year development project, SQL Server was built as a continuously improved cloud service and put in a box when it was done.
There's also the far faster pace in the operating systems team, driven initially by Windows Phone. As Stephen Elop said in his public Q&A when the Nokia acquisition finally closed, "the 'burning platform' galvanized the mindset of thousands of employees with the recognition that we faced a critical situation. We brought urgency into the organization and within 6 months we produced our first two Windows Phone devices. This was faster than we had ever gone before and marked the beginning of our cultural change."
He was talking about Nokia, but it applies just as much on the Microsoft side, where Terry Myerson threw out a mobile OS that had been years in development and set about building, at top speed, not just one but two versions of Windows Phone: The stopgap Windows Phone 7 and the NT-based Windows Phone 8 that is also set to become the future of Microsoft's tablet strategy.
Over in Office, the team from FAST -- the enterprise search company Microsoft bought in 2008 -- had an idea about how to show all the useful information from those different places that might be relevant to what you're working on. They saw it as a way to solve the problem of context that Google Now and Cortana tackle for your personal life, only for work. But it wasn't easy to get the idea across, Yammer CTO Adam Pisoni told us.
"One of the reasons they created the Oslo prototype was they had this vision for the Office graph a long time ago, but you can't just explain it to people in the abstract. In the end, they decided 'we're just going to show you' and they just built it."
That's a very Yammer way of doing things, especially as connecting you to other people in your company working on projects that are directly relevant to your work without you taking the time to go visit some explicit social site is very like Pisoni's view of the future. It's not about the technology; it's about how the way you work and how the technology helps with that.
And that's why buying Yammer might end up being one of Microsoft's most significant acquisitions. Not just because enterprise social networking is one of those hot product areas where Microsoft has been more likely to look like your dad dancing at a party than a credible option. Not just because it gives Microsoft a presence not just in Silicon Valley (where it's had a campus ever since it bought Web TV back in 1997) but in San Francisco, which is a much bigger part of Silicon Valley than it used to be. (Yammer's office is in the same stylishly refurbished building on Market as Twitter.)
It's not even because Yammer is all cloud and has a totally different software design philosophy from traditional on-premise Microsoft, although that philosophy has clearly influenced the new Microsoft.
Instead of terabytes of telemetry that gets turned into detailed plans, long feature lists, and a carefully designed architecture, Yammer's data-driven approach means there's no one person who knows quite how all the code works or plans what they'll do next. Every Yammer tool is an experiment. If people use a feature and get things done with it, Yammer will keep improving it. If not, they'll drop it and try something else.
One developer at Yammer confided that she found it disturbing when she first arrived, but she quickly came to love the fact that there's no one central architect. You get similar benefits with open source projects (and Microsoft has been working more and more with open source ideas and communities over the last few years). You don't have to make everything fit into one way of looking at the world, you don't have to wait for one person to think of everything or sign off on everything and you don't have to worry about the one person who understands everything falling under a bus.
But even more important for Microsoft is that Yammer is run by people who want to change the way business works -- and it practises on itself. Just as Yammer features are experiments, so are company processes.
"Organizationally we make all these weird changes in product engineering," Pisoni explains, "but we tell people 'this is an experiment, this may be a mistake'. There are a lot of open discussions within engineering about changes to engineering. Everyone is free to have these discussions because they know that nothing is set in stone. Things can be changed, and they can be changed back so we'll do crazy little re-orgs -- but it's just an experiment, it frees us to try things. After all, we're making a product that's supposed to make other people better in these ways, so that kind of puts the focus back on us…"
With Microsoft they have a huge canvas to work on changing the way businesses work, and in the process the Yammer team is changing Microsoft. "We helped Microsoft set up a team inside Office that's focused on product-driven analytics," Pisoni told us; he jokingly refers to it as Yammer North and travels to Seattle frequently to work with them. That may be why you can recognise elements of the Yammer approach in the One Microsoft reorg -- especially in the devices and services strategy and the faster release cycle for products.
"The world where you spend three years building a lot of stuff and hope it's right and then release it is gone and everything is now incremental," Pisoni claims. "If you can't ship quickly data is almost useless. What do you do if you ship and then you can't use a piece of information for three years because that's when you can ship again. What can you do with that information? The world is going to change in three years anyway. We have to be able to release really fast so that we can use our data effectively."
When Pisoni talks generally about how difficult it is for existing companies to become responsive, it's easy to hear echoes of Microsoft's past. "Think of [a business as] a complex set of interdependent things like a planet with its own gravity; that's the core of a company, where the historic value is, and any time you try to do something new on the outside sucks it in."
The way he's seen other companies get past those issues sounds rather like the way IBM moved from being a mainframe company to starting the PC industry, and rather like the way Microsoft has been changing too. "You partition off a piece that has enough value to try unique things, you do different things -- and in a couple of cases you find enough to build on."
So who changed Microsoft? Most likely, it's just that it was steam engine time. (We've had the principles of steam propulsion since the time of Archimedes, but it wasn't until the industrial revolution gave us the ability to manufacture it that the steam engine was "invented" by half a dozen people at almost the same time).
The success of Azure and Office 365, the experimental ideas of Yammer, and Windows Phone proving that Microsoft could build products far more quickly, combined with the need for just about every product team at Microsoft to get things done faster, mean that the Microsoft Satya Nadella has inherited is much more like a fleet of ships than a single tanker.
That means if there are things you don't like in Microsoft products, they're likely to change far more quickly than you expect. And if you don't like the changes, maybe they'll change too.