acm-header
Sign In

Communications of the ACM

Viewpoints

Kode Vicious: Pride and Prejudice (The Vasa)


I teach computer science to undergraduate students at a school in California and one of my friends in the English department, of all places, made an interesting comment to me the other day. He wanted to know if my students had ever read Frankenstein and if not if I felt it would make them better engineers. I asked him why he thought I should assign this book and he said he felt that a book could change the way in which people think about their relationship to the world, and in particular to technology. He wasn't being condescending, he was dead serious. Given the number of Frankenstein-like projects that seem to get built with information technology, perhaps it's not a bad idea to teach these lessons to computer science undergraduates, to give them some notion that they have a social responsibility?

CS Prof

Back to Top

Dear CS,

While I have to agree in general with the idea that telling and retelling stories is a good way to teach people, I have to say that the idea of using Mary Shelly's novel for this is very much antiquated and unlikely to be effective in a computer science class. I, myself, was once forced through a "Computers and Society" course in college, and although we didn't read Frankenstein we were beaten over the head with a litany of how bad computers and technology were for society from a professor who was trivial to manipulate. All I had to do was agree with her every utterance and write technology-bashing essays for her class to get an A. Was this an effective use of time?

Of course not, it was a show. If you really want to reach an audience you have to engage them with stories that you understand and can relate to their experience. When I think of the kind of story I want to tell to undergraduate students, I think of the Vasa, a ship and story that I think should be better known among engineers.

I first learned of the Vasa from a t-shirt at a conference in 1990. A company that a friend had started used the cross section of the ship to lampoon the ISO/OSI effort on network protocols. "Another 7 Layer Model That Failed" read the caption. The connection was that ISO had seven layers and the Vasa had seven decks, but when I found out why the Vasa had tragically failed I became fascinated, because it was such a classic engineering failure story.

The Vasa was built between 1626 and 1628 for King Gustavus Adolphus of Sweden, who was, at that time, attempting to rule the Baltic Sea. In the 17th century, rulers were expected to be capable of more than just giving orders, so Adolphus not only organized wars, he also helped design the ships of his naval fleet. At the time Swedish warships had one deck of cannons on each side from which they fired fusillades at enemy ships, sometimes even hitting the other ships and damaging them. When the Vasa was commissioned, this single row of cannons was considered state of the art.

Some time during the construction of the ship Adolphus found out that the Poles had ships with two decks of guns, so he modified the design of the Vasa to have a second gun deck. This would have made it the most powerful naval vessel of the time, capable of delivering a broadside of devastating proportions. The men he had contracted to build his ships attempted to explain that the ship had too little ballast to support two gun decks, and that the resulting ship likely would be unsafe to sail. The King insisted—just like, say, many project managers—that his orders should be followed. On a software project you can quit, but if the King is your boss you might lose more than your job—you might, say, lose your head—so the project went forward.

In 1628 the ship was finally ready for quality assurance (QA) testing. Seventeenth-century QA of ships was a bit different from what might happen today. Thirty sailors were picked and asked to run back and forth, port to starboard, across the deck of the ship. If the ship didn't tip over and sink, then the ship passed the test. You did not want to be on the QA team in 1628. After only three runs across the deck the Vasa began to tilt wildly and the test was canceled. The test may have been canceled, but not the project. This was the King's ship, after all, and she would sail. And sail she did.

On August 10, 1628, in a light breeze, the Vasa set sail. She was less than a mile from dock when a stiff breeze knocked her sideways. She took on water, and sank in full view of a crowd of thousands of onlookers. Approximately 30 to 50 sailors were killed when they were either trapped in the ship or were unable to swim to shore.

In response to the catastrophe, the King wrote a letter insisting that incompetence had been the reason for the disaster. He was, of course, correct, but not in the way he might have envisioned. An inquest was held and the surviving members of the crew, the captain, and the ship builders were questioned as to the state of the crew and the ship at the time of the incident. The mostly unstated belief by the end of the inquest was that the design had been a failure and the designer had not listened to the builders about the shortcomings of the design. Of course, the King could not be held at fault, so the final verdict was an "act of God." As a related aside, the disaster was also a huge economic loss for Sweden.

Now, this story may not be as well written as Frankenstein, but it's a much more direct warning about engineering failures. I think the funniest or saddest part of this story is how modern it is. Nothing has changed since 1628. People still fail to communicate, leading to failures of disastrous proportions. Egos get in the way, mysterious supernatural forces are blamed for human failings. It's all kind of obvious in a really sad way.

In the 1960s the Vasa was raised from the bottom of the bay in which it had sunk and eventually placed in a museum in Stockholm. I visited the Vasa in 2000 as part of the SIGCOMM conference. The whole story is told there in the plaques on the walls. It's a museum all engineers ought to visit at least once.

KV

Back to Top

Author

George V. Neville-Neil ([email protected]) is the proprietor of Neville-Neil Consulting and a member of the ACM Queue Editorial Board. He works on networking and operating systems code for fun and profit, teaches courses on various programming-related subjects, and encourages your comments, quips, and code snips pertaining to his Communications column.

Back to Top

Footnotes

DOI: http://doi.acm.org/10.1145/1378727.1378737


©2008 ACM  0001-0782/08/0900  $5.00

Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee.

The Digital Library is published by the Association for Computing Machinery. Copyright © 2008 ACM, Inc.


 

No entries found

Sign In for Full Access
» Forgot Password? » Create an ACM Web Account
Article Contents: