Song of The Day: Beverly Hills - Artist: Weezer

Since the announcement of delays in Windows Vista, industry pundits are now starting to offer analysis of why. The NY Times has an interesting perspective on why Microsoft is slowing down: code complexity.

The article points to the lines of code in Windows software as a measure of its problem:

Windows 95     - 15 million lines of code
Windows 98     - 18 million lines of code
Windows XP     - 35 million lines of code

Windows Vista  - 50 million lines of code

However, there appears to be other indicators as well from various Microsoft bloggers including lack of accountability and morale challenges.

The good news is that this type of problem is a result of success-immense success in Microsoft’s scenario. Microsoft has approximately 90% of the operating system market share for desktop PCs. However, with that success has come legacy support, which can put a significant drag on future progress if left untamed. In my opinion, there are few easy ways to handle this….

One: Do a quality analysis of the cost/benefit of the legacy support. If the benefit outweighs the costs, assuming one knows and agrees with the cost/benefit ratio, then scale the workforce to handle the complexity.

Two: If the cost outweighs the benefit, determine what complexity will be purged; then purge it. This isn’t easy, but one will theoretically realize so much benefit–speed, agility, etc.–that the pain will quickly be forgotten.

Three: Do a little of both in some evolutionary way. This one seems pragmatic, but also contains inherent risks that the changes will not be forceful enough to make a difference.

In many ways the blogging entries point to a bigger issue than code-complexity, which is a little more disturbing. Although there may be bloggers that agree that code-complexity is an issue, it appears that many point to leadership and managment as the central problem. Perhaps this is why there were management shake-ups recently. In my experience, it has always been easier to purge hardware and/or software, in pursuit of simplicity, than to deal with leadership problems, which can be much more complicated than code could ever be, regardless of line count :).

Since the company has a spirit of try-try again, I think history is on their side for making appropriate moves to stay focused and relevant. Stay tuned….