Like most human adults, I have many selves in me. Two of these selves love Jurassic Park. One, the ten-year-old self who loves dinosaurs, you can read about in my essay, “Hold On To Your Bookmarks: A Nerd’s Love For Jurassic Park”. The other, the professional software tester self who loves a good tale of technological disaster, you’re going to read about right here, right now.
As I explain in greater detail in my i listen. i watch. companion piece, I first read the novel Jurassic Park in 1993 right before seeing the movie in the theater. It was interesting to re-read the novel today, because while I’d grown in recent years to appreciate how well the movie expresses software project concepts, I found that the book is actually jam-packed with fantastic, relevant quotes from the characters on the subject. I’ll share some here, but I encourage you to read the book if you enjoy the movie for the same tester-nerd reasons I do.
The biggest, most basic lesson from Jurassic Park for software testers (and society, I suppose) is that complex systems will fail. Not just that they might fail, which implies that we can comfortably weigh the possibility of failure against the size of the profit. That they will fail, and the bigger and more complex the system, the more unpredictable in nature the failure, and the bigger its consequences.
Another important lesson dovetails off of that: Not to assume that the possible failure itself will be huge, and to therefore only look for big failures to avoid. In Jurassic Park, the failure was as simple as management mistreating a software programmer-consultant (Dennis Nedry), who coded a backdoor to the security system for himself. But the consequences of that small-seeming failure were unpredictable and snowballed spectacularly. Who would have known the T-Rex would test the fence at that time, which was also the time when the other consultants and the owners’ grandchildren were touring the park? (Who, I mean, besides Michael Crichton.)
The problem for the park wasn’t that there was a failure in the system, it was that the creators had convinced themselves that there couldn’t even be a failure. John Hammond, the eccentric money man who conceived the vision behind the park and pushed it to the very end, says very early in the novel: “Everything on that island is state-of-the-art. You’ll see for yourself, Donald. It’s perfectly wonderful. That’s why this… concern… is so misplaced. There’s absolutely no problem with the island.” Once you’ve convinced yourself that your system has no problem, you become blind to potential problems; once you’ve built up a scaffolding of assumptions to help create your system, it’s very easy for one false assumption to bring everything crashing down.
So the masterminds who built Jurassic Park made a lot of assumptions and had, as the novel notes, the “deepest perception that the park was fundamentally sound.” And if only they had testers, they would have discovered the problems lurking in the brush ahead. Right?
Not exactly, because they did have testers. In fact, the testers were the stars of the movie: Ian Malcolm, Alan Grant, and Ellie Sattler (played by Jeff Goldblum, Sam Neill, and Laura Dern, respectively). These three experts in their fields (mathematics, paleontology, and botany, respectively) were brought in as consultants to act as testers for the park.
Before I get too deep into Jurassic Park lore, I should establish my terms. Or term, at least. What do testers do? They have many different roles and specialties, depending on the project, but in very basic terms, testers help creators find and resolve problems by asking questions and discovering evidence. And, of course, it isn’t always exclusively “testers” who do testing on a project — the point is to have somebody other than the person responsible for creating the end product examine the product critically, ask questions, and run experiments in order to reveal potential problems.
So, yes, Jurassic Park’s testers were Malcolm, Grant, and Sattler. But there were two main problems with these testers. First, they weren’t brought in until the project was essentially done. The scary scaffolding of assumptions had already been erected by the time they showed up to question it; at that point, the creators won’t be very willing to deconstruct any part of their creation and start over. As Malcolm points out in one of the best lines in the movie (there is a similar one in the novel): “Your scientists were so preoccupied with whether they could, they didn’t stop to ask whether they should.”
Which brings up the second problem: These testers weren’t brought in to test, really; they were brought in to rubber-stamp the project. Officially, they were requested by the park’s investors to make sure the park was safe before opening to the public, but the response of the lead creators on the project — people like Hammond, Ray Arnold (the chief engineer), and Henry Wu (the chief geneticist) — made it clear: we don’t want real questions, we just want your approval. And maybe but definitely fawn a bit over how amazing our creation is.
For example, when questioned in the novel about a fundamental problem like an animal escaping, “Wu found it offensive to think that anyone would believe him capable of contributing to a system where such a thing could happen.” When Grant does his job as a tester by presenting evidence of a problem to Gerald Harding (the chief veterinarian), even that is met only with denial:
Harding: “These dinosaurs can’t breed.”
Grant: “All I know is that this is a dinosaur egg.”
There are enough software-testing-related tidbits between the movie and the novel to write an entire series of blogposts (if only I were so ambitious) — on the risks of relying too heavily on automation; on project management; on chaos theory, general systems thinking, and the black swan effect; on expectations and probability; and even more on testing assumptions. Jurassic Park is a gold mine for thinking about and discussing these topics. Enough so to make me love the movie even if it weren’t also an exciting story about dinosaurs brought to life and terrorizing a small group of people trapped on an island? Thankfully, I don’t have to answer that question.