By Martin Brampton, 20 February 2007 12:15
COMMENT
Martin Brampton sounds off on the ways Windows Vista fails to live up to its promise - and what it tells us about the stagnant state of software engineering today.
Windows Vista has arrived and if you buy an off-the-shelf PC you will almost certainly get a copy. Vista has been described as the biggest software development ever attempted. I've been puzzling over what that might imply.
But before getting down to some programming issues, let's digress to consider the environment. There seems little hope of IT being able to make 'green' claims so long as new software makes existing hardware obsolete. Yet again, Microsoft is launching an operating system version that will not run on many existing systems. There will doubtless be token resistance but it will inevitably be difficult to avoid the move to Vista.
Not only does the Vista technology place stress on systems, Microsoft's pricing gives extra incentives to throw out perfectly usable computers. The retail price of Vista is exorbitant and the upgrades are not radically more appealing than previous versions of Windows while coming with irritating restrictions. To get a half decent price for Vista, the buyer is pushed towards OEM software, which is less than half the price of the equivalent retail version.
Taking Amazon prices as a guide, Vista Home Premium costs a staggering £197, while the OEM product is just £68. Doubtless the big PC makers pay a lot less than that, especially as we know that US prices are generally lower than UK prices. There are similar price differences for applications such as Office. All this means that Microsoft is giving strong financial encouragement to the scrapping of computers and their replacement by new machines.
One might think the situation is saved by the lack of any obviously compelling features in Vista that would persuade people to upgrade. Unfortunately, life is not so simple. Upgrade is likely to be forced as one thing leads to another. It only takes one vital upgrade of one application to a version that demands Vista to force the move. So it seems we need to suspend belief in the 'greenness' of IT at least until Microsoft issues a new operating system that works on all existing hardware and costs less as an easily installed upgrade than a new OEM deployment.
What about the actual development of Vista, though? It is widely believed that Vista contains something like 10 million more lines of code than XP. One commentator thought there are around 2,000 Windows developers, and so in the five or so years since XP, they appear to have each contributed only around 1,000 additional lines of code.
Others then contended that was a reasonable rate of production. Research from Steve McConnell, author of the book Software Estimation: The Black Art Demystified (Best Practices (Microsoft)), indicates annual rates ranging from 3,200 lines of code down to 1,600 per year, reducing with size of project. Someone else has claimed a national (presumably US) annual average of 6,200 lines, although no source was specified. The Vista figure was further defended on the grounds that operating systems are complex. That is an inadequate argument, given that only a very small portion of Vista is, truly speaking, an operating system.
All of these numbers raise another curious issue. When I was a young programmer, several decades ago, it was considered that the average rate of code creation was around 20 lines (tested and documented) per day. If we suppose 200 effective working days per year, that equates to 4,000 lines per year. That figure relates to third generation languages and sizeable corporate projects, above the size of McConnell's smallest projects.
This puts computer industry hype into some perspective. Despite numerous 'advances' in both technology and technique, it would appear the creation of software takes just as long today as it did many years ago. There is no sign that any of the numerous expensive tools or the many heavily documented 'new' development methods have had the slightest impact. That is a sobering thought.
It could be argued that different development languages are now used, yet there is actually little real change. While moving from assembler to third generation languages undoubtedly made life easier and perhaps more productive, fourth generation languages failed to maintain that progress. Always too specific to particular kinds of problems, they inevitably ran the risk of introducing huge overhead into projects for which they were unsuited. So nowadays, we see most development in Java, C++, variants of Basic and so on. Little different from techniques used in the 70s, especially if we take account of the invention of Smalltalk during that period.
Another interesting consideration is that the usable lifetime for software may well have already peaked. Much of the code forming the so-called 'legacy' that caused such anxiety at the millennium was written in the 70s and 80s. It was kept in use far longer than its authors ever expected, and far longer than most software from earlier periods. The signs are that most software written today is scrapped after much shorter periods than the 'legacy' despite the fact there is little sign it is produced any more easily or cheaply.
Now of course I do know that lines of code is a very poor (sometimes contrary) way to measure the creation of software. Yet it is the one enduring measure that allows us to do very simple calculations. Those calculations are useful because they cut through the obscurity that otherwise surrounds a highly complex activity.
But getting back to Vista. Some more solid arguments in favour of the Vista developers' productivity include the fact that some XP code has been scrapped, and even some of the code originally written for Vista was scrapped in the face of changing priorities. What is still of concern is that it is hard to see that Vista is a worthwhile result for the efforts of thousands of developers. If we have failed to increase productivity significantly over several decades, does it really make sense to devote such a huge resource to a mere operating system?

Comments
There are 11 comments. Join the discussion
1. Richard
Contrast this with Linux LiveCDs!
Even during the last few months, many desktop Linux distributions have greatly improved.
Several also experiment with interesting new ideas & techniques in a way that large software companies would find very difficult.
The absence of "product activation" and licensing issues makes "virtualisation" much more practical and useful.
Coming from Windows, it's amazing that Linux LiveCDs can boot PC hardware and provide a full selection of good quality web browsing, email, office, multi-media and security applications.
2. Daniel Reiter
Vista looks good and as a tool has some nice features, however there seem to be some entry level issues in terms of inter operability that the software has not got right, i.e. drivers! A simple USB Memory stick no longer functions; external hardrives need drivers which don't exist. The standard driver for my laptops graphics card did not have a function F5 key that worked. All in all the basic elements that should have worked did not out of the box. What was worse was that the automated shall I fix it for you wizard which fills most users with hope of finding a cure for their sick machines did not seem to do anything. I have a partially functioning machine with some of my hardware working. How is this progress! I don't remember drivers being such an issue with XP maybe I was a late adopter for that one. Anyway I'm sure in time my o/s will get back to the level it was at with XP, until then I suggest to anybody wanting to upgrade, wait a little longer, or buy a machine with Vista pre installed.
3. Ian Savell
Vista and Office ARE overpriced
If I look on my favourite online retailer, I can buy a Vista PC and OEM Office for less than the cost of upgrading an existing PC. And that PC is a lot better than the one I'm using now.
Nothing can justify the enormous cost of retail versions of MS software, they really are taking the mickey out of us Brits. In the US the dollar price is virtually the same as the UK pounds price, and the exchange rate is nearly 2 to 1.
I've just bought 2 PCs with XP and Office 2003. When I saw how cheap THEY were compared to a Vista/2007 system I nearly bought their entire stock. Think of the future saving on retraining and support!
4. misceng
I avoided Vista to be free of the troubles which are now coming to light. I have replaced both desktop and laptop ahead of my normal schedule to get XP systems which I hope will last until Vista is replaced by something better. If this fails I am studying Linux alternatives and finding they have good potential.
5. Jack
I think I had heard the quote of 20 lines of code a day when I was in college (only 4.5 years ago for me), but that always seemed really low. It seemed even lower when I'd code up projects for school which required hundreds of lines, and do it all in one night (the night before it was due of course).
Now that I've been in the industry for nearly 5 years, I really know that is a low-ball number. I mostly work in assembly and embedded C, so there is minimal abstraction from the hardware. This slows down coding speed over the work I've done in Visual C++, but I still easily code upwards of 10,000 lines in a year (assembly or C).
In my first year on the job, having to learn the assembly language of the processor, plus understanding the tools, and getting married that year, I still managed to personally put out a working product in about 11 months, with about 15,000 lines of assembly code.
If Microsoft programmers are indeed putting out that little code each, then it sounds to me that Bill Gates is not in charge of a software company, but instead running a "crappy coders" relief fund, and using the whole world to fund it.
6. ken
Its the price that puts me off; can we buy from the US over the internet or is there a law against that.
7. Karen Challinor
you can purchase from the us over the internet but as soon as you are detected as being in the uk or paying with a credit card issued in the uk the price will magically change to the UK price i.e double the US price
8. Ken
Karen: so if my daughter in the US ordered Vista in the UK she would get billed at the US price?
9. anonymous
I suggest a Mac... the latest Macs run Windows XP at full speed or MacOS X (which is superior to Vista according to many independent researchers). This is achieved using s/w called Bootcamp. There is even a plan by a company called parallels which plan on providing Windows Apps running at full speed along side MacOS X applications. No viruses or spyware to worry about either.
10. Richard Hall
I realise journalists need to be provocative to earn a living, but this was a fairly ropey article lacking basic research - why not talk to the Product Groups who are happy to give interviews rather than speculate on productivity? Absolutely I have a vested interest in Windows technology and having run beta versions for last eighteen months am very pleased with speed, reliability and ease of use in final product. With older machines over 1GB RAM Vista is far faster than XP SP2. Updating one of the world's most used software products was never going to be easy, and WinFS would have been icing on the cake. Knowing that development team well I can only say they are now working on some great new technology that has taken priority. But let us not forget the range of features (and price points) available, the very healthy sales figures for upgrades and new machines, and business adoption which is driven by the major desktop outsourcers who see vastly reduced support costs. Am running Vista Enterprise at work and both Ultimate and Home Premium (as a Media Center bought at personal expense) at home. New drivers from third-parties working a treat on a range of devices, loving my SideBar gadgets, IE 7 and the new Sleep mode. No looking back and I suspect a lot of users will wonder what the fuss was about in a few months time once they get their first experience.
11. Professor David Good
After using Micro soft XP The change to Vistawas a rude awakening. There is no help. only stupid colours and a wide screen .This is the worst system I have ever used .Another case of the customer being told what is good for them by companies who do not care