Thursday, December 30, 2010

Do you commit to OAD while testing ?

One of the concepts that Robin Sharma talks about in his book Greatness Guide is that of OAD. OAD is nothing but Obsessive Attention to Details . He uses this term in the context of Customer Service. He says-

leadership isn't about your position, it's about the way you show up each day, If your yard or home is well- organized, I'll bet your life is well-organized. If you are attentive to details like the birthdays of your friends and sending thank you notes after every meeting, my guess is that you are attentive to the details around your big projects and best opportunities. So pay attention to the details. Sweat the small stuff (like crazy). Commit to OAD: Obsessive Attention to Detail the best people and organizations do; Because the little things grow into the big things.

Customers are always the one paying great deal of detail in assessing the Service or the Product they are using. There is perceivably no limit to the level of details they can go and form an opinion about the offering. It only becomes imperative for the organizations to be exhibiting that level of detail in its operations.
Isn’t Attention to details a key trait when you are testing a Software product ? It sure is.

The degree of good testing a tester does often depends upon the level of details one’s mind can traverse through. Taking a leaf out from learnings out of Robin's words, "Just" Attention to details while testing is not enough. What is needed to stay competitive in today's world where Customer is like a god is to commit to "Obsessive" Attention to details. Someone once said- "God lies in details". In Software Testing context, isn’t it true that "Bugs lies in details" ?

The word "Obsessive" usually sound like negative in work context but i feel it is synonyms with the word "Passionate". A mind Passionate about Software Testing notices even the minor details, no bug escapes an alert mind. Unless a tester is obsessively detailed oriented, the bugs are bound to be migrated for customer to notice.

Be Fearless. Commit to Obsessive Attention to details!

Saturday, December 25, 2010

Breaking the Shackles...Beat that "Thai Elephant" Syndrome in you

While reading Project Management- A Comedy of errors by Prasanna Kumar, i came across the below story-

When a Thai Elephant is small, its trainer ties one end of the rope around the elephant's leg and the other end to a rigid pole. The baby elephant tries to sever this rope and set itself free, but the rope is too strong for a baby elephant. Eventually it gives up.
Even after Elephant becomes a three tonner, the mahout continues to use the same rope. The reason is, as a baby elephant it is conditioned to think that it cannot break the rope. The Elephant does not realize the awesome power it now has.


This story is not only true of Thai Elephants only but also has a striking resemblance with the way us humans think and act. I feel one of the reasons why people fail to take risk or choose to stay safe in life is because of the passive thinking that is strangled like the giant leg of Thai Elephant.

So, the next time your mind wanders and tells you that you are not capable to do something, just ask yourself- "Am i strangled from my past thoughts like the Thai Elephant ?"
Nothing is impossible! If you think you can, you can! Beat your fears, Insecurities and back yourself to do the new.
Just break-away from those imaginary shackles from the past.

Wish you a Merry Christmas!

Thursday, December 2, 2010

Sense of Urgency- A Key skill in the Professional's toolkit

The Story:
Vineet Nayar, the HCL CEO -in his book Employees First Customers Second , narrates one story of his encounter with a race car driver during one of his flights-

As we sipped a glass of wine before dinner, he told me about an incident from his past. It seems he had been in the middle of a race when his brakes failed. he asked if I ever had that experience. "No", I said, "What did you do?"
"What do you think my options were? " he asked.
I thought of a number of possibilities, but i really had no idea.
"Most drivers would do one of two things," he said "First, they try to get the brakes to work. Or ,second, they slow down. The first option distracts the driver and puts him at risk of a crash. The second option makes him a hazard to other drivers and also puts him at risk of a crash."
"So what should you do?" I asked.
"Speed up"," he said. "Accelerate past the other cars and then take whatever action is necessary."

Doesn’t this story sound like reminiscent of what we experience mostly at the workplaces ? After reading the first part of the story, my mind teleports to the days when every task that one handle is of highest priority and at the same time each task is unrelated, of completely different nature. Add to this, if you have some pressing things at home to attend to, then you have a cracker of a day at hand. To me, that for sure sounds like a case of driving a car whose brakes have failed and during such days you often wonder where is this car going to eventually end.
The second part of above story does suggests an rather out of box solution. Speeding up is usually the last thing to think of in that situation. The question that crossed my mind is - What prompts a human being for any action when in crisis or even when attending to Important things ? The more i think about it, the more my thinking gets skewed towards one trait called as "Sense of Urgency" in this situation.

What is Sense of Urgency ?
ehow.com defines Sense of Urgency as - "A sense of urgency is the attitude and process of treating key business or personal matters as if one's life depended on it. It is determination to stay focused on results and deadlines until the task or project is completed."
A Sense of Urgency is something that makes one work harder with the desired focus to work towards achieving your goals. People who imbibe Sense of Urgency gets things done faster and it is often a positive differentiator in life.

Does Inculcating Sense of Urgency help you work better ?
Employees who do not possess Sense of Urgency,
- Are perceived as having Casual Approach towards work.
- Often tend to miss deadlines.
- Miss the vital instructions that could help them do the tasks better.
- Often miss out on competition.
- Have their own ideas of work performance and are happy satisfying that.
- Are often at the receiving end of reminders to complete the tasks.
- Find it hard to understand/meet Work commitments.
- Tend to get easily satisfied with the Status Quo even if it is of average quality.
- Do not generally think beyond the obvious to complete the work.

Keeping the above points in mind, the answer to the question- "Does Inculcating Sense of Urgency help you test better ?" to me is, Why not ? For Example-Take a look at any successful Testing effort, you will find that it follows a well-defined mission. A mission is that end goal that is kept in mind and which is determinant of success for a test engineer. All along when a person is testing, he/she tend to utilize the various thinking patterns- System thinking, Creative thinking to come up with the consistent stream of test ideas. Testing outputs are often always time bound. It is a well-known fact that testing if done without consideration of risk can be an infinite activity. It is the Sense of Urgency that helps a test engineer maintain his focus, help prioritize the tests and do what is best for the moment. Testing is often done in Timeboxes. Unless a test possess required Sense of Urgency in addition to Testing skills, the testing would often tend to lose the foresight and will spill over the Timebox.

How can i inculcate Sense of Urgency ?
In the book The Road Ahead , Bill Gates said that a secret to Microsoft success is that the employees always think of themselves to be in the losing side, and this makes them strive to be number one everyday. This attitude creates a sense of urgency which makes them work hard to survive in the highly competitive environment of IT industry.

All along i have known one way to Inculcate Sense of Urgency and that is to consider the current task at hand as "THE MOST IMPORTANT" task as if your job is dependent on the successful completion of that. Try out, it works if done honestly.
So, go into the next work session as if it is the most important session in your professional career.

Is Sense of Urgency always a positive trait ?
Today i was reading one of the recent blogs from Vineet Nayar- Speed Kills. Slow is Fast. It presents quite a reasonable view on how in today's world, when the expectations are sky high, when decision needs to be made in split seconds, the age old notion of decision making by considering the balanced view (all possibilities) of any situation seems just that- age old. Surface thinkers are vastly gaining prominence. In this competitive world, what seems to be lacking is someone taking comprehensive view of any situation and come up with an appropriate views to handle stuff at hand. The point is that Sense of Urgency does help speed up things but in the mad race sometimes the very reason why something is being done a takes back seat. Do read this blog to gain that precious perspective.

What is your experience regarding the "Sense of Urgency" trait ? Do share your views and comments.

Wednesday, December 1, 2010

Help Chandru!

If you have not already visited Pradeep Soundararajan's blogpost- Help Chandru live his testing dreams! , I would really request you to once go through the same and provide any help you can.

Chandru is a fellow tester from India who has been diagosed with Blood Cancer at a young age. From what i know from Pradeep, this guy is a fighter and is not going to give up anytime.
Would urge you, Dear reader to come forward provide any help you can. Afterall, it only proves how closeknit, responsible, sensitive and committed is the Testing community.

For more details visit the blog

Sunday, October 17, 2010

How well do you know your team ?- Asking the questions that matter

With most of the work in today's world getting more collaborative in nature, with the world around us getting flatter by the day, with the teams around us getting more and more diverse, the true success of the team's endeavors more often than not lies in the answer to this question- "How well do you know your team ?"

We live in a "Faceless" work era. Looking back, there are several instances where i have been involved in doing business with the people successfully over years without even having to see or meet them. This may have sounded very astonishing probably during the generation when my parents were working but now every other employee might have a same experience to share. But whatever it is- i am still amazed at the ability of human beings to work together and achieve success together without having to see each other and without understanding the underlying emotions, with just the strands of work sharing that common goal connecting them together. In this situation, the success could not be taken for granted and is not assured unless you know the team members better.

In the question- "How well do you know your team ?" the word "you" does not necessarily denote a leader, though people without effort tend to believe that it’s only the leader who has to know the team to ably get the work done. Well, it’s true for sure but the "You" (in that question) actually represents everyone in the team irrespective of their designations and roles people play in the team. It’s not only in the case of Self-managed teams that team members need to know each other but also the teams that function under autocratic setup where a Single leader takes majority of decisions. In such a setup, even though a Leader takes majority of decisions and setups up the strategy, the plans tend to remain as "Paper Plans" unless they are executed well. It is the team dynamics that is one of the important factor that decides how well the plan gets executed.

I have myself been in position of a "designated" Leader for quite a few projects and my experience suggests to me that understanding the team members is an important dimension to the leadership and without spending adequate efforts in this direction all the success as a leader is superficial to me. People are not machines, afterall. One thing i hate inherently is calling or referring to people as "Resources". People are the most important assets in a Knowledge economy. To me, "Resources" is the term best used to represent things such as Hardware, Software etc. that helps People in achieving overall mission. Referring to people as mere "Resources" is no less than being a derogatory phrase to me. I think for a leader one of the foremost task is to know the people who he works for (i.e. his team), and the people who help him achieve the overall objectives.

In this post and subsequent posts on this i would try and mention the attempts or techniques that i have employed in my experience to know the team members better. Hoping to start a meaningful dialog with readers to understand their views on this important but often neglected topic.

The Technique- "Asking the Questions that matter" :
The technique that i wanted to talk about in this blog is as simple as Asking the Questions that matter to the people you as a leader work for. I keep using the phrase "to the people you as a leader work for" while describing the work sphere of a leader because i firmly believe that gone are the days when the perception of leadership was that people work for you. We live in a age when people who you lead are often more smart than you are in many aspects and without their presence the existence of a leader is zilch.

As a part of "Asking the Questions that matter" technique, below is the excerpt of an email that i usually send to people who i have started to work with as a leader or even to those who i have been working for some time. I learned this technique in one of my trainings at Stephen Covey long back, though i have actually customized some parts to my needs-
-------------------------------------------------------------------------------------

Hi (Name of the Person),
As we work together, I’d like to know more about you so I can help you to grow and develop and make your highest and best contribution. Please take a few minutes to respond to the following questions.

• What kind of work have you always loved doing?
• Is there anything about your job that you dislike ?
• What job-related opportunities are you passionate about and are looking forward to?
• What do you feel (skills etc.) you are really good at?
• What are the areas you think you need to grow and develop further ? What opportunities do you foresee for growth and development here?
• Is there a way you think your work environment can be further improved?
• What significant contribution do you strive to make in your current role?

I would like you to treat this conversation as confidential and respond as much as you honestly know and after I get your responses, I’d like to sit down together and discuss this further.

Please let me know if you can send me your responses by (Whatever is the deadline) or sooner. If you need more time, let me know.

Regards,
Anuj

-------------------------------------------------------------------------------------

How do people generally respond to this ?
In my experience, the people who receive this email, can respond in one of the four ways-
1. Sensing an opportunity to let the leader know his or her aspirations, the person does best to respond with the correct information to the best of his or her knowledge.
2. People generally will be defensive and would not write anything controversial that is completely out of the norm and give superficial replies.
3. People vent out their frustrations and write stern remarks.
4. People do not respond at all.

How do you interpret the response ?
An experienced leader will easily recognize under which of the above four categories do the people's response falls under and for others, it might take a bit of application of common sense to figure out the category of the response.

In my assessment, whatever the team member respond, it’s a winning situation for a leader. Below are my interpretations of the above responses-

1. Of course, this is the best response. It gives a crucial insights for a leader into his team's liking and dislikes, aspirations etc. The responses form an ideal platform for further meaningful discussions and help in effectively marrying the work priorities with team member's greatest strengths and aspirations.

2. The second response will be easier to figure out and the effective leader will align the follow-up discussion and dig deeper into the real issues. It will require asking more focused questions face-to-face. But generally the good responses from such discussions come only after the required trust has been established between the leader and the team. It might be good for the leader to judge and figure out the exact reasons why the team member was not open to him in first place and work to rectify any problems.

3. The third response is an obvious indicator for the leader that something is seriously wrong that needs to be addressed with higher priority. Also, the leader should appreciate the honesty of the person and not take the remarks personally. The leader needs to be displaying genuine empathy is follow-up discussions.

4. Regarding the fourth response, no news is not always the good news. This may also indicate the lack of basic trust that is not allowing the person to freely share his views with the leader. Again a meaningful follow-up discussion (may be many) help to pin down the real issues.

This technique is helpful in the sense that it gives a platform for a good follow-up talk. This helps provide a right kind of start and if done at the start of relationship, helps build the necessary trust with the people. But bear in mind that such trust is usually not so strong. Unless meaningful, genuine follow-up discussions happen and people get to see the results, such trust will diminish sooner than later.

I hope to share few more techniques to getting to know your team based on your responses to this post. Please do share your thoughts.

Saturday, October 16, 2010

My foray into Weekend Testing

I should have forayed with Weekend Testing a while ago but somehow could not. Its not wise to go into the excuse mode as to why i was not able to yet, so i wont take the discussion there. But what i want to be focusing here is my experience into Weekend testing.
The challenge posed to participants was to figure out which is best platform/tool to conduct the Weekend testing session. The setup for Weekend Testing Session# 48 was by itself challenging in the sense that it asked for finding out the best solution by testing the new contender tool (Old, tried and tested one being “Skype”). The new contender was a Real Time Collaboration tool called Pligus . I wont go into the details of the features of this tool but would certainly like to share my quick learnings out of the session-

• I had realized earlier but now experienced first-hand that Weekend Testing is quite an unique platform in which Testers irrespective of their Geographies and cultures get together in a session which is devoid of any Office Politics, without any interruptions to focus only one thing, which is Pure Testing.

• I had been involved quite much in Competitive Software Analysis in the past and this session refreshed my experience. The prime relearning that i had was to compare the two or more Software Product in question per feature. One way to quickly do these session to decompose the features of the product that you already know and try and find the same/similar features in the other product under question. As a next step, try and find any other enhanced features in the product under test.

• I revived the art of questioning. Was glad to see so many questions being ask from all quarters as soon as the challenge was given to the virtual teams. Questioning helped refine everyone's approach towards the task at hand and also at times added to confusion as the questions kept coming from all the participants. But i guess this confusion is useful in the end result and is not totally avoidable.

• My current Job profile of late did not allow me to test as much so this session was very much redeeming for me.

I could not attend the entire session because of some prior commitment but still could gather many positives as listed above. Looking forward for more such sessions.

Friday, September 17, 2010

Panel Talk: Achieving Test Competency – Challenges & Emerging Trends

I was recently invited to be a part of Panel Talk in ISQT’s STEP AUTO Conference . Was a part of this session yesterday and overall it was an great experience being on the panel sharing thoughts and perspective on the diverse topic of Achieving Test Competency – Challenges & Emerging Trends . Other Panelists included Harinath Pudipeddi Practice Manager, Cerner Corporation and Ramesh Ramani Director –QA at Tavant. Harinath and me were in touch long back on a Collaborative Book writing project on Software Testing and it was great meeting and knowing him in person. Same pleasing experience sharing the Panel table with Ramesh as well.
In this post, I intend to cover some of the thoughts that I put forward in the session-

Achieving Test Competency is very much contextual:
While thinking about Skills and Competencies, Let me commence by first of all sharing my perspective where we are coming from and where we are currently headed in Software Testing profession. I think the past decade i.e. from 2000 to 2009 has been quite an eventful one in the history of Software Testing profession. Among the changes that have happened over this time, the profession certainly has gained more respectability and acceptance. Fundamentally, I have seen the Software Testing move from more being an Singular dimension profession in late 90’s to being more of multi-dimension profession. What I mean by this is that in early 90’s, the prime focus largely used to be on Functional part of testing i.e. the features that are exposed to customers through the UI. And over a period of time, the terms such as Security Testing, Performance Testing, Globalization Testing, Whitebox etc. rightly gained more prominence. I never say these types of testing did not exist a decade back but the extent of their applicability, popularity and awareness was way lower than what it is right now. There were multiple factors governing this change mainly- Expectations of customers, Post production bugs (and the noise generated by these!) and motivation to deliver ”complete" software to the market.
All the change that we have observed in the last decade or so had a significant impact on how we perceive Test competencies and its evolution. At the grassroots level, Test competency can be defined as ability of a person to do Testing well and effectively. "Achieving Test Competency" is no longer a simple phenomenon. With the diversification of Software Testing field, Software Testing competency has increasingly become very contextual i.e. when we say Achieving Software Test Competency, do we mean "Achieving Security Test Competency" or "Achieving Performance Test Competency" or "Achieving Functional Test Competency" or something else that is relevant. So, one thing is for sure, we dont have easy answers here.

Evolution of Software Testing Competencies- Practice makes a Tester perfect:
Speaking on the topic of Competence, i would like to mention about the famous psychologist, Abraham Maslow's conscious competence theory , which is is also known as "Four Stages of Learning". Relating this theory to Software Testing,
First of the phase that he talks about is Unconscious Incompetence i.e. the Individual neither understands the new skill and is also not aware or recognizes that he has any deficiency. E.g. A person who is still in college may have heard of Software Testing but may not be aware at all about what kind of knowledge is he lacking given the fact that Software testing is usually only superficially touched-upon in the colleges.

The Next stage is Conscious Incompetence i.e. when a person knows about what he lacks, has a deficiency on when considering a skill but has not yet put in effort to address that. Consider the same guy who was in college now joins an organization as a Software Test Engineer. Seeing a lot of activities happening around Software Testing areas, he may start to recognize what he lacks but may not have spend much time addressing the deficiency.

The Next stage is Conscious Competence i.e. when a person understands or knows how to do something and has acquired the nuances of the profession but demonstrating the skill do not come naturally to him and requires some level of consciousness. i.e. the same tester now spends lot of time learning Software testing techniques, tools, gets hands on information on different stuff, gets himself familiar with the indepth topics and various forms of testing and get experienced. He reaches a stage wherein he has gained considerable level of competence in the various areas and is able to work with little supervision from others.

The final stage is Unconscious Competence i.e. when the person has had so much practice with a skill that it becomes "second nature" and can be performed easily (often without concentrating too deeply). The powerful word here is that you gain so much expertise on something that it becomes a "second nature" and the skill and output flows naturally. One example of something that Second nature to you can be your command over your mother tongue. It is so ingrained in our systems that we don’t need to think twice before conveying our thoughts. Now, the question to answer would be- "Does Software Testing appear as Second Nature to us ?", "Have we achieved Unconscious Competence in Software Testing ?".

I won’t be judgmental in answering these questions here but to me Key to achieve Software Testing as a Second nature are 3 words- Practice, Practice and more Practice.
How much of Practice do we need to attain Second nature type expertise in Software Testing ? I probably don’t know but would like to quote a study presented by Malcolm Gladwell is his best-selling book- Outliers . Malcolm presents something that is called as 10000 hour rule i.e. Studies suggest that the key to success in any field is simply practice, 10,000 hours of it — 20 hours a week for 10 years. Excellence at a complex task requires a minimum level of practice, and experts have settled on 10,000 hours as the magic number for true expertise. This is true even of people we think of as prodigies, such as Mozart. During his formative years, Bill Gates spent several hours altogether in lab, programming almost nonstop for seven consecutive years. He was way past 10000 hours.
Another example, he cites is The Beatles, who performed live in Hamburg, Germany over 1,200 times from 1960 to 1964, amassing more than 10,000 hours of playing time.

This theory raises several thoughts-
Is this rule applicable to Software Testing ? Though I don’t have the researched data on Software Testing but I would rather believe that it is possible in Software Testing rather than not believing it. I have no reason to believe why it would not be given the diverse examples this study cites. This much practice would also help achieve what we call as ever elusive Second Nature in Software testing phenomenon.

Balance between different Types of Skills in Software Testing is a big Challenge:
Broadly speaking, we can view software testers as having two kinds of skills: one set used to perform basic duties at work, and another set of skills used to approach work. The former can be categorized as technical skills and the latter as soft skills. To elaborate more on soft skills, these are the ones that define one's approach towards work, life, problems, etc. Soft skills are people skills. The best part about mastering them is that the application of these skills is not limited to one's profession, but their scope reaches all aspects of life. Technical skills may teach one how to meet the expectations of the job, but soft skills teach one to succeed, and to exceed expectations. It is surprising that we spend our time educating almost exclusively in technical skills.

Having said so much in favor of soft skills, my intention is never to undermine the importance of technical skills. It's nearly impossible for a tester to survive in the profession without sound technical skills. What I intend to challenge here is a popular myth: Technical skills, and only technical skills make a tester a complete professional. I firmly believe that both technical and soft skills complement each other and the balance between these two is what makes a tester a complete professional.

For me, the key challenge in achieving Test competency is achieving right kind of balance between Technical skills and Soft skills. Aligning our schedules in a way that we spend quality time mastering both these types of skills and to the right degree. It comes with lot of discipline and afterall, we are what we repeatedly do.

Emerging Trends:

Virtualizing the Software Testing:
The whole notion of Software Virtualization has affected Software Testing in a positive manner and it has potential to create more positive differentiation as I can foresee. The whole idea of completing a complex setup in a few minutes which earlier used to takes weeks is so fascinating. All this has been made possible because of advent of Software Virtualization. I do foresee lot of automation efforts happening around the area of Lab Management some things and some tools that will help to automate the entire Lab Management, manage the workflows at the click of the mouse. That would require more expertise from the testing teams to understand the concept of Virtualization in-depth to reap greater benefits.

Achieving zero Globalization Test Technical debt:
I think, in the overall Software practice because of the way Software development was perceived in the past, currently we are paying something that is termed as Technical Debt . The term "technical debt" was coined by Ward Cunningham to describe the obligation that a software organization incurs when it chooses a design or construction approach that's expedient in the short term but that increases complexity and is more costly in the long term. Take for example, earlier there was not a pressing requirement from customers to include Security into the product and as a result, the developers were complacent or intentionally didn’t include Security into the product. But over the years, when Security has become so much an ingrained requirement now the Development teams are paying the debt by include Security features in legacy code.
I have observed the same kind of phenomenon in Software Testing especially while doing the Automation of International Software applications. People design automation framework only considering one main language and do not build in Internationalization in automated scripts. When the product starts supporting various language at the later stage, we end up paying the Technical debt by modifying the Automated scripts to support various languages at much later stage. This is an inefficient practice, which I think will change in the time to come.

Apple-ification of Software Testing:
The first million iPods sold in 4 months. The first million iPads sold in mere 28 days. Apple is everywhere these days and according to many experts primary reason why Apple is seeing a stupendous success is because of its fanatical focus on product Design. Apple has literally redefined product design in more ways than one. More companies are focusing on design as core competency. I do foresee more advancements in the field of Usability testing. Like Security testing was in infancy at the start of last decade, I would say that Usability testing is in infancy at the start of this decade. As the time progresses, I foresee more structure around Usability testing than it is right now and it will soon emerge as a specialized skill. Again, Like Security Testing was earlier, currently as I see, Usability Testing is more a function of design and it will be more a part of testing life cycle soon.

Advancements in measurement of competencies:
Second thing I foresee is more external completion judging skills. There has been lot of competitions that are happening in Software Testing space that help judge core skills and competencies relating to Software Testing. Some examples are Zappers-Live Testing, Test Republic- Testing and Defect Reporting etc. Playing fields are leveled for all the testers. This to a large extent addresses the problems with traditional recognition systems for testers like Bug of the month around the organizations.

Overall, it was a great experience being a part of the Panel facing an intelligent audience.

Saturday, September 4, 2010

Key professional lessons from the life and times of James Bach

Continuing steady on my reading expedition, i managed to complete- Secrets of a Buccaneer-Scholar: How Self-Education and the Pursuit of Passion Can Lead to a Lifetime of Success quite a while back. Infact I had given a stab at reading it when it was launched and accessible free for a week or so. I liked it then but would admit that i did not comprehend the concept of book completely then. In the hindsight, it was may be due to the way i have perceived academic education all though the life is quite different from the book. But I am glad I read it again, most of the things started making much sense.
In some sense, this book presents autobiographical picture of James Bach. In Software Testing circles, the name James Bach needs no introduction. I don’t intend to use this space to try to speak on his achievements but attempt at something more interesting and meaningful to me that is to attempt and draw a picture of his philosophy towards life and work just on the basis on the excerpts in this book. This is something that i enjoy doing whenever i read any autobiographical natured literature.

Here is my yet another humble attempt at that-

Paperless credentials are more valuable than Paper ones:
We live in a world that is full of Four-letter acronyms for certifications that are supposedly meant to be telling an external world that you are "Expert" at something. Most of the people seem to be caught up in the mad race to get certified. I have no problems with that as long as that meets your purpose.
The problem at core seems to be that the definition of the word "Expert" seems to have been limited to achieving a certain certification and i disagree with this notion.
All along James's life he seems to have relied more on his reputation of work rather than something written on the paper giving proof to his credentials. The paperless
credentials comes directly from the extent of work done and meaningful work at that. It is only true that your reputation reaches your prospective employer much before you do.

As Bach himself says-
Buccaneer leaders gained reputation through the tests they faced in their work, and their portfolio of tangible outcomes.
I do the same thing. By writing articles and teaching classes, I'm able to show my work. I also have a website and a blog. I wrote a book. Most of the work i do for paying clients is confidential but sometimes i have more easygoing employers who let me show off specific documents or programs i've written for them. That's my portfolio.
My portfolio and my performance on tests slowly gain a reputation for me. it's my reputation that brings customers from all over the world. I don't directly control my
reputation. By holding string opinions, I have gained both friends and enemies. On Internet, with blogs, forums and social networking websites, a reputation can be made almost instantly.


Being Courageous :
The conventionalist will find it very hard to appreciate this book. The reason as James outlines is in the form of a truth and that truth is- Society mostly rewards someone who achieves something significant while staying in the realms of the conventional thinking, while behaving conventionally. This is quite true and more so in Indian societies where the extent of achievement is considered in direct proportions to heaviness of the title one hold in the organization. And its an ideal recipe for superficial success and good for the acceptance in the so called societal norms.
Going against the tide is hard and it requires a purpose and a lot of self drive. Given the attempt to go against the tide is for a positive cause, sooner or later it does help find one's reason for existence.

Using Ignorance as a Power:
There's an Excerpt from the book-
Once, i was suffering writer’s block on a technical article about measuring the quality of Software, my brother Jon announced he would use his “Power of Ignorance” to help me write it. At the time, he worked as a dishwasher and had no experience in Software Industry. But by just asking me questions about my article, getting me to teach him the material, he helped me find a new way to explain it, and i quickly finished the piece.

As i have experienced, Ignorance can indeed be a power if used wisely. I have been in situations where my wife (not from Software industry) has helped me crack some tough situations just by asking simple questions that elude you if you think of yourself as more knowledgeable. Isn’t the true test for Software usability is giving a Software to a person who is ignorant of its benefits and checking how fast could he get used to the product and understand its functionalities ?
Testers often also face Tester's block i.e. having worked on one module for a long time they do tend to not ask obvious questions which a fresh person ignorant of module may ask. While preparing for a speech, I always tend to imagine delivering it to most ignorant and more knowledgeable person in the audience. That helps strike a rare balance.
As above examples prove, Ignorance can be bliss.

Handling criticism positively:
There's an Excerpt from the book-
Taking criticism well makes me feel tough. If being a buccaneer means anything, it ought to mean that i can look at scary truth in a face and smile. While I’m listening to someone tell me I ‘m not good enough, remind myself that this process is the way i achieve deep self respect. From that point of view, criticism is a gift. There is a childish part of me that feels wounded by any kind of criticism. But I learned a little trick from one of my mentors, Jerry Weinberg, about how to deal with it. I notice the feeling and say to myself, “Oh, that’s the childish part of me, again, doing what it likes to do. Funny little critter. It will settles down again, soon.”

If you are working with humans, be assured that one of the by-products is criticism. There is no escaping criticism for anyone. I used to often feel in my early days as a professional that some people have the habit of getting on your nerves and criticize you. But over a period of time, have realized how valuable the criticism can be, if you learn to handle it such that it works for you. As Robin Sharma says in one of his books- “Love your Irritations” i.e. Get into habit of loving anything or any person that irritates you, He or that situation is certainly your best teacher.
I have tried James’ way of handling criticism and (though he doesn’t need my acceptance to prove it) it certainly works! The earlier one learns to handle criticism, the better it is.

Expect to learn from Unexpected:
One of the things that i liked from the book and could relate to well was the “Principle of Peripheral Wisdom”. It says that- “most of what we learn is a side effect of something else we are trying to do.”
The learnings mentioned in this post are as a result of Peripheral wisdom i picked up after reading his book.

Helping Competitors succeed:
There's an Excerpt from the book-
I understood how to handle people who were smarter than me: respect them for what they are; help them get what they need. By doing that, I become a part of their story.
Instead of competing with them, I could join them, or learn from them. But even if I competed, my competition could have a new purpose: to enrich my opponent, not just myself. I could treat competition as a special kind of collaboration.


To me this is unconventional thinking at its best. To me this kind of thinking serves best if you are working in a team or working to lead a team. Conventional thinking says that being a leader you should be the one having the maximum knowledge on the area of work. But with the kind of era we live in, where once has access to more information than is ever needed, there are very high chances that you are leading someone who is more smart than you. Infact most of the progressive companies encourages Managers to hire someone who is more smarter than themselves. At core, this is something that can help a company leap and grow many-fold. The very fact that one acknowledges that the other person is more smart, knowledgeable that you are makes the work culture egoless and hence more productive.

Wandering of mind is not bad after all:
This is one of the eye-opening lessons for me from this book. I wrote about this in one of my earlier posts . From my earlier conditioning and experiences, i always perceived Procrastination as a negative trait till i read this book. Procrastination as i now appreciate is a natural human trait and something everyone possesses. James talk about the way in which you can turn it to your advantage. Wandering of mind is usually considered bad in study circles where concentration is treated as something great. Allowing your mind to what it naturally wants to do i.e. wander for few minutes and come back to task at hand will only make you feel better. Infact, I have used "The Procrastinate and Push Heuristic" and also "Plunge in and Quit Heuristic" while creating this post.

Of course, there were many more learnings and a whole new way of looking at the Self Education that one could learn by going through the book but to me the above learnings stand-out.

Are you game for trying out something unconventional ?

Tuesday, August 24, 2010

Published: Why is Integrity foremost of Software Tester's skills ?

In the month of August 2010, Beyond Testing eMagazine was launched. This magazine is being hailed as India's first Software Testing magazine.

I too contributed to this magazine and my article- Why is Integrity foremost of Software Tester's skills ? got published here. It took a cue from one of my previous blog posts and came up with this piece.

Do go through this and let me know your comments.

As for the magazine, i must say its an honest attempt by the editorial board to launch this. I think the biggest challenge would be to sustain this for a longer time and also make the overall formatting and layout look even better and more professional that what it is currently. One (of many) good things that i found was that it was quite good content-wise and worth a read!

Wednesday, August 11, 2010

Lessons Learned from Leadership Summit

Last week, on 5th-Aug, i got an invitation to attend Silicon India's Leadership Summit at Bangalore. Overall,it was an amazing event. What else could it be when you have VPs and India Heads of companies like Microsoft, Dell, McAfee, Citrix, Intuit, NetApp, Mindtree, Yahoo, Tejas Networks in front of you for whole day educating you with Leadership as they percieve it, as they have experienced it first hand.
I feel blessed to be a part of this event and would like to share my learnings through this medium.

My learnings from this wonderful event are documented at this location .

Some of my favorite quotes from the Summit:


- If you have not failed, then you are not a leader.

- One of the key things for a leader is to build the consensus.

- Good leaders create vision by inclusion- including all the people involved.

- Best way to develop people is to challenge them.

- There can be 99 reasons why something could not be done. It takes positive thinking to find that 1 elusive reason on why that very thing should be done.

- If you don’t take risk, you are stagnant. And if you are stagnant, you are not going linear but falling back literally.

- A lot of times success and failures in career is because of what opportunity one picks up. Great leaders grab the opportunity when they find it.

- Be genuine and be visible- Don’t be arrogant or boastful but be visible and market yourself and your achievement in a right manner.

- Passion is absolute commitment to something you want to achieve.

- Leaders execute well.

- It is very important for the leaders to lead self before leading others.

- Expect and help your talented people to outgrow. The million dollar question is- Can you work for your subordinate in future ?

- Leaders look for opportunity when things are worse. Leaders need to demand results but also show empathy and look to achieve a bigger cause.


With due respect to all the speakers, i have included my honest comments in the document location above. If you find my dislike for a few sessions, please treat those as my views alone.

Do find time to go through the learnings! Awaiting your thoughts!

Sunday, July 18, 2010

Would you ever choose to use "Hand of God" at Work ?


The FIFA world cup frenzy is over. And we are all are now left with memories of the super moments that defined this World cup.
One such moment was during the Ghana vs Uruguay Quarter Final match on 2nd-July. The scene was set when both the teams were tied-up after the designated time. The match went into Extra-time and with just less than couple of minutes left in the Extra-time, the teams still tied at 1-1, Ghana spotted a golden opportunity. Ghana forward beating the defense and then the goalkeeper, who was lying on the ground as a mere spectator to the Kick that was meant to be landing at Uruguay's goal post but destiny had other plans. Just a few inches from the goal post stood Uruguan striker Luis Suarez, who deliberately put his hands to the ball, which otherwise would have landed in the goal post, giving Ghana the victory. The ball reflected and went away. The outcome of this act by Saurez was evident- a Red card and a penalty kick to Ghana. One of the most reliable strikers in Ghana took the penalty and as luck would have it, missed the shot. The rest, as they say, is history- Ghana losing the match on subsequent penalty shootout.
Image Source: http://i.dailymail.co.uk/i/pix/2010/07/03/article-1291679-0A4DF706000005DC-405_306x423.jpg

Luis Suarez later described his handball act as 2010 version of "Hand of God" drawing parallels with Diego Maradona's original Hand of God . Saurez obviously became a Hero for Uruguay as his act was instrumental in denying Ghana the semi-final spot, which would have made them the first South African country to achieve the honors. Saurez, more obviously was a villain for Ghana, denying them a slice of history.

I am not sure what went into Luis Suarez's mind but would like to make an attempt here. He simply had a split second to decide and act. For him, it was surely a big risk. Look at odds at stake for him-
- What if Ghana would have scored on the subsequent penalty ? Ghana would have won and he would have been villian for rest of the world including Uruguay. Uruguan's would not have appreciated his act had Ghana won.
- What if Ghana missed the subsequent penalty and win in the shootout ? I guess the outcome here would have been same as above. Saurez being a bad guy till the time he is on this planet.
- What if he tried stopping the ball but the ball goes inside his goal post touching his hand ? He would have been termed as a loser for whole life.
- Even if he were to save the ball, the odds of getting the Red card stared at him.Then too he was not sure that his country would win.

All these consequences stared at him but he chose to do what he thought was right for the moment and risking entire career and life ahead of him. But the million dollar question is-

Did Saurez do the right thing in overall scheme of things?

Lets look at why is it that Saurez's act was all fine-
FIFA World cup is a high intensity, high profile tournament. As an estimate, the Finals were watched by close to 750 million people across the globe. Not even the commoners, but the higher up government official including head of states of different countries follow game like ardent fans. The French President Nicolas Sarkozy got so taken aback by his team’s show that he termed his team’s loss in early round as an National issue and has even summoned a probe to discuss his team’s debacle.

With so much at stake, the term “Winning” takes altogether a new dimension. When each win is influential enough to lift the mood of entire nation and each loss is treated as bad as losing a war, “Win at any cost” seems to be the motto of many teams. Considering this, what Saurez did was just right because, the goal at just 2 minutes from the finish time would have virtually eliminated his team but his “Hand of God” act would atleast give his team an outside chance to reach the coveted semifinal position. Afterall, he was letting his country gain at the cost of him being called a scapegoat.

Didnt Holland try every trick in the bag during the final that earned them two figure Yellow cards ? Didnt they consider country above anything else ?
What Saurez did can be described as a selfless act. He didn’t care about his reputation, put country before self. He thought of a bigger cause- his country. His act was patriotic.

He may be treated as a patriot. His act was selfless, without caring about himself, he thought of a bigger cause- his country.
His act can be more thought of as an instinctive, split second reaction and he did what he thought was best for the moment and his country did eventually gain.

One more thing is that he did not escape the punishment nor did he try to question that. He got the red card, one match suspension. And as per rules, Ghana was offered a Penalty which they eventually missed. What was Saurez’s fault if Ghana did not make use of given opportunity ?

Now, Some insights into why his act was a bad act ?
“Hand of God” of Maradona and “Hand of God” of Saurez were quite different. Infact, Maradona’s act was more of a disguise when referee didnt spot that ball hit Maradona’s fist and landed into goal. Saurez's was an open violation of football laws. There was certain mystery surrounding Maradona’s act but in essence “Hand of God” is unethical. Just because no one saw, doesnt mean your act was all fine. Infact, at the surface it was a cheating act which the guy who did knew but no one else in the world had an inkling about. But just by labeling it as “Hand of God” turned it into more dignified act, and got the respect which it didn’t deserve. Saurez just tried to leverage the aura around “Hand of God” to find excuse and get respect for his terrible show of hand.

One more thing is that Red card is no doubt a blot on any footballer’s resume. The worst punishment that can be offered to a footballer. There is nothing actually to be celebrated for a red card. Even thought his country reached semis on this act, they eventually lost. In proves that Sports is actually a great leveler.

People from Uruguay may term Saurez’s act as patriotic but can he be called as “Role model” outside his country ? It is highly doubtful. It is infact every sportsperson dream to be a source of inspiration for the younger ones. Saurez, unfortunately has lost this opportunity by choosing to do something unsportsmanlike.

If such an act can be termed as good, should this be included as a part of football coaching instructions ? Should more teams be using hands more often in “foot”ball. Can anyone who uses hand in football use the term “Hand of God” to make his act more dignified ?
Does it not have parallels with Trevor Chappel’s underarm incident in Cricket ? Trevor exploited the loopholes in rule and Australia won but he lost the credibility. The Cricket rules were later changed to disallow underarm bowling.

"Hand of God" at work. Are you for it ?:
The term “Hand of God” can be treated as a metaphor for an act that helps a bigger cause i.e. helps achieve success in a meaningful venture but by using seemingly less fair means and eventually controversial means. We live in a fiercely competitive era. Organizations need a unwavering focus in sustain profits in today’s era. Ever increasing profit lines seems to be the mantra of organizations. After all the respect comes only after organizations has been successful. In such an environment, if an employees are often faced with situations when they have to choose between what is right as against something that not all that wrong but will fetch organizations much needed profits. But the bigger question is- Is it ok to make profits by compromising Integrity ? Did Saurez’s act compromise his Integrity ?

In his book, The Professional Subroto Bagchi talks about what Integrity means in the professional context-
- We follow the rules.
- Where rules do not exist, we use fair judgment.
- When in doubt, we do not go ahead and do what suits us; we seek counsel.
- Finally, faced with a dilemma, we as ourselves:
Can my act stand public scrutiny without causing embarrassment to me and my family ?

Often, the situations we are faced with are not very straight-forward. There is always a very thin line between an Ethical and Unethical behavior. But when the stakes are high, your integrity is put to real test. The best definition of Ethical behavior that i know of is- "Doing the right thing when no one's watching you ?"

For example, if you are a person who is involved in testing a product and know of a big loop hole that might impact the customer in a long run but the defect is such that it is not visible on the surface and would not impact the Acceptance test. I have talked about one such case in my earlier posts here . Would you go ahead and raise your voice and present all the possible facts ? or Would you remain silent and let the product go as no one is going to be finding about your defect anyway anytime sooner.i.e. Would you use your “Hand of God” and keep quiet and thereby helping the organization “succeed” in a short term atleast.

Such situations are tough, but i think standing by truth and being ethical is not the easiest thing to do. If it really were, the world would not have witnessed the Satyam saga and it would still have been one of most respected organizations. But the reality is not always sunny and rosy.

Are you for using “Hand of God” at work ?

Tuesday, July 13, 2010

Wanted Software Testing Evangelists- Are you game ?

I was recently reading one of blog post of Parimala Shankaraiah . Sharing some thoughts regarding one of the points she raised-

I interviewed one person on telephone recently where I asked him to test a marker he claimed to have in his hand. He was shocked, “What? Test a marker?” He intended to say “Do you mean I’ll be testing markers in your organization?”

In my opinion, this reflects a larger problem we are faced with. Something that backtracks to the level of Software testing education in colleges. None of the colleges that i have visited seems to have deep or should i say any insights in Software testing as a profession. There is a disappointing narrow-mindedness that i have seen. The college staff who supervise the projects, do not encourage the students to take the testing projects. This happened in one of the colleges that i recently visited and also have observed this in past many times.
The reason i am mentioning my experience here is that even before the future Software engineers join the Industry the seeds of Job profiling or creating distinction are sown in their minds. And as a natural progression, it gets carried forward when these people join the Industry. Even though, such people will join Software testing as a field but will think "Automation" as a superior job than testing using mind. The basic premise that "If you are not coding, you are not being productive" is actually ingrained in the minds while they are still studying.

Gartner report of 2008 suggested Software Testing as a 14 billion dollar industry, which is only going to be moving in upward direction considering the advent of recent technologies including Cloud, Virtualization, mobile devices etc. coming up in a big way. What bigger proof do the institutions need about the viability and future of this profession. Have tried spreading the message of Software testing as a viable career choice with some success in colleges that I visited but I think the problem to solve here is changing the mind-set of people which is not possible entirely in one meaningful presentation.

We probably need more Software Testing Evangelists so that we get more new talent who join the profession by "choice" rather than by "chance".

Do share across your thoughts on how to solve this in a longer run.

Update on 14th-July-2010

If you were like me, you would too have this question that i asked my friend some time back. How do one become an Evangelist ?

I find the below exceprt from The Greatness Guide: Powerful Secrets for Getting to World Class by Rohin Sharma quite close to answering this question-

Being an "evangelist" has negative connotations in the world we reside in. But an evangelist, by definition, is simply someone who spreads good news. Its someone who get stuck on a big idea or a passionate cause and then walks out into his day and spreads the message like a virus. Its someone who gets so engaged in doing something important that its all he thinks about, dreams about, talks about. Its a human being who understands- at a cellular level- what Dr.Martin Luther King Jr. meant when he said:
"If you have not discovered something you are willing to die for, then you are not fit to live."


So, now what do you think about becoming Software Testing Evangelist ?

Monday, July 5, 2010

Presented at SoftTec 2010 Testing conference

I got to present at the SoftTec 2010 Testing conference this weekend (on 3rd-July-2010). The conference details are available here .

It was after quite a while that i presented on a public forum and realized that i should be doing it more often.
This conference was different from the other Software Testing conferences (QAI, STeP-In Forum) that i attended in the past. Some of the key things were-
- Test Professional track and Test Leadership tracks were different and the presentations ran parallely.
- The conference was attended by around 700 Software Testing professionals right from Interns to CEOs, the audience consisted of one and all. Infact, this is the largest gathering of Software Test Enthusiasts that i have seen so far.

Coming to the topic i presented, it had to be something i eat, sleep and live (as i had only 2 days to prepare) and it was- Globalization Testing- Getting your Software World Ready .
I have posted the presentation here

I think I was able to complete the presentation just-in-time in the allocated time and credit to audience for creating meaningful conversations by asking some challenging questions.

Some Questions that got asked in Q/A session:
- How many languages have you been involved in testing as a part of Globalization testing ?
- I have heard that Sanskrit is the best language for Software Globalization. Are you aware of any Indian organization who are involved in researching about Sanskrit Localization ?
- What considerations we need to be putting towards Database side when we are talking about multilingual applications ?
- I am working to test application mostly in around 10 Indian languages. I am under pressure to devise Test strategy in such a way that i dont spend too much testing effort. How do i do it ?
- Can you tell something about Automation Strategy to be used for multilingual applications ?
- If i am involved in testing multiple languages, Do i test everything (as i do for Enhlish language) in all the languages ?
- If i am testing say login of the application say Japanese application, one Japanese character may occupy more space than English character- how do i plan for such a test ?
- I am involved in testing an application and sometimes i am required to copy labels so that i can check the meaning using some Online translator. Can this be done ?

I think this covers all the questions that i could recollect. I will be taking answers to some of these questions (some are already explictely covered in my previous posts) in the upcoming blog posts.

Overall, it was a hugely satisfying experience.

Update on 16th-Oct-2010:
TheSmartTechie magazine in their Aug 2010 edition ran an article on this conference. It had some comments for my presentation as well. Read below-






Sunday, June 27, 2010

Can procrastination be a positive trait? Does reading help shape one's mind?

I know the title of this post may seem disjointed but first things first, a story below-
Part 1 of the Story:
"Procrastination is a thief of time"- With this very quote Edward Young, i got introduced to the word Procrastination years back.
Then this quote prompted me to look at the dictionary for the very meaning of this word and it said "To put off doing something, especially out of habitual carelessness or laziness". I also inferred Procrastination on the same lines as Absent mindedness.
While doing my Handwriting Analysis basic course (this course taught me determining different personality traits using in isolation using handwriting), I learnt Procrastination to be associated with word "delay".
More recently, while reading one of the fine books i have read in recent times a calmer you , the author described Procrastination as tendency to keep putting things on the back-burner, till the time they snowball into a crazy overload.
Over the years, i attended various Self-development seminars and all of these made my belief about Procrastination being a negative trait more firm.

End of Part 1

Part 2 of the Story:
It was not until i read two of the books that i quite admire that i started to change my rather established perception about Procrastination. First of the two books is Eat that Frog . It introduced me to the term "Creative Procrastination" and that got me thinking "Wow, can we apply creativity to Procrastination". The principle of Creative procrastination is based on a simple fact that we all know but somehow don’t acknowledge as much. The fact is that one cannot do everything that one has to do. You have to procrastinate on something. Therefore, procrastinate on small tasks. To me, the beauty of this approach is the fact that it encourages us to acknowledge the fact that everyone procrastinates and its only very human to procrastinate. This very acknowledgement releases a lot of stress that we often associate with this word. And secondly, it satisfy this inherent urge to procrastinate it allows us to procrastinate more on posteriorities than priorities.

The concept of "Creative procrastination" sounded all fine and sensible to me as suggested by the book- "Eat that Frog". It was not until i read Secrets of a Buccaneer-Scholar: How Self-Education and the Pursuit of Passion Can Lead to a Lifetime of Success by James Bach , that i could visualize "Creative Procrastination" in action. In this book, the James shares a lots of self-education heuristics that has made him successful. Few such heuristics are- "The Procrastinate and Push Heuristic" and also "Plunge in and Quit Heuristic". James says-

Procrastination occurs when i am committed to a task, I have the opportunity to do it, and yet i do something else that seems less important. I often procrastinate when i need to study, learn, write or synthesize new ideas. I call that creative procrastination.

The Self Learning heuristics mentioned are much based on the idea of creative procrastination.
End of Part 2


My Learnings #1: Procrastination can be a positive trait
Quite obvious inference is that Procrastination is not a bad trait, after all. More important than that- Never be judgmental on Personality traits. One of the lessons that i learned from my advanced course in Handwriting Analysis is that it is not quite right to be judgmental about human personality traits. There is nothing called as a good trait or a bad trait. If you look around the workplace, one of the easiest thing is to be judgmental about the people around you. "That guy is just a Lazy fellow", "My boss doesn’t have listening ability", "He is very stubborn in his approach" and many other such statements or judgments, should i say do rounds in the workplace and more often these are based on first thought or first impression, which is often not so right.

Reading the above stories word Procrastination, would you dismiss it as a negative trait as i used to do ? I guess No. Most of the traits have meaning that are context based and judgments that we derive are without the knowledge of that context.

My Learnings #2: Reading does help shape one’s mind in a big way
One of the more profound learnings that i had in the journey from Part 1 of the story to Part 2 is about the power of reading. Most of our preferences and perceptions gets formed based on what we consume from our environment. Reading is one sure way to feed our brains. My perception about Procrastination as a negative trait got formed largely due to the reading and then the counter perception also got formed due to reading. As is evident in this case, reading resulted in collision of ideas in the brain and it eventually bombarded the incorrect perception and resulted in a more balanced view about procrastination. More i think about it, the more i realize that to be more the better ways to learn i.e. read about contrasting ideas, breed them and let them collide in mind and the end result will be you- a person with balanced opinions and better perspectives about the things around you.

Well, to admit writing this piece has in itself been an exercise in creative procrastination. I started writing a while back but kept holding back till i had all the ideas in place and the ideas were presented close to the way i wanted them to be in. As James Bach inferred- Creative mind knows no deadlines!

Do you still find the title of this post disjointed ? I think No, If you have read till here!

Tuesday, June 8, 2010

Uncovering myths about Globalization testing- Approach to generate Localized test data- II

This post is in continuation of one of my previous posts on the subject of Localized test data generation. To recap the suggested approach, here it is-
- Come up with the appropriate classes of the data as per the structure of the language.
- Once the classes are identified, enture to pick up test data in a way that each class has a representation in the text data.

In the previous post, i gave an example about classes specific to Spanish language. I though to extend this further to include other European languages German and French as below.

French Language Input characters classes:
Capitals:
À,Â,Ä,È,É,Ê,Ë,Î,Ï,Ô,Œ,Ù,Û,Ü,Ÿ (commas are only used as separators)

Lower case:
à,â,ä,è,é,ê,ë,î,ï,ô,œ,ù,û,ü,ÿ

Punctuation
Ç,ç,«,»,€

Special French representations:
HTML entity codes (HTML entity codes are the codes which allow browsers and screen readers to process data as the appropriate language) e.g. for the character á, the HTML entity code is á
HTML entity codes for French language are listed here .

English Lower case characters:
a-z

English Upper case characters:
A-Z

Numeric representations:
1,2,3,4....

Special characters (EN):
~`!@#$%^&*()_+-={}[]|\:;"'<,>.?/

Any Known problematic French characters (not included above):

Some Real French Test data:
The purpose of this class is to simulate some of the real time test data as might be used by customers for some fields. Microsoft Terminology Translations offer a good source to simulate real strings that are used in Microsoft Terminologies.

**********************************************************************************************************

German Language Input characters classes:
Capitals:
Ä,Ö,Ü,ß,€ (commas are only used as separators)

Lower case:
ä,ö,ü

Punctuation
«,»,‹,›,„‚“‘”’–,—

Special German representations:
HTML entity codes (HTML entity codes are the codes which allow browsers and screen readers to process data as the appropriate language) e.g. for the character á, the HTML entity code is á
HTML entity codes for German language are listed here .

English Lower case characters:
a-z

English Upper case characters:
A-Z

Numeric representations:
1,2,3,4....

Special characters (EN):
~`!@#$%^&*()_+-={}[]|\:;"'<,>.?/

Any Known problematic German characters (not included above):

Some Real German Test data:
The purpose of this class is to simulate some of the real time test data as might be used by customers for some fields. Microsoft Terminology Translations offer a good source to simulate real strings that are used in Microsoft Terminologies.

Watch out this space further for Test data classes for Japanese, Chinese, Korean and other complex languages.

Published- An article in Testing Experience Magazine

Sunday, May 23, 2010

How did you respond to other's work today ?

Scenario# 1:
A test engineer working to test an application seemingly works hard to find an all important bug that is potentially a show stopper. He later takes care of all the possible details to log the defect. This defect goes into the series of confrontations with the Development team and after much of back and forth, the development team agrees to fix the defect. This makes the test engineer happy but he does not get to hear any words about his effort from his superior or for that matter none of his colleagues respond back on good skills that he displayed.

Sounds a familiar situation! It might be. I think most of us have gone through such an event or may be would have gone through it so many times that we have stopped caring that someone would respond.

Scenario# 2:
Reciting the above story again and this time say the end response is changed. The superior of the test engineer looses his temper on him when the confrontation with the Development team was happening without understanding the bigger picture of what he was trying to achieve. This definitely is an unreasonable response but not a unique one. Most of the people face the situation when they get reprimanded prematurely. I have faced it . You must have faced it too.

The question here is not how often you have faced outcomes in Scenario# 1 and 2 in your work life or how you responded when faced with this situation. But i think the bigger question seemingly is what are the prime factors that lead to such situations ? The prime factors not pertaining to the individual at the receiving end but largely why such situations arise.

Primarily, Why does an individual seek a response to any work done by him or her ?
Note that i have chosen the word "response" instead of "feedback" here. The prime reason for that is because the feedback can be positive or negative but the response to a particular situation may vary depending upon the context.

Any individual may seek a response to his or her work for myraid of reasons. One of the greatest reasons is Self esteem needs. If an individual feels he has done a good work,depending upon a kind of person he/she is- may seek approval from others to feel good himself. Self esteem needs are the most basic of the human needs and if it is not met, the individual will tend to be discouraged in a longer run. Every employee in true sense seeks that "feel good" factor from the job he is doing. It is one of the intangible benefits that an organization can provide in addition to all the incentives etc.
Other reason can be seeking the ways to improve his or her efforts. By giving right response, an Individual can enhance the work performance manifold.
One way a response to work can help is showing what is the "right" way to do a task in a given context.

Does the response needs to be given only by his superior ?
The answer to this question may be tricky as it largely depends upon the Organization or team culture as setup by the Group head. Going by the traditional model, the feedback of a certain task is given by one's superior only. But the avenues of an employee to improve does not end at the Superior's feedback given the fact that Superior may be working under several external forces when undertaking a feedback session. The employees truly looking to improve upon their work skills do not solely rely on feedback from superior and seek the improvement ideas from all possible quarters in a professional manner. I strongly beleive that for a success of team, followership is more important than leadership. One of the key responsibilities of a follower is to seek feedback and also give feedback. The practice of giving feedback may vary depending upon the organizational culture. Please note that the word "Follower" is generally looked down upon by certain section of employees. In my world, a follower is the most important element of a team and plays a crucial role to make the leader, the team and the organization successful.

Ken Blanchard's "response model":
I think it is apt to discuss the "response model" suggested by Ken Blanchard in his book- the little book of coaching

There are 4 ways in which a coach can respond when the team member does some work-
1. No response:
It means no acknowledgement what-so-ever of the work done.
2. Negative response:
It means that the coach is always on the look out for a mistake and blasts off, if it happens (how-so-ever minor).
3. Redirection response:
It means that the coach helps the employee understand the correct way and helps redirect the energies of the employee towards the goals when a mistake or failure happens.
4. Positive response:
It means that the coach makes an efforts to find the positive things and bestows a genuine appreciation for the good job done.

The responses# 1 and 2 above are quite common in today’s work place and infact these responses are easy in a way and for most people it do not require any effort at all. It is very easy for the Coaches to come up with these responses being in their comfort zones. In my experience, the no response is sometimes more dangerous than a negative response as it instills the doubt in an employee’s minds as to whether his work is worthwhile to the organization afterall.

Most coaches struggle to give responses# 3 and 4. Giving an heart-felt praise or an honest redirection requires guts and courage to leave that typical comfort zone- a skill that doesnt come naturally to many. But the fact of the matter is that a Redirection response or a Positive response goes a long way in ensuring that intent of response is internalized properly.

How often do you choose Redirection or Positive response in your coaching ?

Wednesday, May 12, 2010

Uncovering myths about Globalization testing- Approach to generate Localized test data

Myth 23: It is possibly the right strategy to randomly pick the test data specific to the localized language you are testing

While performing Internationalization testing, a tester largely deals with testing the product on the languages not known to him. Imagine a tester from India testing a product on Spanish Operating system. While it is largely possible to do the Internationalization testing without knowing the language
but there are certain traps related to this ignorance of the underlying language that a tester should be aware of. One of such trap is usage of test data.

Very often the lack of knowledge of language prompts the tester to just use a "few" input characters of the language under test while ignoring the rest. This is obviously a dangerous situation as it leads to some holes in the test coverage. The below example illustrates what i was mentioning here-

E.g. considering that a tester is testing Spanish langage, he is most likely to include Spanish specific input characters such as- á,é,í,ó,ú,ñ,ü and may be more investigative ones will use there above list in CAPS, or in combination with English characters, numbers etc. But the basic question that most of testers resist to ask is whether my test data is covering all the possible Input characters for the language under test ?
May be one reason this question is not asked is because of lack of complete knowledge of the language under test. Some may argue the validity of this question with an argument- Is it really necessary to test all the possible Input characters that a langauge offers ? This is a fair questionconsidering say while testing English language- if a tester uses "a" as a test data or if he uses "z" as a test data, wouldnt the result be the same all the time ?
May be Yes.
But when we are considering the test data generation of Localized characters, there are some more crucial points to be considered. This is what i intend to cover in the upcoming sections with a idea on how the test data of "foreign" languages can be better classified and used while testing.


How do i know which Input characters should be tested for a particular language ?
I have generally found this website quite good and informative. This has separate web pages for different languages and the tester can easily see which Input characters define each language. More on this in upcoming examples.

Is there a reasonable way to ensure that the localized test data gets appropriately covered ?
This website would not only allow you to know the characters used in a particular language but also the appropriate ways of classifying the same.

In my experience, dividing the Input characters of a particular language in to appropriate classes is always a better approach. Let me try and explain using an example.

Consider Spanish language for example-

Webpage listing all the chatacter inputs:
http://tlt.its.psu.edu/suggestions/international/bylanguage/spanish.htm

E.g. the below section represent Input character classes for Spanish language characters in a boarder sense. And while coming up with the test data for a particular field say- Password, depending on the rules and the length accepted one or more characters from each of these classes can be used as a test data.

Spanish Language Input characters classes:
Capitals:
Á, É, Í, Ó,Ú,Ñ,Ü (commas are only used as separators)

Lower case:
á,é,í,ó,ú,ñ,ü

Punctuation
¿,¡,º,ª,«,»,€:

Special Spanish representations:
HTML entity codes (HTML entity codes are the codes which allow browsers and screen readers to process data as the appropriate language) e.g. for the character á, the HTML entity code is á
The reason to include these codes as a separate class is because if these codes are used separately as the Test data in an input fields, the application might interpret this as a single letter. This possiblity is espacially true for web based applications.

English Lower case characters:
a-z

English Upper case characters:
A-Z

Numeric representations:
1,2,3,4....

Special characters (EN):
~`!@#$%^&*()_+-={}[]|\:;"'<,>.?/

Any Known problematic Spanish characters (not included above):

The reason to include English Input characters in Spanish test data is that users generally use English along side with Spanish characters with some commonality being there in characters usage.
Further in our example- say is password is accepted to be 20 or less character length, some of the test data can be (notice that test data has one or more characters from each identified class).

Less than 20 characters
Áñº«gz24@

=20 characters
Üó€»sH224&ÜÍ¿¡

Greater than 20 characters
Ó᪫»tyKL7845`!@º

Far Greater than 20 characters
(If there are no limits on the UI)

0 characters
(blank)

Important point to note that each test data above includes atleast one character from the Input data classes identified for Spanish language above. That is the key as this approach helps ensure that all the classes of data is utilized appropriately and no Input character is actually left to chance.

Some questions related to this that i would be working to address in upcoming posts-
- The strategy to divide the Input characters into classes seems good for the languages which has limited set of characters like European lanaguages. Can this approach be used for Asian languages like which Japanese, Chinese, Korean etc. which deals with multiple writing scripts as well as thousands of characters ?
- In larger context, what could be the test straregy totest Unicode feature ? Unicode being one of the key Globalization features that is built in the product and should be tested comprehensively from the point of view of Globalization testing.

For a complete list of Globalization testing myths uncovered in the past, please visit here .

Thursday, May 6, 2010

Did you eat that frog today ?

Recently during a workshop on Exploratory testing Pradeep gave an exercise to the participants to test an application. After around 15 minutes of testing, different participants came up with different types and numbers of defects. The question that got asked next was obvious- Why do different testers find different types, numbers of bugs given the same amount of time ?
Interesting question, isn’t it ? What got demonstrated in 15 minutes is the story of every organization involving testing teams i.e. some testers find important bugs faster than the others. There can be several reasons one can think of for such a phenomenon but i feel at the core it has something to do with the ability of a tester to prioritize and execute the most relevant and important test at a given time. The skill of a tester including the testing skills, technical skills, product knowledge, soft skills etc. all help the testers to build this all important ability.
Generally, in work life this concept is of utmost importance i.e. one's ability to select the most important task at each moment and then executing it to perfection will have the greatest impact on one's ability to deliver on results. And thinking on an even larger frame, this ability is the basis of managing time better.
So, what stops a person from selecting and executing a person from doing the most important task for a moment. Again, a common thought process can lead to many responses but largely it has something to do with inherent habit of human beings to procrastinate or delay the uncomfortable tasks, how-so-ever important they may be to any given context.
Consider some situations-
- A person who is more of an introvert will often delay going to a large gatherings, even though it may be important and required.
- Coming into office, one might often delay doing the tasks involving confrontations.
- While testing some application, general tendency is to delay working of the areas where one has less knowledge.
- If one has to choose between two tasks of more or less equal importance, the general tendency is it choose one that sounds easy.
There can be many such examples in our day-to-day life where we procrastinate. I once read somewhere that Procrastination is a Thief of time. Quite true it is!

I recently completed reading a book called - Eat that Frog by Brian Tracy. To be honest, i picked it up from a book store because i just needed something to read but when i reached the end, i found it to be one of the more profound practical book on the subject of Time Management. So, this blog is dedicated to my learnings from this book.

Does this title of this blog sounds strange ?
It might and if someone thinks about it literally, it might sound disgusting also. This is based on what Mark Twain once said- "If the first thing you do each morning is to eat a live frog, you can go through the day with satisfaction of knowing that that is probably the worst thing that is going to happen to you all day long." So "Frog" here is a metaphor for the task you find ugly but it needs to be done.
The idea of managing time in a better way is to create time for yourself in a day so that one can get more done in less time. We often hear proponents of Time management say that we all have 24 hours, yet some get more work done and some get lesser done. This illustration is quite true, without doubt.

Rules in Frog eating:
Now that we know what a frog means, Yes, it is that ugly task that you hate to do i.e. given a choice in normal situations, you will never choose to do it. But at the same time, it will be most critical to your success in a given endeavor.

The first rule in Frog eating states something like-
If you have to eat two frogs, eat the ugly one first.

In other words, if you have two important and not-so-pleasant tasks to do, always choose the unpleasant of the two first. I think we as a human beings forms certain preferences as we move ahead in the life and these preferences always act as the filters to our thoughts. E.g. if a person has to eat 2 medicines to treat an ailment, one tastes sour and the other sweet, if a person has a preference for sweet he will tend to stay away from the sour medicine as much as possible. But the fact of the matter is that to treat an ailment, he might be required to eat both in right proportions.
Another situation- a creative person working to test an application, will invariably prefer to do an Exploratory test rather than a time consuming and repetitive task of verifying a single functionality for a long time. Suppose, the same tester is in a situation when the development team needs an urgent information on a bug, which requires him to run a same test 100 times to gather necessary data, what will this person do ? That’s the essence of the first rule of frog eating. Do the difficult task first, it will set the tone for the rest of the day.
The outcome of each day is based on the choices we make. Suppose if a person chooses to do easy tasks in his most productive hours of the day, it will mean that he has left the monstrous tasks towards the time when his mind is wavering, one can imagine what the outcome will be.

The second rule in frog eating is-
If you have to eat a live frog at all, it doesn’t pay to sit and look at it for very long.

Generally the way people show the dislike towards a certain task is by keeping it their list and dont do anything on it. Follow-up on tasks is a very common phenomenon at the work place. And the situation of following-up arises when one delays the task. The irony in this situation is that even after the delay, you tend to do the task because it was required. Knowing this, the better sense would demand - why delay in the first place!
Keeping an unpleasant task till the end of the day or even beyond makes one feel stressed and it is one of the reasons of people suffering from low self esteem, which then affects many other aspects of work and life in general.

So what are your waiting for ? Pick up yourself and do that unpleasent task thats sitting on your mind and blocking you from thinking clearly. There is nothing as exhasuting as an unpleasant, uncompleted task.
Try starting your day by going through this short video and acting upon what is being said.

Will be sharing more learnings in upcoming posts. Do share your thoughts around this ?

Monday, April 19, 2010

Is the concept of Innovation culture dependent ?

The thoughts presented in this blog are as a result of an interesting question by one of the readers- Vittal, in my earlier post- Key Lessons from the life and times of Steve Jobs
Thanks for sharing your learning. The ideas are thought provoking.
I am not challenging the purity and the effectiveness of the ideas, but would definitely like to know, how they can be applied and be effective in our work models and culture.
Its different worlds when we look at western corporate and eastern corporate culture.
Do share your thoughts.

Certainly some interesting thoughts above and in this post i would like to share some of my thoughts around this topic. In all honesty, i understand that the complete answer to the question as vital as the title of this post cannot be answered in a source as abstract as one blog post.

First question that comes to my mind is, Are the cultures really different fundamentally ?

There is something i learned earlier on, it is that when we talk about cultures, there is nothing right or wrong. Each culture is right in its own way and has to be accepted for what it is. This understanding came from one of my earlier managers and over the years i have begin to realize that this is quite right. It also indicates that cultures are fundamentally different and that difference can vary from many unique factors such as one's religion, Geography, upbringing etc. I have not seen the concept of culture being so simplisticallly described as done by Yang Liu . Consider some of the below pictures designed by Yang Liu-

In the images below-
Blue= Western culture
Red= Eastern culture
The Boss



Anger



Punctuality



Me



See more of these here
So, cultures are different. No doubt about that and these differences at the grass roots level do influence our thinking to a larger extent. Our cultural background has a lot of relevance in explaining what we do, how we take decisions and what thinking patterns do we apply to solve problems.
Having said the above, in my experience one of the things that i have observed is that we cannot generalize any culture e.g. if as indicated in above example- for eastern cultures the boss is treated above all the employees, it does not necessarily mean that all the bosses in eastern culture consider themselves superior to the rest. There will always be exceptions which defies the norm.

Is Western thinking really different from Eastern thinking ?
When we talk about the subject of thinking, any mention would be incomplete without the mention of work done by Edward de Bono . In his book- Six Thinking hats , de Bono provides a very interesting perspective on these Western and Japanese cultures.

Argument or No Argument:
Western thinking is more driven by argument. Japanese thinking does not value argument much. An attacking conversation by means of argument is considered impolite and harsh.

Conduct of meetings:
A Western type of meeting is usually the one which is more based on discussions and arguments. The meeting participants gives their ideas/thoughts and these are discussed, criticized and reasoned upon. And the idea thats usually "wins" is the one that stands all the criticism and questions.
A Japanese meeting usually has many people actually listening. Active Listening is a key virtue. Once after listening, they gather all the inputs and present their thoughts in a neutral manner, rather than pinpointing or criticizing anyone's ideas.No one tends to hammer the ideas by criticizing. So, the personal attack is not considered good.

The role of ego:
Western thinking is usually considered as more ego based with argument occupying the central space. Japanese culture is not ego based.

The process of ideation:
In his book- a fine line , Hartmut Esslinger talks about Japanese notion of ideation. It says that Japanese don't believe that they "have" ideas but ideas actually "come to them". Such selfless approach towards ideas certainly makes the whole ideation process ego-free with no one involved in the process having to worry about who owns the idea.

The handling of mistakes:
In the same book, Hartmut Esslinger also talks about the Japanese notion of handling mistakes. True to Japanese culture, the notion is that- "people don't make mistakes" but "mistakes are something that develop over time". This very notion really takes away all the focus from personal blame games. This may be exactly or somewhat opposite to Western culture.

Perfectionism:
I would like to narrate a story here, adapted from this source. Here it goes-

The Japanese have a great liking for fresh fish. But the waters close to Japan have not held many fish for decades. So, to feed the Japanese population, fishing boats got bigger and went farther than ever. The farther the fishermen went, the longer it took to bring back the fish. The longer it took them to bring back the fish, the staler they grew. The fish were not fresh and the Japanese did not like the taste. To solve this problem, fishing companies installed freezers on their boats. They would catch the fish and freeze them at sea. Freezers allowed the boats to go farther and stay longer. However, the Japanese could taste the difference between fresh and frozen fish. And they did not like the taste of frozen fish. The frozen fish brought a lower price. So, fishing companies installed fish tanks. They would catch the fish and stuff them in the tanks, fin to fin. After a little hashing around, the fish stopped moving. They were tired and dull, but alive.
Unfortunately, the Japanese could still taste the difference. Because the fish did not move for days, they lost their fresh-fish taste. The Japanese preferred the lively taste of fresh fish, not sluggish fish. The fishing industry faced an impending crisis! But today, it has got over that crisis and has emerged as one of the most important trades in that country! How did Japanese fishing companies solve this problem? How do they get fresh-tasting fish to Japan?
To keep the fish tasting fresh, the Japanese fishing companies still put the fish in the tanks. But now they add a small shark to each tank. The shark eats a few fish, but most of the fish arrive in a very lively state. The fish are challenged and hence are constantly on the move. And they survive and arrive in a healthy state! They command a higher price and are most sought-after. The challenge they face keeps them fresh!
Humans are no different. L. Ron Hubbard observed in the early 1950’s: “Man thrives, oddly enough, only in the presence of a challenging environment.” George Bernard Shaw said: “Satisfaction is death!”
If you are steadily conquering challenges, you are happy. Your challenges keep you energized. You are excited to try new solutions. You have fun. You are alive! Instead of avoiding challenges, jump into them. Do not postpone a task, simply because its challenging. Catch these challenges by their horns and vanquish them. Enjoy the game. If your challenges are too large or too numerous, do not give up. Giving up makes you tired. Instead, reorganize. Find more determination, more knowledge, more help. Don’t create success and revel in it in a state of inertia. You have the resources, skills and abilities to make a difference.

Moral of the story: Put a shark in your tank and see how far you can really go!


There are some real life learnings from this story as this article talks about. But it also reflects one very unique aspect of Japanese culture which is that Japanese tend to imbibe perfectionism in everything they do. In the case of this story, its the taste of fish and there can be numerous instances in day-to-day, work life of such perfectionism. That is one trait that has really helped Japan during its formative years. Possibly no other culture comes closer in this aspect.

Repeating myself here again by saying that though the above may give a very high level distinctions between the cultures but it may be naive to consider the people in a certain culture behave the same way. So there will be exceptions and many at that.

What's Innovation got to do with culture ?
In think our cultural orientation definitely has a great impact on our basic thinking patterns as the numerous of the above examples state. I feel that Eastern cultures are more bent towards cumulative form of Innovativeness in which the ideas get matured going through the various stages and then eventually we have a big solution. And may be the breakthrough Innovation is more associated with Western culture. One example that i can think of is the advent of break-through products like Windows Operating systems, Office Applications, Apple Macs- all big inventions of our times happened in Western culture. They are no less than the breakthrough innovation but on the Eastern parts we had successful business models built up on the Computer services side (Infosys, Wipro, TCS etc.), and largely thinking, these business models had in its foundation, the success of core computing driven by the Western organizations. I think both these forms certainly compliment each other and it would not be right to treat one greater than the other.
Another culture aspect is that True Innovation has its basis in more free form of thinking and it generally does not breed in an hierarchical form of organization in which each idea would need to go through certain approval and each failure would be blamed.
From my personal observation, some organizations take Innovation as another “task” given that this is something that is “needed” for survival. And in doing so the very essence of Innovation is lost. As an example, I have seen many organizations reward the employees on getting through with Patents. And with a good monetary reward system in place, the talented engineers are definitely encouraged to get the patents and they get successful too. But i guess, this definition of success turns out to be a bit loose in overall scheme of things, for example when we glance at the data on how many patents filed actually get into the products or even turn to blockbuster product ideas. Though I don’t have a real time data but just common sense analysis of comparing number of patents granted to organization as against number of products it has in its rank, the whole story becomes clear.

Have you observed this trend ? Does it have any cultural basis ?

Do share your thoughts.