November 25, 2004

Innovative Google

One of the things which makes Google stand out is the manner they come out with innovative stuff which is simple and identifies with every user. Apart from the great search engine and other applications they provide, there is a sense of belonging they create. Those who have a Gmail account would have seen this message when they get to the gmail site. For those who dont, here it is copy pasted from the site (I hope Gmail team wont mind that). I give full credit to them:

(quote)

A Gobble approach to email.

In 1621, a few hundred Pilgrims and Native Americans sat down to celebrate a bountiful harvest. The feast lasted three days, and included fowl, venison, fish, berries, watercress, lobster, dried fruit, clams, and plums. There was no pumpkin pie, however. There was also an alarming lack of user-friendly webmail services.

Now, 383 years later, it's once again time to celebrate what has come to be known as Thanksgiving—a time to gather with family and friends and give thanks for all that we have. We have many things to be thankful for. But mostly, we are thankful for you—our users—who remind us of why we work so hard all year and why we love what we do. That's better than all the dried fruit and clams in the world.

Happy Thanksgiving! Thank you for making our approach to email yours.

Gobble gobble,
The Gmail Team

(unquote)

Not to mention the innovative designs of the pie and turkey which they have incorporated in their Google & Gmail signs.

Just wondering, why dont other big software giants think of something like that with their products?

November 19, 2004

Career Killers To Avoid - on MSN

Just came upon this article in MSN (careerbuilder). The author says, "I conducted a national survey of CEOs and top executives career paths and hiring decisions. From the results, I identified traits, ideals and characteristics that successful leaders seek in developing their workforce."
Here is just the bold points of their thoughts, from higher to lower priority:
  1. Lack of Results.
  2. Not Working at a Job you are Passionate about.
  3. Not having big enough goals.
  4. Thinking that money is everything.
  5. Having a Bad Attitude.
  6. Gossiping and playing Office Politics.

A month back, some of my friends and me had a strong discussion about the second point, that passion is a must. Passion plays a big part in who you are and what you become into. Huge corporations have lecturers coming in to tell you about passion and its importance. The best part about passion is it cannot be faked. More on passion at some later date.

November 08, 2004

I didnt resolve all the bugs. Am I a bad tester?

Those who work in the industry would probably agree with what I type and those new to the field of testing might see this as an eye-opener. In my very first interview for a Software Test position, I was asked when would I say a product is good to ship? My quick answer was, "When there are no bugs in the product". My interviewer laughed and it struck me that I was wrong. So I went ahead to say, "Usually its not possible, but I would really like to ship a bug free product". All he said was "Good Luck". Needless to say, after a week the HR called me up to say they were sorry but I had missed out on the job.

When I think back on this, I laugh. Yes, who would'nt love to ship a bug free product. But I can almost gaurantee you that if someone tells you he has shipped bug free products all his life, either he is living under some weird delusion or he is taking you for a ride.

Products (and I mean almost all products I have known till now) are shipped with bugs. But these bugs are categorized into two types:
  • Bugs which are not known
  • Bugs which are known

For the amateur tester: Yes, products are shipped with known bugs too.

So if I know that my product has bugs, why the hell would I ship it?


Its something we all crib about and the word is "deadlines". Everyone has to meet a deadline and any good tester would know that testing never ends. So you have to put your foot down at one stage and say the product is ready to be shipped. And for me, this is where a good tester shines. Here is where you could prove your mettle. This is where you make the trade-off. You know there are bugs in the system, but how crucial are these bugs?


This is why I follow a mantra, which says "Prioritize". Every time you note a bug, give it a priority. Make sure the high priority ones are resolved. There is no way I would sign over the dotted line if these are not resolved. Try anything in the book to make sure high priority bugs are resolved before you ship the product. If the dev team does not agree to comply, camp outside your Test Managers office, sing a song in a lousy voice (I know one chap who tried this!!) and agree to stop only if the dev. team agrees to resolve your bugs.


Here is an example (I love examples). Lets take a product we use each day. Lets say, MS Word. Imagine you are a tester for some particular feature of MS Word. You realise that when you hit Ctrl+S your cursor moves back by 4 spaces, but your document is saved. So its surely a bug. Now each time you choose "Arial" font your application throws an exception and hangs. Again a very valid bug. But the second bug is definitely high priority. In a pressure situation I would ship the product with the cursor not staying where it should, but I would never ship the product as mentioned in the second scenario. My priority is to get the second issue resolved and I might ship the product with the first issue not resolved.


That took care of bugs which are known, but what about bugs which are not known? Usually its entered into your bug tracking system after user feedback. Like I said, its sometimes only the customer who identifies some amazing bugs we never thought of. Here again, you need to prioritize and hope to get it resolved in the next release. But if you have a major issue, get ready for some sleepless nights.


So if you didnt resolve all the bugs, you aint a bad tester, as long as you got the ones which really matter resolved. And this does not mean you take it easy. Always look for ways to convince dev. to resolve the low priority ones if possible. Keep slipping in the easy ones with the tough ones too! Keep that testing going and keep knocking your dev's. door till you make them cry (such an act tho', could be injurious to your health at a later stage)!