A friend of mine and I were shooting the ... breeze (freaking ‘G' ratings for blogs) and he was asking me when the next version of Office was coming out. Now being the wise Microsoft spin doctor that I am, and having spent numerous hours being brainwashed by marketing, p.r. and some guys in black who look like Jessie Ventura and Alex Trebek (anyone get that reference?) I looked him square in the eye and asked, "How many lines of code are there in Mac Office?"
Not to be caught off guard, he stared right back and asked, "You're going to kill me after you tell me, right?" I smiled that Cheshire cat smile I have and said, slowly, "Maybe ...." I let the pause go on for a bit longer than normal and then laughed.
So I changed the subject to movies and after a bit he asked me, "How many lines of code are there in Mac Office?" I looked him and asked, "Do you really want to go there? " He nodded as he moved his lawn chair a little out of arm's reach.
About 30,000,000 lines of code make up the current version of Office that we are developing. That's no typo; in fact, I had to figure that out because of a research project I was working on ... if I told you what it was, I would definitely have to ... oh, yeah, ‘G' ratings ... anyway back to the train of thought.
It's really mind blowing when you think about it. Each developer is responsible for, on average, about 428,000 lines of code. Some people have more areas, some have less, but if you just think of that number, that's a tremendous amount of responsibility per developer. Consider for a moment also that there are probably 10x (yes ten times) or more developers on Windows Office, although I don't know the exact count.
Just to throw another mind-numbing number out at you, there are about 40 lines of text on the page of an average paperback book. That means one developer is responsible for about a 10,700-page book. Or if you break it down smaller, if the average paperback is 300 pages, that means each developer is responsible for about 35 or more paperbacks on his desk. Imagine trying to find a single typo in all those books -- that's what most bugs are, don't ya know!
Rick might have a better guess, but from what I have seen the average life of the code (before this version), was about 12 years, meaning most of the code was written back when 68k and 386 processors ruled the world. A5 bring back any memories for people? What about segmented memory? Why is this important? Read on.
The final killer number that I think is important in answering my question is 50%. What does that number mean? It represents the amount of turnover we have had in our developer organization in the past two years. Let that sink in for a bit: during these past two years we started the move to XCode, then started the move to Intel, brought on about a bunch of new people and asked each of them to learn somewhere on the order of 400,000 lines of code. Most of which was written before some of these new hires started high school! Either that, or they started work on a brand new feature and we pushed all the responsibilities of that code onto people who never saw it before or were already working on other things.
I guess the short answer to my friend's question is that the next version is coming out as fast as we can develop it. Everyone in the MacBU, developers, testers, UA, PM, Loc, and managers are trying to make this the best version of office for both PowerPC and Intel based Macs. But as we have said before on this blog and will continue to say, we're making progress, staying on track and hoping to get this puppy wrapped up and shipped off to you as soon as possible. But for now we're all trying to get through our 35 books trying to find those blasted typos.
Oh, and for the record, I think I have about 50 or so books on my desk ... some are written in OLE ...