In my opinion, maximizing a new business model is what made it HUGELY successful, and not finding a new business model is what is keeping it flat.
I believe that it will have a very hard time transitioning to the "device and services" model with it's current corporate culture, as I understand it, which includes stack ranking.
Regarding business models: MSFT had a variety of web services before Google; it had mobile before apple. It popularized the term "smartphone".
Sure Google search was better, but the fundamental thing that made google fly as a business was adwords, a different business model than banner ads and paid placement on top.
Apple did have a better device than anyone expected, but it made that device price competitive with a huge subsidy from AT&T.
XBox choked out Sony Playstation's profit margin by imitating it's business model (lose money on hardware, make it back selling quality games via licenses per cd/hdrom/dvd), and then innovating with XBox Live, which included a new software services you can charge for business model, just not one that scales to dozens of billions a year like Office.
If my experiences at Microsoft late 90s, half of the 2000's are still valid, then the currently proposed buisness model will fail.
In good software architecture the design choices you make need to match the forces you have affecting your architecture.
The business model: "a devices and services company." will require seamless co-operation across a whole company. I didn't see that in my time there. Exchange and SQL Server, two nearly billion dollar businesses, spent non trivial time trying to ally with other teams and kill each other "and take the mandate" rather than try to deliver great software. I had friends who worked in Exchange and SQL, and the ones in SQL were actively trying to make SQL Server do what Exchange does. I don't know if both businesses are merged now or not, but that was one of MANY places I heard about "killing and eating another team", before it happened to two teams I was part of, twice in a 6 year career.
When a team is "killed and eaten" by another team, the eating team gets to distribute the dead team's 4.0's, and have more 4.0's for their team.
Also, at MSFT at the time, there was a tremendous amount of lack of respect for other teams. "Those VB programmers at MSN don't know how to write scalable software." "Those jokers in...X...aren't really technical". I was in a visual studio building in a meeting, and a windows server group had the chutzpah to convince us that they had reserved our room and kick us out of our own meeting. As we left, one of the people in the meeting to heckle us with a derogatory comment of "We're the people who make all the money around here, we're more important."
Stack ranking, plus the only Type A's filter, plus the seperate businesses with seperate P&L, and VPs that are stack ranked versus each other will not lead to seamless integration between diverse services and a great user experience.
The way you pay, the way you measure, the persistent theme of "us versus them", and the filter for people that came in the door all contribute to a poisonous work environment for maybe 60% of the people.
It wasn't poisonous everywhere, 2/3rds of my time there I wouldn't have traded for the world, but it was incredibly refreshing when I left to work for a place where the enemy was outside the building versus inside.