Skip to main content

Microsoft Office’s faster upgrade cycle will mean more bugs

So it seems Microsoft has decided to move from updating Microsoft Office every two to three years, to a whirlwind upgrade cycle measurable in weeks. This should result in some incredible hilarity as weirdness ensues.

The problem with Microsoft code is that it has mostly deteriorated to what people like to call spaghetti code, a patchwork quilt of subroutines. This means millions of lines of code with no overseer.

In the golden days of coding there was one person who literally knew and understood all the code. This person could say no to code coming in, knowing that it would introduce complications and ruin things. Many open source projects still have overseers but Microsoft has either fired or promoted these people away, replacing them with managers looking for a way out.

Since there are many talented programmers at Microsoft, much of the spaghetti code is simply bypassed, leaving behind zombie code in most of its products. This would often be undocumented semi-dead code. You cannot just erase it because there may be some untraceable and obscure subroutine, one that’s referred to rarely, but if it is not there the system could crash. Many of the screwball crashes you experience with Microsoft software stem from this sort of situation.

Of course, the crash reporting tries to resolve this as best it can. I'm guessing, though, that the zombie code is generally left in place where it can also crash a system by its inability to properly find all its pieces or to figure out how to return home.

Microsoft will deny that it has a lot of spaghetti code, but there is no way around it at this point. The key is to live with it or manage it. I'd love to see Microsoft hire a vice president of spaghetti code management.

This spaghetti code management is not going to be easy if hordes of Office coders are going to upgrade Office 365 on a more regular basis. They are going to run into never-ending issues and add more hitches in the process.

I hope I'm wrong but this looks like a fiasco waiting to happen. I can see most of these upgrades turning into bug fixes and emergency patches as newer and newer code bumps into zombie code from years ago and creates havoc.

You'd think that by now Microsoft, which has 94,000 full-time employees plus contractors, could assemble a team to recode the entire product from scratch. The company tries this sort of thing frequently and the best example was the NT team led by David Cutler which churned out Windows 2000. But when you look under the hood, there is still spaghetti code.

It's the Microsoft way to fall back on old code. Nobody is quite sure how it actually works so they take the code from the old product and drop it into the new product. It works well and it is easier than reinventing it. Soon you have the original mess rearranged.

Despite the fact that the code base supposedly changed after Windows 2000, I'm sure many of you notice the exact same weird bug or annoyance here and there that you found with Windows 95, yes? How does that figure?

If you dig around you will discover that Microsoft Office has between 30 and 60 million lines of C++ code underlying it. Some of the modules are certainly well-coded gems ripe to be tweaked by newbies. Other segments of the code are in a jungle filled with danger. That's where the fun begins.

Let's revisit this adventure in a year and see what has happened. It should be highly amusing. If we are lucky then all the stale zombie code will be eliminated during the constant upgrades. We can always hope.