Software Engineering Debacles of History: Grace Hopper and the First Reported Bug
If a moth flaps its wing but no one is there to see it, can it still crash a Harvard Mark II computer?
It was September 9, 1947. Computer scientist and U.S. Navy Rear Admiral, Grace Hopper, was hard at work on the Harvard Mark II computer when she suddenly encountered a problem – the machine was returning consistent errors.
The 25-ton Harvard Mark II, also known as the Aiken Relay Calculator, was the first computer built using high-speed electromagnetic relays instead of electro-mechanical counters. As such, it could return an additional time of 0.125 seconds and a multiplication time of 0.750 seconds, lighting-quick for the age.
When a Harvard technical team looked at Panel F, they found something highly unusual between points in Relay 70 – it was a moth! In those days, when computers were so large that they filled a room, the warmth produced by the machinery would attract all sorts of insects – flying and otherwise.
Hopper had inadvertently discovered the “first actual case of a bug” in a computer. She made a record of the event (including the moth itself) in the logbook, which now lives in the archives of the Smithsonian National Museum of American History.
Although a beautiful story, in reality, the term “bug” had been used for decades. Even Thomas Edison used the word. An extract of a letter he wrote in 1878 to Theodore Puskas states:
“’Bugs’ – as such little faults and difficulties are called – show themselves and months of intense watching, study and labor are requisite before commercial success or failure is certainly reached.”
So what lessons can we learn from Hopper’s bug?
Yes, it teaches us that we need to take a zero-tolerance approach to pests around any kind of electronic equipment. In the US alone, the economic cost of rat damage was estimated at $19 billion/year.
But, there’s something deeper at play.
We often view software development as an ultra-modern field. Yes, it lives on the cutting edge of the technological advances currently driving civilization. But we mustn’t forget its rich history because to do so would be to disregard all the invaluable lessons we can learn from projects of the past.
To achieve QA mastery, we need to become students of software development and everything that’s come before us. How many of us could name the first-ever book written on quality control, or even guess the decade in which it was published? (I’ll give you that one for free: it was “Statistical Method from the Viewpoint of Quality Control” by Walter Andrew Shewhart, published in 1939.)
We don’t have to solve every problem ourselves if we study those who have come before us. And this is symbolic of a broader issue in our industry – knowledge sharing. That’s why I am happy to build a software development community based around support and learning because when we share knowledge, we all win!
I have a fascinating role as QA Competency Lead and I have some tales to tell from QA’s past, the consequences of which are still relevant today. Hope you enjoyed! I’ll be doing a series on other software engineering bugs in history so stay tuned as I give my take on them.