Tuesday, October 20, 2009

Architecting Windows 7

"To Rebuild Windows, Microsoft Razed Walls " is the title of an article in the October 20th 2009 edition of the Wall Street Journal.

There is something interesting about Microsoft's software development approach taken for Windows 7.

The article attributes the perceived initial success of Windows 7 to a different, more humble, approach taken by Microsoft and the Windows 7 team. While the quality of the operating system is yet to be determined by the real world tests it appears that the design and execution of the product was different.

"A key problem was that the Windows team had evolved into a rigid set of silos—each responsible for specific technical features—that didn't share their plans widely. The programming code each created might work fine on its own, but cause technical problems when integrated with code created by others."

This article exert contains a key observation. Operating system development can be viewed as a set of semi-independent silos united by a kernel. But it appears that the demand for effective integration of various operating systems components is essential for successful end-to-end experiences. And this is the key - Vista was not developed with the user's end-to-end perspective at all stages and that resulted in what we have today. For Windows 7 Microsoft appears to have taken a different approach.

And while the article doesn't use the words such as "architecture" of "design" it appears that Microsoft took a user and architecture centric approach to unify the work of all developers under an umbrella of clear objectives (which probably translated into specific quality attributes). For example, "An important new objective called "quieting the system," which sought to minimize windows and dialogue bubbles—such as security warnings—that pop up on screen during the normal operation of the PC." Another key feature of the operating system is a touch-sensing function that adapts to user's strokes and does not simply mimic a mouse. It's clear that a number of cross-cutting features were implemented in the operating system and initial response to the quality of software has been favorable.

It appears that highly collaborative engagements with an end-to-end perspective were enacted as part of the software development process; a known design approach finally taken by Microsoft at the operating system level.

You may find a link to the article here (available for about two weeks).

Constantin K.
Firebrand Architect®

No comments:

Blockchain learning path for Enterprise Software colleagues

I wrote this post to document my learning path of blockchain concepts and Ethereum technologies while keeping my “new to blockchain” collea...