Sunday, August 1, 2010

Testing a product….Just like movies

I am not a movie buff but i have no shame in admitting that movies do inspire me. I learn a lot from movies. Most of the movies (good or bad) carry some lessons which are so very applicable to our personal as well as professional life. Lately I was thinking that there is a lot common between movies and software testing assignments. I am a tester by profession and hence this post is dedicated to the analogies I have tried to draw between movies and software testing.  The thought process was that “can we learning something from other professions?”.  I invite every reader (tester and non-tester) to add points to the list below and share their thoughts.

Here are the 10 things which I feel are common between movies and our profession (software testing):

#1.    Movies typically have good and evil characters (Heroes and Villains; Friends & Enemies)

Our dear tester are heroes most of the time but they can also  be even villains at times. They are the ones who make sure that the user’s expectations are met. Testers many times have an opinion that all the forces in the world are conspiring against them to stop them from delivering a quality product. The so called “Quality” is their sole mission and they will destroy whatever comes in the way. For the rest of the team (esp. developers and project managers) they act like villains by playing the role of quality police where they wont let the release the product on time.

#2.    Movies always have a  plot, to start with there will always be some problems, with lot of twists and in the end somehow everything falls in place

Software testing project too kicks off with a scope (or a plot), here as well things obviously don’t go as planned, unexpected things take place, mistakes are made, then there is panic, and then from nowhere a hero comes to rescue by suggesting solutions/work around and in the end somehow we still deliver the product and celebrate big time 

 

#3.    Movies are by-design entertaining. They typically have all the necessary ingredients to keep the audience engaged

So is software testing. Each project put you into situations which makes you laugh (sometime at your own stupid mistakes), it makes you angry when you feel somebody is not helping  (or making things worse for you), sometimes it even makes you cry (when despite of putting all the hard work things don't work for you) and for some geeks like me…it makes you fall in love with your work or the technology you are working on :)

#4      Movies are more convincing when they are based on real life stories

Ever noticed that movies makes long lasting impression when you know that they are inspired by some REAL stories. Probably because you then trust them more or may be because you can correlate to characters better.

When someone is testing a product  just like a REAL user (by truly simulating their behavior & thinking how they might interact with the product when at work), it is for sure going to be much more trustable, convincing and believable in eyes of all the stakeholders and even to the test team itself. It’s not a bad idea to come up with different user personas of your application users and then to they play them sincerely while testing the product.

#5.  Now days movies are released world-wide needs to appeal to global audience to be a real block buster (Remember Avatar ? or Titanic?)

Does Globalization / Localization testing rings any bells?  Yes, that is our version of doing a world premiere. I will leave this point here for you to think about it.

#6.  Entire movie can’t (or at least shouldn’t be) be shot ONLY at one location

Producers spend unimaginable amount of money in creating sets, shooting outdoors (think of taking all the crew to New Zealand  or other exotic destinations), just to produce the effect which is the need of the script and the story. Don't your agree that the effort and the money we spend in test environment is well justified and shouldn’t be compromised?  We can test the application in some local test environment (nothing like real environment) which is no doubt cheaper but it would never produce the same results as when  it will be actually used in production.  We don’t want that to happen. Do we?

Wait !! I know what you must be thinking ? “Sets” in movies are not REAL either. Yes, but they LOOK real. Right? something  that is really close to REAL and that’s what Performance testing tools like Load Runner enable us to simulate that REAL behavior.

#7.   If movies are stretched too much, audience loses interest & the message the producers wanted to convey is lost (or at least doesn’t remain as impactful as it could have been)

Reminds you of waterfall model days ? A release going on for months and years. In today's agile world even 3 months has started to look like ages. This is an era of faster delivery."Shorter the better” is the mantra.  If software testing goes on for too long, testers start to lose focus (excitement starts diminishing, work  life begins to look monotonous), your customers go on hibernation mode while you are busy developing and testing and then they wake up all of a sudden when you deliver and then one finds that there is a  disconnect and end users have even forgotten that something was coming up and i wont be surprised if users have switched to competitors or worse, comes up with their solution to the very problem you were trying to solve (You software/application is now obsolete)

#8.  Script, Story, Lyrics, Screen Play , Direction, Acting and tons of other things  makes a movie successful

Movies are great examples of excellent teamwork. A movie won’t work if say story is bad, doesn’t matter how good was say direction or acting. These are all important ingredients of the the recipe.

Now think, can we test the product successfully if requirements itself are invalid or say code is crappy or design isn’t what it should be or lets say if we are testing with bad test data. All these are absolutely mandatory for the product to be successful. After all “Quality is EVERYONE’s business, and not just Tester’s”

#9.   No movie is ever perfect (There are critics always waiting to pass the verdict)

Lesson is that whatever you do there will be suggestions/feedback and criticism and you cant make everyone happy. Having said that, critics are really important to look back and identifying the area where we could have still done better. So don’t lose your heart if despite of putting all the hard work you are still asked to improve (‘Era of continuous improvement :P)

#10.   All successful movies have sequels :)

So true in our profession too.