Saturday, June 17, 2006

Microsoft Vista: Scrum or Not-Scrum

Peter Krantz rants on Scrum, Lies, and Red Tape at the Microsoft Vista project (see below). He's in Stockholm and I'm on a SAS flight over Greenland returning from two weeks in Sweden and Denmark doing several ScrumMaster Certification Classes. While Microsoft adopted Scrum on many programs large and small, I'm not aware of the Windows Vista team using it. Scrum is built on truth, transparency, and trust and was designed to emulate the productivity of the Borland Quattro project where the each developer delivered 1000 lines of quality production C++ code per week. Vista only delivered 1000 lines per developer per year.

Philip Su thinks Vista is the largest software project in the world and maybe the longest. However, Jim Coplien was in my Copenhagen ScrumMaster training last week and pointed out that he delivered weekly releases into a 100 million line code base deployed worldwide by ATT so that was at least twice as large as Vista. Jim also wrote a case study of the Borland Quattro project that was the inspiration for the Scrum Daily Meeting while he was at ATT. It was interesting to dive into the details of that project, but I digress. Here's Peter:

Scrum, Lies, and Red Tape by Peter Krantz

Philip Su from Microsoft gives us a glimpse of the inner workings of one of the most complex software projects in the world. It is interesting to see that the same problems that sometimes plague small waterfall projects (lies, red tape) exist in an organization that have put a lot of effort into their development methodology... Didn’t Microsoft adopt Scrum a year go? Maybe they skipped the part about transparency.

Broken Windows Theory by Peter Su

Vista. The term stirs the imagination to conceive of beautiful possibilities just around the corner. And “just around the corner” is what Windows Vista has been, and has remained, for the past two years. In this time, Vista has suffered a series of high-profile delays, including most recently the announcement that it would be delayed until 2007. The largest software project in mankind’s history now threatens to also be the longest...

Let's see if, quantitatively, there's any truth to the perception that the code velocity (net lines shipped per developer-year) of Windows has slowed, or is slow relative to the industry. Vista is said to have over 50 million lines of code, whereas XP was said to have around 40 million. There are about two thousand software developers in Windows today. Assuming there are 5 years between when XP shipped and when Vista ships, those quick on the draw with calculators will discover that, on average, the typical Windows developer has produced one thousand new lines of shipped code per year during Vista. Only a thousand lines a year. (Yes, developers don't just write new code, they also fix old code. Yes, some of those Windows developers were partly busy shipping 64-bit XP. Yes, many of them also worked on hotfixes. Work with me here.)

Lest those of you who wrote 5,000 lines of code last weekend pass a kidney stone at the thought of Windows developers writing only a thousand lines of code a year, realize that the average software developer in the US only produces around (brace yourself) 6200 lines a year. So Windows is in bad shape -- but only by a constant, not by an order of magnitude. And if it makes you feel any better, realize that the average US developer has fallen in KLOC productivity since 1999, when they produced about 9000 lines a year. So Windows isn't alone in this.


Blogger Max Headroom said...


Thanks for pulling out an article I would have definitely missed if not for you and your blog - Borland Quattro Pro effort.

When you have someone like Jim Coplien talking about it, there is definite value.

How come Microsoft is having these persistent problems with all kinds of Philosophers in their midst. Is it that they do not have realist?



1:47 AM  
Blogger Landau-Lawes said...

This post raises a number of important questions about software development.

It's fascinating to me to read what Phillip Su says about the Vista project. Surely, it would be better off run as a Scrum project. Certainly there would be fewer possibilities to hide problems or defer problems or shift the burden of problems onto others.

However, the fundamental problem is not one of software development, but one of basic management. In Robert Quinn's book, Deep Change, he gives a list of eight issues that he came up with after talking to people in a company that was in trouble. Quinn conducted interviews at all levels of the company and on identifying the core issues, he put his insights into a paper, which he called the "Inner Voice of the Organization." This was strucured around eight questions and eight answers. Each answer described a key issue facing the company and was illustrated by a concrete example. Each issue was "undiscussable," and each issue represented a weakness or need within the company:
1. "The company is characterized by loyalty and considerable unused human potential
2. The organization must make deep change in order to become more viable and thus to be able to survive in a rapidly evolving world
3. The company is hampered by an unconscious conspiracy of silence and an inability to confront issue and identify needed adjustments
4. "Groupthink" is widespread, and models for constructive conflict are lacking
5. Certain key figures have favored individual good and self-interest over the collective good, and they have been reinforced
6. Everyone would like to believe that certain transparent issue are successfully kept secret. Individuals try to save face by pretending that no one knows what everyone knows--and the process works as long as no one listens to the organization's inner voice
7. A cohesive leadership team is lacking
8. The company has no clear, believable, and motivating vision"

In my opinion, these same eight issues apply to the Vista organization, and, in fact to any organization where the managers stop listening to the people doing the work and abdicate responsibility for making the deep organizational changes that are needed.

I'm sure that the Vista team would in fact be better off, if they dispensed with the VPs and allowed the people doing the work to set their own objectives and achieve them in the best way they could come up with, which could indeed be a Scrum-based approach.

Graham Lawes

3:37 PM  
Blogger Dave Nicolette said...

Hmmm...looks like LOC has become a respected metric again. Must have happened while I was asleep last night.

11:04 AM  
Blogger Ajit Bhanot said...

true Dave, I was thinking about the same thing.

3:12 AM  
Blogger Jeff Sutherland said...

When counting lines of code these days, I give equal credit for removing lines of code (via refactoring or eliminating spaghetti). I've thought of giving more credit for removing code but it seems to unbalance incentives and reduce value delivered to the customer.

In the SirsiDynix paper I gave them no credit for removing code via refactoring to be comparable with other large projects which generally do not do good refactoring. If I did give them credit, their 56 person team distibuted over two continents would have been more productive that the best 6 person collocated team.

Lines of code sucks as a metric. However, not having any data sucks even worse. You need to know your velocity. This is probably best measured by story points.

However, one companies story point is different than another, so story points are useless to evaluate across the industry.

8:06 AM  

Post a Comment

<< Home