image

Agile Testing/DevOps

Home Alone: How Did We Forget About Testing?

 

It’s holiday movie season again, and our Netflix queues, Amazon Prime watchlists, and Hulu suggestions are full of the same tired classics as always. If your family is anything like mine, you trudge through the endless list of Elf, It’s a Wonderful Life, A Christmas Story, How the Grinch Stole Christmas, and every unnecessary iteration of A Christmas Carol, and eventually you settle on one you’ve all seen too many times, and then you repeat the process again and again.

But it was after my family’s seemingly 4,000th viewing of Home Alone last night when I realized that entire 28-year old(!) film is one big metaphor that we in the testing industry should’ve picked up on a long time ago.

    1. The frazzled, disorganized, McAllister family is a typical enterprise organization.
    1. The adorable, mischievous Kevin is the completely ignored software tester.
    1. The far away land of Paris is DevOps.
    1. The McAllister’s home is a massive, business-critical application with endless points of entry.
    1. The burglars Harry and Marv are software bugs who never give up and who are always finding ways into an application.
  1. While the family does technically make it to Paris, their failure to include Kevin results in an immediate trip back home, and a failed vacation. Organizations who fail to include testing on their journey to DevOps never achieve its legendary outcomes. What those organizations are rewarded with is an enormous sunk cost of time and money and a serious risk of being disrupted by their competition.

Today’s Enterprise: One big happy family

Image: 20th Century Fox

The McAllister family is all-too-familiar for anyone working in a large, distributed organization. They’re loud, opinionated, they bicker over everything, there’s a fight for resources, and the pizza boy needs $122.50…plus tip. Once you realize the McAllister dinner table and/or their frantic attempt to get out the door and through the airport on time is eerily similar to where you’re spending all of your time, energy, and patience, the movie goes from funny to sadly relatable. The kids/specialists are running amok, drinks are being spilled everywhere, the teens/mid-level managers are infighting over seniority, and the parents/upper management are too burdened and burnt out to care…and the journey hasn’t even begun!

So the namecalling begins…

Poor Kevin the software tester

Image: 20th Century Fox

Kevin represents the world’s ignored and misunderstood software testers who thankfully keep showing up for work, no matter how badly the rest of the organization treats them.

In the first ten minutes of Home Alone, Kevin’s mom, dad, older brother, three different cousins, and his uncle all take turns belittling him, ignoring him, calling him “incompetent” “helpless”, and he’s eventually ordered up to the attic and to stay there the rest of the night. This is our first introduction to the toxic culture of the McAllister household, and no matter how annoying the rest of the family might find him to be, Kevin’s complaints are entirely valid:

    1. Nobody ever listens to him.
    1. Decisions are constantly made without his input.
    1. Nobody left him any pizza.
  1. His younger cousin, by all appearances, is purposefully drinking too much soda so that he’s sure to wet the bed he and Kevin will share later that night. (Gross)

Worst of all, even more so than being called a “little jerk” in front of everyone by his uncle (even though it’s Kevin’s dad who actually spills soda all over him), is when Kevin finally snaps and goes to the one person in the house who should be wholly sympathetic to his woes.

Kevin: “Everyone in this family hates me.”
Mom: “Then maybe you should ask Santa for a new family.”

Ouch.

I’m not saying that all testers are subject to this level of abuse in their workplaces. If any of you do experience this sort of treatment, run, don’t walk, to a new company. But being ignored, viewed as nothing more than an expense, and left out of important decisions have all been discussed in the testing community for years. Our own Ingo Philipp explains that this is because “testing is inherently abstract.” And while testing is —slowly—becoming more recognized as just as vital as development and operations within today’s leading enterprises, many times, that realization came after realizing testing had originally been left out of the DevOps equation entirely.

The monolithic mansion

Image: 20th Century Fox

Not unlike many business-critical enterprise applications, the McAllister family home is enormous and clearly cost not only a fortune to build, but also to “keep the lights on,” especially during the holiday season (cough, increased site traffic + load testing = another metaphor!). But one look inside this home is equivalent to looking behind the curtain or firewall of a highly-integrated application. It’s complete chaos inside.

And in the same light as the famous expression, “Testers don’t break software; the software is already broken,” There’s already a major bug in the McAllister monolith in Home Alone’s opening scene, and it wasn’t even Kevin who let him in.

Image: 20th Century Fox

It’s no wonder that Kevin/testing teams are ignored in this insanity. They’re both fairly small and outnumbered, as Ingo states in the above article, they do cost money and don’t always offer a “tangible” ROI. And if they can’t prevent bugs and/or criminals from walking in right through the front door, what good are they?

The plane to Paris/DevOps will leave without you

Image: 20th Century Fox

The morning of the McAllister’s trip to Paris—and the day of a major deploy to production—is understandably hectic. The single alarm clock that the McAllisters set didn’t go off as expected, thanks to a windstorm that knocked out the power the night before. This poor-level of disaster recovery by Mom and Dad sends the rest of the family into a state of heightened panic and rushing through their due diligence that leads to them almost missing their flight. Mom and Dad (ahem, upper management) still get to sit in first class, while the rest of the family sits in coach.

And it’s also safe to say that the only reason they made their flight on time is that they left poor Kevin behind.

In the software world, on the date of deploy, IT cannot risk being as unprepared and forgetful as the McAllister parents. Depending on the importance of the release—and the business risk of it not shipping on time—the rest of the organization may have a million dependencies on the new features, update, patches, etc., being in the world’s hands on the day they’d promised.

How many software releases have gone out on time because testing was left behind? And when that happens, is it accident, or on purpose?

But Paris isn’t a single push to production in this metaphor—it’s the holy grail of DevOps. The deploys are faster and far more frequent. The cost of transforming your teams and processes is significant. Trust and communication between all teams must flow freely. And protecting the customer journey in this new, digital world has made delivering consistently high-quality software mandatory.

It’s always been a little difficult to accept that the McAllisters, or any family for that matter, would forget to take their youngest child on a trip to Paris, but a willful suspension of disbelief makes it easier to enjoy many films. Failing to notice testing’s absence on the journey to DevOps, or worse, knowingly leaving them behind? That’s far from fiction, and the later organizations realize their oversight, the more risk is introduced to the business as quality and risk fall completely out of focus.

Testers alone can’t protect your application

Image: 20th Century Fox

The world’s best software testers are known for being creative, crafty, resourceful, outside-the-box thinkers who stop at nothing to help protect their organization and customers. Kevin McCallister, at only 8 years old, and in only three days time, comes up with brilliant uses for paint cans, tar, nails, a BB gun, a blowtorch, fake machine gun fire, dancing mannequins, silhouettes, tiny rolling toys, feathers, a zipline, tripping hazards, icy stairs, a red-hot doorknob, an iron, and a tarantula to keep Harry and Marv out of his home.

Spoiler alert…they still get in.

Ask any software tester, ask any team of software testers: “If I gave you all the time in the world to test, all the environments you could ever dream of, servers full of rich test data, and an unlimited budget—could you guarantee that there are no bugs in this software and that there never will be?” Believe only the ones who say “absolutely not.”

This isn’t because testers are “les incompétants” as Kevin is called; it’s because software quality has become everyone’s goal. Even with all of Kevin’s “software tester ingenuity,” he also has limited experience! He’s only 8! He has biases! He has limitations! Just like in today’s enterprises, the more points of view, personas, ideas, backgrounds, nationalities, ages, etc. – that you can get to dive into your applications—the better. Just make sure you listen and respond to all of those different points of view or they’ll wonder why they’re collecting them for you, and then they’ll stop doing it.

Will you get the chance to go to Paris or DevOps again?

Umm…maybe? But, the McCallister family didn’t.

The McCallisters give up on an adventure to Paris after just one movie. In Home Alone 2, the family opts for attempting a less-glamorous trip to Miami, but they manage to screw that up, as well. Interestingly, Home Alone 3, tells the story of an entirely different family and set of burglars, without any explanation of what happened to the McCallisters. I’ve always assumed they simply gave up and stopped believing they were capable of reaching the destinations they’d heard such amazing things about.

This isn’t unlike what can happen to enterprises who make costly mistakes that impact their customers in painful ways. That’s not to say that one misstep on a DevOps journey means you’re doomed and that you should just give up like the McCallisters. But if the mistake is as large as leaving testing behind, or bringing it along, but failing to invest in its modernization because development and operations swallowed up all of the budget—you could have a problem. Depending on the negative impact this “shortcut” has on your software quality and user experience, you could find yourself having to backtrack down an unpleasant path, and increasingly further behind your competition.

Even though they clearly hate him, and at best, ignore him and wish he would go away, Kevin somehow reconciles with his family in both Home Alone, and Home Alone 2, and I think there are software testers out there who can commiserate. After all, testing was noticeably absent from the Agile Manifesto when it was written in 2001, and the coining of DevOps in 2009, but testers are still here and are constantly coming up with new, creative traps for catching bugs in order to keep pace with the race to DevOps going on around them.

The fastest possible time-to-market is one of DevOps’ most attractive success metrics, and leaving testing out of the equation might appear to be a shortcut for achieving that goal. But the time you’ll spend refactoring and finding and fixing bugs when you don’t bake quality in from the start will quickly erase those speed gains. And when your competition is able to deliver both speed and quality—at a time when it’s never been easier to switch between providers of any service—your customers have no reason to wait around for you to catch up.