Saturday, November 28, 2009

Embrace CEO like thinking in your testing

What is the first thought that cross your mind when you hear the word "CEO" ? Chief Executive Officer, a person who is at the helm of all the affairs in the organization, a person who drives the organization through its growth, basically a person who is visionary.
All these are right inferences given the context of a CEO. A CEO may not be an expert in all the diverse areas that constitute his/her organization but does possess a certain kind of unique thinking patterns (in addition to the vast knowledge and experience, of course) that enables him to take most complex decisions.
That really makes me wonder often- Is there any takeaway for test engineers from the CEO mindset that can assist in testing a product effectively ?
To explore the answer to above curiosity, I came across some of the beautiful instances in my recent experience.
The book "Inside Steve's brain" provides an wonderful insight into Steve Jobs' thinking and how it helped transform Apple over the years. There is a significant mention of Steve Jobs being a perfectionist and a stickler for details. The book talks about how Jobs sat with designers and virtually tested the prototypes and gave valuable feedback for every seemingly minor detail. His involvement is touted as one of the major reason why Apple products have a good focus on User friendliness aspect. Consider the below instances from the book-
Instance #1
Incredibly, Ratzlaff's team (He was in charge of look and feel of Apple's Operating Systems) spent six months refining the scrollbars to Jobs's satisfaction. Scrollbars are an important part of any Operating System but are hardly most visible element of the user interface. Nonetheless, Jobs insisted the scrollbars look just so, and Ratzlaff's team had to design version after version.

Instance #2
While working on the new interface, Jobs would sometimes suggest what at first seemed to be crazy ideas, but later turned out to be the good ones. At one meeting, he was scrutinizing three tiny buttons at the top left of every window. The three buttons were for closing, shrinking, and expanding the window, respectively. The designers had made all the buttons the same muted gray, to prevent them from distracting the user, but it was difficult to tell what the buttons were for. It was suggested that their function should be illustrated by animation that was triggered when mouse cursor hovered over them.
But then Jobs made when seemed like an odd suggestion: that the buttons should be colored like traffic stoplights: red to close the window, yellow to shrink it, and green to expand it. When we heard that, we felt that was a strange thing to associate with a computer, "Ratzlaff said. But we worked on it for a little while and he was right." The color of button implicitly suggested the consequence of clicking it, especially the red button, which suggested "danger" if the user clicked it and didn’t mean to close the window.


These are interesting quotations that emphasizes many things one of which is the attention to detail required to make a real difference to the product. Jobs’s Attention to details is exemplary and something which is a direct takeaway for the Test engineers.

One another appealing aspect is his CEO like thinking. CEO is the real "owner" of each and every aspect of organization and product design is definitely one of them. Taking ownership of something is easier said than done. To think about ownership, think about the project that you are currently working as the one in which you have personally invested and the stakes of the project depended upon how well you do your part. If you don’t do your part well, you lose all your investment. Imbibing ownership in testing opens door for several initiatives and innovations, which would otherwise stay dormant.

I feel another aspect of Jobs's personality that is exhibited in above quotations is his passion, a burning desire to succeed and make a difference to the user experience.
The aspect of ownership and passion are a lesson for any aspiring as well as Experienced tester. After all being "Experienced" in something doesn’t ideally mean that one is "Passionate" about that very thing. Ownership and Passion indeed supersede any other skill an employee need to create a space for himself/herself in their sphere of work.
Here’s to a CEO who tests!

Any thoughts/comments ? Please do share.

Friday, November 13, 2009

Consider testing the "box" for "Out of box" testing!


The opening lines from the book- "Inside Steve's Brain" by Leander Kahney goes something like this-
Steve Jobs gives almost as much thought to the cardboard boxes his gadgets come in as the products themselves. This is not for the reasons of taste or elegance- though that’s part of it. To Jobs, the act of pulling a product from its box is an important part of the user experience, and like everything else he does, its very carefully thought out.
Jobs sees product packaging as a helpful way to introduce new, unfamiliar technology to consumers. Take the original Mac, which was shipped in 1984. Nobody at the time had seen anything like it. It was controlled by this weird pointing thing- not a keyboard like other early PCs. To familiarize new users with the mouse, Jobs made sure it was packaged separately in its own compartment. Forcing the user to unpack the mouse- to pick it up and plug it in- would make it little less alien when they had to use it for the first time. In the years since, Jobs has carefully designed this "unpacking routine" for each and every Apple product. The iMac packaging was designed to make it obvious how to get the machine on the Internet, and included a polystrene insert specifically designed to double as a prop for the slim instruction manual.

Image Source: http://en.wikipedia.org/wiki/File:Macintosh_128k_transparency.png

To me that’s a very distinctive insight. In majority of the literature that i have gone through in addition to having experienced testing Software, the user experience has invariably been associated with how the inherent Software design make it easier for the user to learn and use the Software. User experience of a product is something that starts with Installation of software to all the actions user can do till a software is uninstalled. Here we have- Steve Jobs- recently voted as the CEO of the decade - giving a refreshing dimension to User experience. User experience is certainly something that starts taking shape as soon as the user visualizes or sees the product. User can either see the product physically in the Store, on websites or other visual mechanisms such as TV advertisements, newspapers etc.

Another inference i gained- From Software testing point of view- Do we as a testers generally consider testing the Software packaging ? Many traditionalists tend to believe that this would be out of scope of testing department in a typical organization. Why would they think so ? May be because there is a lot of emphasis given in the organizations to bind the roles with specific terms e.g. a set of people do "Manual testing", a set of people do "Automation", a set of people do "Performance testing" and on and on. So who owns the things that do not come under the high level umbrella of these terms. The above illustration suggests that a person as influential as Steve Jobs consider Product packaging as important as Product itself. No wonder Apple products are so far ahead on usability. But again, for traditionalists- there is no term called as "Software Packaging testing" so wont it come under scope of anyone ?
Well, i consider an employee's role in an organization to be as elaborate or small as he or she makes out to be. There is a general tendency to limit our learning and contribution while living under the so called influence of terminology. It may have a dependency on organization's culture as well but generally limiting ourselves to certain role doesn’t help an employee grow, whereas it might only help to just do the roles for which one is hired.

Ok. Before i sound like moving farther away from original point i intended to make. Testing the product packaging is testing the first impression a customer might have when in contact with the product. It will not require high degree of technical skills. What is more evident in Steve Jobs' thinking about Packaging is simplicity of thoughts or common sense, which unfortunately is so uncommon. I think one of the key Soft skills that a Software tester should possess is common sense that generally help reason and find many bugs that may "commonly" get unnoticed. One of the example of testing customer's first impression would be testing the way products are represented in the websites.

So, key learnings from this excerpt has been-
- User experience goes beyond the internal workings of the product.
- Do not limit the role you play in organization. There is always scope to do more.
- Testing the product packaging is more complex that it looks and more important than it sound.
- Common sense is one of the key Soft skills for Software testers.

So would you consider testing the "box" for "Out of box" testing ? Do Share your experiences and thoughts.

Wednesday, November 11, 2009

Thinking opposite- turning flops to successes


Here is one of the interesting story from the book- "Whatever you think think the opposite" by Paul Arden-
Until the Mexico Olympics of 1968 the customary way for a high jumper to cross the bar was with his body parallel to it, in a technique known as the Western Roll. But that was about to change.
A little-known athlete approached the bar, which was set at a world record height of 7 ft 4.25 inches. He took off, but instead of turning his body towards the bar, he turned his back on it.
He brought his legs up and flipped over the bar backwards.
His name was Dick Fosbury, and his method of jumping became known as Fosbury Flop. It is still used today.
He jumped higher than any man before, by thinking opposite from everyone else.
This example is just a technique for thinking, but here the technique for thinking became a technique for jumping, turning a flop into success.

Image Source: http://media-2.web.britannica.com/eb-media/25/1225-004-A77580A6.jpg

This is an insightful story with a true focus on what it takes to stand out from the crowd and embrace success.
Would Dick Fosbury be remembered as he is now had he thought as rest of the world did i.e. thinking straight ?
Would he have broken the world record by using the conventional thinking ?
Would the new technique have evolved had he thought traditionally ?

The answer to each of the above questions is a certain "No". Often, the difference between being ordinary and extra-ordinary is a simple drift from conventional thinking.
Is it easy ? May be not, because most people prefer their lives to follow a certain routine and go in predictable fashion. Any deviation from the set pattern of the life causes discomfort and this is what happens when people try to move beyond conventional thinking. Those who manage to counter this discomfort begin their journey towards being extra-ordinary.

Till the time Fosbury flipped over the bar backwards, none of the coaching techniques for High jumping preached this. He caused the coaching manuals to be rewritten and future generations, even till now follow his technique. This is an interesting insight. In Sports and in life broadly, correct coaching help us distinguish right from wrong and in the process of doing so, sometimes restricts our thinking. It again takes the courage to think on your feet and imbibe Independent err... Opposite thinking. It may not guarantee success the first time you do it but it definitely kicks off the process required to succeed.

When was the last you thought opposite of norm ?

Do share your ideas and experiences.

Sunday, November 8, 2009

Uncovering Myths about Globalization Testing- Websites with localized addresses

Myth 19: There is no need to include localized web addresses as a part of your test data as Web addresses are always in English

This was a truth till a little while back. The news is that Internet Corporation for Assigned Names and Numbers (ICANN) has given a go ahead to International domain names.
As per the news details- Currently, domain names can only be displayed using the Latin alphabet letters A-Z, the digits 0-9 and the hyphen, but in future countries will be able to display country-code Top Level Domains (cc TLDs) in their native language. ccTLDs are those that have a two-letter country designation at the end of a domain name.

Source: http://www.pcworld.com/article/181052/international_domains_get_icann_thumbs_up.html

So, Globalization testers- get those fancy web addresses with localized characters added to your test data. There are more bugs waiting to be found.

Saturday, November 7, 2009

Does your testing catch Cockroaches ?

The year 2009 saw one of the potentially worst recessions in the history often (at the earlier stages) getting compared with Great Depression era post World war-II. Luckily for the current generation, the impact of current recession hasnt been as strong as Great depression but for sure this time has been one involving stupendous learning for the world economies. While most of the organizations and individuals remain cautious in their economic outlook, there has been a far reaching impetus laid on creativity, innovation to come up with cost effective and efficient ways of doing things. This period has also given birth to many interesting theories pointing to the cause of current situation to many similar topics. One such theory is Cockroach Theory.


What Does Cockroach Theory Mean?
A market theory that suggests that when a company reveals bad news to the public, there may be many more related negative events that have yet to be revealed. The term comes from the common belief that seeing one cockroach is usually evidence that there are many more that remain hidden.

Investopedia explains Cockroach Theory
For example, in February 2007, subprime lender New Century Financial Corporation faced liquidity concerns as losses arising from bad loans to defaulting subprime borrowers started to emerge. This company was the first of many other subprime lenders that faced financial problems, contributing to the subprime mortgage meltdown.
In other words, the fact that one subprime lender (one cockroach) faced financial problems indicated that many other similar businesses were likely to face the same issues.


Source for above text in Italics: http://www.investopedia.com/terms/c/cockroach-theory.asp

After reading the above information, it made me think- Is there any similarity this theory has with Software testing ?
Can the negative events referred to in above description be equated to bugs ? Negative events are also referred to as cockroaches i.e. even if you manage to slay one cockroach in your house, be assured there are quite a few hiding in the vicinity. Does this sound like a similar situation for us testers ? Even if you find one good bug, there are always more hiding in the closet.
This is especially true whenever the changes are introduced in the Software product be it as huge a change as an architectural change or as small a change as a minor UI bug fix. Each change introduces cockroaches in the Software code and it is left up to the skill of a Software tester to find it as soon as possible. I have normally seen the tendency of developers to come and defend any change done saying only a minimal testing is enough. Testers should be wary about such statements and plan their testing only after a thorough analysis of the introduced change. For example, Every bug fix introduces a change in Software product. More often, the tendency of testers is to only execute the steps mentioned in the bug report to verify the bug fix. While this may be good to make sure that the mentioned behavior in the bug report is fixed but this approach in no way ensures that the “change” introduced by the bug fix is tested properly. This “change” often gives birth to new cockroaches which because of lack of good planning to test “change” gets found quite late.

Often during the project, testers tend to give up or relax after a major bug is found. When you are feeling like relaxing next time, just think of the Cockroach theory!

I would like to hear your experiences around cockroaches in Software testing. Did you come across any ?

Note:
Inspiration of this post comes from this article by Tathagat Verma