The software industry has been urged to engage in greater openness and learn from others' mistakes by IBM fellow Grady Booch in the annual BCS Turing Lecture.
The lecture highlighted the importance of software designers in society. "Civilisation runs on software. It effects how we work, govern, communicate, eat, sleep and play," said Booch.
"There are approximately 15 million software professionals worldwide, 30% of whom are 'code warriors'. If each of these is writing between 5,000 and 10,000 lines of code a year, roughly 33 billion lines of code are being added annually.
"Hence, it can be suggested that software designers are among the world's most important individuals What they do as an industry impacts on the whole human experience."
Booch went on to address the limitations of software. "We can have amazing vision, but turning it into reality is another thing. Not everything we want to build can be built, and not everything that can be built should be built. From time to time designers should step outside the boundaries and think creatively and ethically," he said.
One of Booch's main concerns was that the rapid evolution of technology meant that the lessons of early software were not easily transferable to current work.
"The history of software engineering is marked by the rise in levels of abstraction, greater understanding of the limits of human understanding, the building for resilience and the discovery of patterns. So many of our current systems are unprecedented that there is no legacy from which we can learn," he said.
"We therefore need to build a sustainable communication network. For the preservation of classic software there is a need to have a museum of software, not just old PCs but the software that ran on them. For example, there is a need to establish Microsoft source code in this museum for future generations."
Booch also called for greater simplification. "Developers should endeavour to produce simpler software, which itself increases productivity. Software developers seem to love complexity, which often thrives because of the immature processes within companies. We need to take a step back more often and simplify things. In fact, 10% of development time should be devoted to de-factoring and simplification," he said.
Booch concluded with a rallying call. "One of the greatest challenges the industry faces is the need to talk about its ideas and mistakes so that through greater openness we can all successfully move forward," he said.
Comment on this article: [email protected]
A video of Grady Booch's Turing Lecture can be downloaded by clicking here
21st century software trends