I've been thinking about Microsoft for a long time. My first visit there was in 1981, when the IBM/Microsoft PC was about to come out. I was aware of the machine because I worked at a software company that was in the loop. I was blown away by the possibility of a machine with 640K of memory! Up till then, the most I had to work with was 48K on an Apple II. 64K if you had a "language card."
Back then Microsoft wasn't the center of the software world, but they did eventually, briefly become that, in the early-mid 1990s. But the Internet proved to be too complex a competitor. Their efforts to dominate it, to turn the Web into a feature of Office, were doomed to fail. And it's only gotten worse, as they lost their Windows dominance of the desktop because they failed to respond to the malware crisis of the mid-2000's. The bad news didn't end there, as they tried to morph Windows into a tablet operating system. It became an inadequate desktop OS and an unacceptable tablet OS.
For Microsoft to get back in the game, they have to return to an earlier playbook, when they weren't dominant in anything. They must recognize technology that has momentum, independent of Microsoft, and invest in it. When another technology comes along, one that gains momentum on its own, repeat the investment. Buy stock in promising startups. Microsoft can profit from the growth of the market, but they must not try to make their own efforts dominant. At the first hint of an internal Strategy Tax switch direction.
Large tech companies that flirted with dominance only to learn that can't happen for any extended period have a simple dual role -- 1. provide infrastructure to scale, appropriate to their massive financial resources, and 2. act as investment banker that spreads lots of technology seeds, and feeds the ones that show promise.
It's easy to win with that strategy. It won't impress reporters who are looking for sizzle, but that's the proper role of startups. A mature tech company, which Microsoft clearly is, does not deliver breakthroughs, but it can profit hugely from developing a sense of where they are and investing appropriately.
A good sign that Microsoft is going this way is if they lay off massive numbers of programmers. They simply don't need them. Most of the money they've invested in software in the last couple of decades has been wasted. Feed the cash to startups and encourage your programmers to join them. Microsoft becomes a proper elder statesman in the tech industry.
Make Windows run faster and leaner and cheaper. Make standard infrastructure that supports the new static application model that's developing, and invest in small teams, outside of your organizational influence (in other words leave them alone).