Monday, July 18, 2011

Cordgrass and Habits: When Testers Get Lazy

I live in a breezy area up in Northern California. In fact, I live in one of the breeziest places on the West Coast. There's this interesting area on the San Francisco Peninsula that stretches from Fort Funston towards the San Francisco Bay along the southern portion of San Bruno Mountain. This area acts like a funnel, and the breezes that result are so strong that they frequently cause a physical cut-off of the legendary San Francisco fog, to the point that the fog looks as solid as a curtain.

This breeze makes for clean air, but it also makes for an annoying reality for anyone who has a yard... invasive species spread like nobody's business out here. One of the worst is a grass called Spartina. It's also referred to as Cordgrass. It's a thick plant that sends rhizomes shooting out and snaking along lawns. If caught early, it can be pulled up and dug out. If it's left to grow, it will slowly match in with the lawn for awhile and send its runners out under the grass, until such time as it weaves into a solid mass and chokes off the original lawn. Even then, it will still look like regular grass... for awhile. Ultimately, though, it changes to a lighter green color, and grows into thick, rough spiky clumps, not at all fun to walk on or play on. When it gets to this point, it's a real challenge to remove it, often requiring a back-hoe to competely remove the topsoil and start again.

You're thinking to yourself "Michael's going to make a parallel to testing!" and you would be right. Sometimes we as testers get lazy in our practice. We just go with what we know and rely on the skills that we have always relied upon. They've stood us in good stead up until now, after all. So we go about and do things the way we always have, unaware that the technical world and infrastructure is constantly changing. When we do not focus our skills on these new areas as they become known to us, in many ways their presence becomes like Spartina. We don't want to uproot the technology, though, we want to understand it and work with it. We want to get to know it so that we are able to recognize it and how to work with it when we see it. If we ignore it, or if we don't seek to understand it, then the Spartina spreads, and it gets under our feet in ways we don't notice, until we reach a point where we must deal with it... and don't know how to.

I've come face to face with this over the past few months. The Web and the technologies that weave it together has really exploded. Some of the most complex applications imaginable now reside on the web. Sites we use daily utilize sophisticated mechanisms to bind CSS and HTML and database queries and Ajax together. For those of us who grew up with the surety and the "simplicity" of LAMP, it might be a bit bewildering to take a look at a web site today and see how much technology interacts with each other to give us the experience we often take for granted (and then try to understand how to test against it all).

In short, the world is changing all the time, and the wind blows stuff in every day. However, in our yards, if we take an hour every day and rake the grass, we can easily catch and ward off the invasive species getting a foothold and overwhelming our yard. Likewise, spending just an hour a day learning about the new developments out there (mobile, solr, MongoDB, ruby, Selenium/WebDriver, etc.), even if we don't become experts with them, we learn enough about them and how they interact to be ready to examine them without feeling overwhelmed. What's more, we might surprise ourselves with how "tidy" we can keep our technical skills. It doesn't have to be arduous labor. Just a little each day will do it... but it has to be each day. Otherwise, the weeds will choke you!


Anonymous said...

Nice post .. thanks Michael :)

SzaLaci said...

As engineers we should learn something new every day otherwise we will get old. It's a choice.
Thank you for this parable.