Businesses are spending more money on
software development as the complexity of applications
increases. But as the economy plunges into recession, IT directors
will find it increasingly difficult to retain a programming team
capable of sustaining complex internal application development.
Users need to focus on improving the quality of software
development to tackle escalating costs, warns Melinda-Carol Ballou,
an analyst at IDC.
An IDC survey of 149 IT departments found that 63% of users were
running software development projects that were more complex now
than in the past two years. Complexity has been rising due to the
growth in service oriented architectures and multicore hardware,
which can complicate software development and the increasing use of
open source, which involves greater collaboration and co-ordination
among software developers.
Downtime arising from poorly tested software is
expensive. In one example from the study, IDC estimates the
average cost of fixing a defect in a production system at £1,093,
assuming it takes 30 man-hours to find and repair the bug.
Assuming a 40-hour work week, IDC estimates the annual cost of
debugging ranges from £2.8m for a business with 100 developers to
£12m, in a company with over 400 developers.
The survey respondents placed security, quality, code integrity
and business relevance as the most important factors on which to
focus software development. However 72% of the people asked told
IDC that the
software debugging processes used to improve the quality of
their application was flawed. A large number of IT departments
(59%) checked source code manually for errors.
However, Ballou recommends that businesses use static analysis
tools, which allow developers to analyse their code automatically.
Such tools do not require the coding team to build complex test
suites to check application software. "Static analysis tools let
developers test incomplete code. Different types of quality defects
can be identified."
Daniel Dresner, the National Computing Centre's information
assurance analyst, believes that in modern software development
there is now less tolerance for errors. He says the common errors
businesses face include poorly stated objectives and requirements.
IT managers need to ensure correctly defined requirements will be
carried through the lifecycle of the software. "The lack of
understanding of how to assure software quality is actually
preventing the uptake of good practices. There seems to be a lack
of awareness of how to take up risk mitigating measures as part of
day-to-day software development activities."
In Dresner's experience, programmers still have the mentality
of, "Let's cut code first," and testing is put off to another
day.
The challenge for IT directors is how to maintain high quality
software development practices during the
difficult trading conditions businesses are now facing.
IDC's Ballou recommends IT managers use automated software
tools. She says these can greatly improve the task of checking for
code defects, design flaws, and vulnerabilities in a software
development project. However, it is vital this testing is conducted
extremely early in the application development life cycle, to
reduce the risk of avoidable errors finding their way into the
production system, which can be costly to repair.