Information Technology Reference
In-Depth Information
[programmers] never have a clean slate,” argued Barjne Stroudstroup,
the creator of the widely used C++ programming language, “Whatever
new we do must make it possible for people to make a transition from
old tools and ideas to new.” 13 In this sense, software is less like a poem
and more like a contract, a constitution, or a covenant. Software is
history, organization, and social relationships made tangible.
One of the remarkable implications of all of this surprising durability
of software is that the software industry, which many consider to be one
of the fastest-moving and most innovative industries in the world, is
perhaps the industry most constrained by its own history. As one observer
recently noted, today there are still more than 240 million lines of com-
puter code written in the programming language COBOL, which was
fi rst introduced in 1959—and which was derided, even at its origins, as
being backward looking and technically inferior. And yet 90% of the
world's fi nancial transactions are processed by applications written in
COBOL, as is 75% of all business data processing. Five out of eight large
corporations rely on COBOL code, many of them substantially. 70% of
Merrill Lynch applications are coded in COBOL. The total value of
active COBOL applications—many of them developed prior to the
1980s—is as high as $2 trillion. 14 All of this COBOL code needs to
actively maintained, modifi ed, and expanded. The vast majority of the
code that had to be remediated prior to Y2K was written in COBOL.
That fact that so much of the $300 billion that was spent on Y2K
involved the maintenance of existing code highlighted both the continued
signifi cance of, and dissatisfaction with, the work of computer program-
mers. Like all forms of maintenance, software maintenance is diffi cult,
unpopular, and largely unrewarding. The maintenance requires pro-
grammers to work on live systems, where mistakes and failures have real
and immediate consequences. Because maintenance does not generally
involve design, it is considered boring and low-status. And because of
the unique nature of software—its intangibility—software systems are
often coded before they are completely specifi ed. Many programmers
fi nd it easier to “just start coding” than to develop design documents.
Most programs are poorly documented (if at all), and so most mainte-
nance works involves intensive on-the-job learning. If ever a type of
programming requires real skill, experience, and intelligence, it is soft-
ware maintenance.
The trouble and expense associated with rewriting so much of the
software that had been developed over the past several decades also
raised uncomfortable questions about why the software had not been
Search WWH ::




Custom Search