The introduction of computers into the control of potentially dangerou
s systems has led to a growing awareness of the possible contribution
of software to serious accidents. This is not the first time a potenti
ally dangerous new technology has been introduced; risk induced by tec
hnological innovation existed long before computers. Instead of repeat
ing the mistakes of the past, we can learn from them. This article des
cribes the problems that arose from the introduction of high-pressure
steam engines in the 19th century and draws parallels with today's sof
tware engineering problems. The author proposes how to accelerate prog
ress in software engineering and software engineering research, how to
cope in the present, and how to limit unnecessary risk until that pro
gress is achieved.