A leading member of the BCS has cast doubt over the scale of the IT skills shortage, writes John Kavanagh.
BCS vice-president for engineering, and professor of software engineering at York University, John McDermid, says the skills gap could overcome by improving the productivity and skills of some of those already working in the industry. McDermid points to studies showing that the UK IT industry employs about one million people and will be short of 300,000 specialists by 2003, and asks, "Does this mean we need 300,000 more people, or a 30% gain in productivity from those that we already have?"
He says research shows huge differences between the most and least productive programmers. He cites cases where people have had to do extra work to sort out problems created by others. "Do we need another 300,000 people like that?" he asks. Big productivity gains could be achieved by reducing errors from the start, to cut testing time. "It is not uncommon for more than 70% of the problems found after unit testing to have arisen in the requirements phase - so for most errors the whole development cycle needs to be repeated," says McDermid.
"Empirical evidence shows that reviews are the single most effective way of identifying errors. So if spending 5% of a project budget on additional reviews found only half these errors, that would achieve the 30% increase in productivity needed to solve the skills shortage." According to McDermid, employers could boost productivity simply by making sure that developers have good PC and software products. "I continue to be surprised at the number of projects that are hampered by inadequate hardware and software tools," he says. "A modern PC costs about one week's salary for a typical software developer. If it merely increases productivity by 2% it pays for itself in a year. If it increases productivity by 20%, it may be much more cost-effective than recruiting staff."
Managers need to understand how to obtain metrics on error introduction and removal, as well as work hours per line of code. "Doing this will enable them to see where there are problems in their processes, and focus effort on resolving the problems that waste scarce effort - that 30% improvement might be possible quickly," says McDermid. "After that, provide education on setting priorities for requirements, on evolutionary development, on risk management."
McDermid urges companies to retain or recruit older staff. "As well as having desirable personal qualities, they may actually know something about the business," he says. "I am not saying that we do not need more people, I am merely saying that the message, 'we will be short by N people' is over-simplistic - and perhaps dangerously so, as it masks all sorts of factors which contribute to productivity."