On TechRepublic: Five super-secret features in Windows 7
BNET Business Network:
BNET
TechRepublic
ZDNet

November 27th, 2006

How would you fix Microsoft's Windows-development problems?

Posted by Mary Jo Foley @ 2:01 pm

Categories: Corporate strategy, Office, Vista, Windows client

Tags:

By now, everyone’s heard Microsoft’s CEO Steve Ballmer’s repeated pronouncement that Microsoft will never again take five years to deliver a new version of Windows. But no one inside or outside seems to know exactly how Microsoft plans to make the Windows development process more agile.

Many folks have ideas, however, as to how Microsoft can fix the myriad management and technical setbacks that resulted in Windows Vista looking little like the product based on initial “Longhorn” expectations. And they’re offering freely their two cents about what ails Windows and how to remedy the problems to Steven Sinofsky (Senior Vice President of Windows and Windows Live engineering) and his band of merry Windows developers.

Joel “on Software” Spolsky kicked things off last week when he posted about his dissatisfaction with the “Off” button in Windows Vista. Spolsky said:

"I'm sure there's a whole team of UI designers, programmers, and testers who worked very hard on the OFF button in Windows Vista, but seriously, is this the best you could come up with?"

Channeling Mini-Microsoft, Spolsky continued:

"Every piece of evidence I've heard from developers inside Microsoft supports my theory that the company has become completely tangled up in bureaucracy, layers of management, meetings ad infinitum, and overstaffing. The only way Microsoft has managed to hire so many people has been by lowering their hiring standards significantly."

Spolsky subsequently linked to Moishe Lettvin, a Google software engineer and former Windows developer who worked on the aforementioned Vista Off button. Lettvin details exactly why it took 40+ individuals more than a year to deliver the final Vista Off button:

"In small programming projects, there's a central repository of code. Builds are produced, generally daily, from this central repository. Programmers add their changes to this central repository as they go, so the daily build is a pretty good snapshot of the current state of the product.

"In Windows, this model breaks down simply because there are far too many developers to access one central repository — among other problems, the infrastructure just won't support it. So Windows has a tree of repositories: developers check in to the nodes, and periodically the changes in the nodes are integrated up one level in the hierarchy. At a different periodicity, changes are integrated down the tree from the root to the nodes. In Windows, the node I was working on was 4 levels removed from the root. The periodicity of integration decayed exponentially and unpredictably as you approached the root so it ended up that it took between 1 and 3 months for my code to get to the root node, and some multiple of that for it to reach the other nodes. It should be noted too that the only common ancestor that my team, the shell team, and the kernel team shared was the root.

"So in addition to the above problems with decision-making, each team had no idea what the other team was actually doing until it had been done for weeks."

(Word on the street is Sinofsky is taking a chainsaw to the Windows organization any day now. By the time all of the expected post-RTM Windows defections and cuts are done, Microsoft might have eliminated quite a bit of the middle-management bloat that seems to have been a big part of Vista’s problems.)

The maze of Windows dependencies mentioned by Lettvin – and former Windows chief Jim Allchin when I spoke with him last month – is another thorny issue that needs solving in order for the Windows trains to run more on time.

Allchin said that the Vista team made considerable headway in mapping out the Windows dependencies (and showed off a two-story-high, floor-to-ceiling dependencies map on the wall of Building 27 as evidence) in a way that would simplify Windows development going forward.

An anonymous poster, claiming to be a Windows veteran, posted some more ideas for reducing Windows dependencies in the comments of Lettvin’s blog post.

"There are three obvious solutions to this (Windows dependency) problem: 1. federate out the source tree, and pay the forward and reverse integration taxes (primarily delay in finding build breaks), or… 2. remove a large number of the unnecessary dependencies between the various parts of Windows, especially the circular dependencies. 3. Both 1&2"

The poster said option 1 was the winning solution “in large part because it could be executed by a small team over a defined period of time. #2 would have required herding all the Windows developers (and PMs, managers, UI designers…), and is potentially an unbounded problem."

While some Microsoft watchers seem to think Microsoft won’t be able to get a piece of software as big and complex as Windows on the faster (or at least, faster) track, I actually think the Redmondians can do it. Sinofsky mastered the art of delivering a new version of Office like clock-work, every two years. How did he pull this off? He never bit off too big a bite in any one release.

I predict we’ll see more incremental, smaller-bang Windows versions, going forward. Industry-changing promises, ambitious feature sets and revolutionary releases is over for the Windows team. In the new world order, if and when Microsoft wants to deliver radically new — and potentially risky — Windows functionality, it can simply add the technology in the form of a Windows Live add-on.

Anyone else see other ways Sinofsky and Co. can make the Windows team more agile?

Mary Jo FoleyMary Jo has covered the tech industry for more than 20 years. Don't miss a single post. Subscribe via Email or RSS. You can also follow Mary Jo on Twitter.

Got a tip? Send Mary Jo your rants, rumors, tips and tattles. For disclosure on Mary Jo's industry affiliations, click here or to see Mary Jo's full profile click here.

Related Discussions on TechRepublic

Did you know you can take part in these discussions with your ZDNet membership?

  • Talkback
  • Most Recent of 81 Talkback(s)
Break compatibility
It's the only way forward.
Linux did it. OS-X did it. You can do it.
Start with a code base that's not hopelessly integrated. I would suggest W2K. Others would recommend NT. Then separate th... (Read the rest)
Posted by: symbolset Posted on: 04/15/08 You are currently: a Guest | | Terms of Use
Mr. Allchin's observation...  Anton Philidor | 11/27/06
No matter what they do, they will not be able to keep up with the Linux  DonnieBoy | 11/27/06
Migrate  TonyMcS | 11/27/06
...for anything that actually requires the user to think - get Windows.  swoopee | 11/27/06
thinking vs productivity  the_fiddler_on_the_roof | 11/27/06
Sounds like it is hard for either one of you to think or eve actually do  DonnieBoy | 11/27/06
A Windows user actually having to think, imagine that. According to you,  DonnieBoy | 11/27/06
.  the_fiddler_on_the_roof | 11/27/06
Don't want to point out the obvious, but..  BobF_z | 11/28/06
The Ubuntu disc is more than only an OS  Azriphale | 11/28/06
Actually, it would be good if Balmer and Gates would both leave, they are  DonnieBoy | 11/27/06
.  the_fiddler_on_the_roof | 11/27/06
The drug dealers give money to churches too. Does that mean they deserve  DonnieBoy | 11/28/06
Re: Actually  Linux User 1 | 11/28/06
France is a nice place. I would not mind living there for a while if it  DonnieBoy | 11/28/06
Message has been deleted.  Linux User 1 | 11/28/06
Embarrassment  ross@... | 11/28/06
Let's see, we freed them during WW2, so they should be our slaves forever??  DonnieBoy | 11/28/06
deja vu all over again  the_fiddler_on_the_roof | 11/27/06
In the presence of a monopoly, the best product does not win. So, if you  DonnieBoy | 11/28/06
er..  nomorems | 11/28/06
It the user is not competent to install Windows...  nomorems | 11/28/06
Keep Up With Linux  Moosehouse | 11/28/06
Major Windows changes delivered Live??  Anton Philidor | 11/27/06
Modular in design  Linux User 1 | 11/27/06
vista?  the_fiddler_on_the_roof | 11/27/06
Reply  lkcorp | 11/27/06
My gawd man...  Confused by religion | 11/27/06
Modularity vs The Spaghetti Monster  D-T-Schmitz | 11/27/06
Actually...  toadlife | 11/27/06
Modularity  D-T-Schmitz | 11/27/06
(nt)They both looked like Spaghetti monsters to me  toadlife | 11/27/06
modularity ?  the_fiddler_on_the_roof | 11/27/06
Not paying attention  D-T-Schmitz | 11/27/06
ironic  the_fiddler_on_the_roof | 11/27/06
Problem Of Microsoft  serpentmage | 11/27/06
How Would You Fix Microsoft  itanalyst | 11/27/06
Huh???  Userama | 11/27/06
RE: Huh???  gdstark13 | 11/28/06
Dont Quit Your Day Job Anal!  DragonBRockin | 11/28/06
Is This Deliberate Sarcasm?  Cardhu | 11/29/06
learn from linux...  diegocg | 11/27/06
Linux has the same problems  Linux User 1 | 11/27/06
ORLY?  toadlife | 11/27/06
Precisely  the_fiddler_on_the_roof | 11/27/06
Comparing apples to ... cardboard  phburks | 11/27/06
Subversive talk  D-T-Schmitz | 11/27/06
happy  the_fiddler_on_the_roof | 11/27/06
I've met  D-T-Schmitz | 11/27/06
Start by removing Bill Gates  BeGoneFool | 11/27/06
Get a grip  Honeyd035 | 11/28/06
The horses mouth  whisperycat | 11/28/06
Spolsky is spot on  jorwell | 11/28/06
RE: Spolsky is spot on  gdstark13 | 11/28/06
Fire Ballmer  Chad_z | 11/28/06
London's stock exchange chose Windows over Linux  Linux User 1 | 11/28/06
And your point is?  Moosehouse | 11/28/06
No_Ax gets a new nym?  Chad_z | 11/28/06
Fixing Microsoft  dcmorton@... | 11/28/06
The best fix? Replace!  pritchet1 | 11/28/06
Microsoft& FireFox`  Bobby Joe Reed | 11/28/06
appliance  gdstark13 | 11/28/06
Several issues with Windows & Microsoft  timbc | 11/28/06
Hire an engineer?  BALTHOR | 11/28/06
Ha Ha! Microsoft uses the iMac power-button symbol~  nomorems | 11/28/06
Roughly what I was thinking...  jatos.software@... | 11/28/06
KISS = KEEP INTERROGATION SUSTAINED STUPID  moffett.john@... | 11/28/06
KISS = KEEP INTERROGATION SUSTAINED STUPID  moffett.john@... | 11/28/06
One Easy Way  Ole Man | 11/28/06
Dependency control rules  kevin.cline@... | 11/28/06
What is the rush???  TerryNT | 11/28/06
A further thought... Camels  TerryNT | 11/28/06
It's A Matter of Numbers  Cardhu | 11/29/06
"Fixing" Microsoft's Development Problems  Cardhu | 11/29/06
They need to fork Windows  solomonrex | 11/29/06
Ditch Windows...  mike@... | 11/30/06
Hire REAL developers, not cheap ones...and FOCUS  ogmanx@... | 11/30/06
Alas, This is the New Industry Trend.  mejohnsn | 12/13/06
I hurt when Micosoft Upgrades Windows  SeniorMoment | 12/03/06
I hurt when Micosoft Upgrades Windows  SeniorMoment | 12/03/06
Break compatibility  symbolset | 04/15/08

What do you think?

SponsoredWhite Papers, Webcasts, and Downloads

advertisement

Order Microsoft 2.0

Pre-order Microsoft 2.0

Order 'Microsoft 2.0' by Mary Jo Foley at Amazon.com.

Recent Entries

advertisement

Archives

ZDNet Blogs

White Papers, Webcasts, and Downloads

SmartPlanet

Click Here