clock menu more-arrow no yes mobile

Filed under:

Circuit Breaker

Silicon Valley, Conway’s law, and the future of Windows

New, 28 comments

If you buy something from a Verge link, Vox Media may earn a commission. See our ethics statement.

Silicon Valley Photo: HBO

It’s hard, and possibly a little unwise, to discern the future of the Windows platform entirely from Microsoft’s recent reorg, but I’d like to give it a shot.

As tools in this vision quest, I’m going to use episode two of the latest season of HBO’s hit show Silicon Valley, Satya Nadella’s company-wide memo explaining the Microsoft reorg, and the Wikipedia entry on Conway’s law.

Here’s my thesis: as Windows development separates into “platform” and “experiences” teams, Windows itself will start to look like a union of “platform” and “experiences,” unlike the currently monolithic-seeming OS I use to play video games.

I was inspired to think this way by Satya Nadella’s own hypertext:

To truly get the best impact from our efforts, we will have to push ourselves to transcend Conway’s law.

This is a strange way to end a company memo. Linking to a Wikipedia article that describes the exact reason a company’s organization will define the design of the systems it produces, and then asking people to “transcend” this well-accepted rule of system design.

Here’s the actual text of this “law,” which comes from a 1967 essay by Melvin Conway:

“organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations.”

In fact, the Wikipedia entry on Conway’s law points to an “empirical case study” on “The Influence of Organizational Structure On Software Quality” done in 2008 at... Microsoft.

“Okay, Paul, how are you going to loop Silicon Valley, season five, episode two into all of this?”

I’m glad you asked. Silicon Valley is great at exploring the accepted wisdom of the people who make software. So, when Richard Hendricks attempted to split the engineering work of implementing his decentralized internet idea into two teams, I knew exactly where it was going.

In the Silicon Valley TV show, you typically end up with the worst-case scenario for any given bad idea. This clear separation of teams resulted in bad communication, wasted work, and ultimately the hospitalization of a man allergic to dogs.

In the real Silicon Valley (or, Redmond, in this case) Conway’s law is all about tradeoffs. You can’t make a company that’s all just one big team. You have to separate concerns somehow.

Windows being a “platform” product that is then used by an “experiences” team might sound like unnecessary friction. But it’s also just Microsoft copying from the best: Linux.

See, Windows is far from the most popular operating system on the planet. It might be the most popular operating system for desktop and laptop computers. But Linux is the “platform” that powers every single Android phone, and the “platform” that powers a large majority of internet servers.

Google’s Android is the “experience.” A Raspberry Pi is the “experience.” A copy of Ubuntu running in the cloud somewhere is the “experience.”

I’m not sure what it means for Microsoft to “transcend” Conway’s law. I guess being better at delivering whole-OS updates to users is a big leg up over Android. Optimizing the experience of Windows desktop consumers when the cloud computing revenue makes consumers look tiny in comparison will be a leg up over Ubuntu.

I don’t know how you can have a leg up over the Raspberry Pi, because it is a perfect product. But I wouldn’t mind living in a world where Microsoft loved tinkerers a tenth as much as it loves enterprise salespeople in business suits.

The near-term future of Windows looks bright and full of possibilities.

For instance, Microsoft is working on something called “C-Shell” that will make Windows more modular, and better suited to different form factors, use cases, and “modes.” This is the exact sort of flexibility you’d expect from the experience / platform separation. It’s also easy to conceive the client experiences of Windows and Xbox improving at a different pace than the underlying kernel and services improvements — which could mean we get updates and enhancements as soon as they’re ready, instead of waiting for them all to be packaged into big monolithic releases.

But as the teams responsible for Windows drift apart from each other, communication will likely become more formal. Ultimately, the “platform” and “experiences” teams have fundamentally different customers, and therefore will have fundamentally different priorities. This could create friction, duplicate effort, and, if not carefully managed, a “platform” that doesn’t truly serve the “experiences” of Microsoft’s consumer customers.

I already feel this a bit. As someone who just uses Windows to play video games and sometimes build video games, I don’t want Microsoft’s “Cloud + AI” division messing with my system. I don’t want OneNoteDriveCloud or whatever. I don’t want ads in my OS. I don’t want to talk to Cortana about my feelings. I don’t want Microsoft to call my computer an “edge” device, as if me using a personal computer in the exact way I used a personal computer in the ‘90s is somehow a hip new buzzword-worthy extension of cloud computing. Am I a customer Microsoft even wants to keep?

The other way to read between the lines of Microsoft’s reorg is simple, and it doesn’t require a Silicon Valley episode reference to understand. Microsoft’s increased focus on serving businesses and ceding ground on consumer products sounds a lot like IBM. Good luck transcending.