Brampton Factor: Vista complaints

It's not 'green', it's pricey - and what does it say about modern software development?
Written by Martin Brampton, Contributor

It's not 'green', it's pricey - and what does it say about modern software development?

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?

Editorial standards