"Some birds aren't meant to be caged, their feathers are just too bright"- Morgan Freeman, Shawshank Redemption. This blog is from one such bird who couldn't be caged by organizations who mandate scripted software testing. Pradeep Soundararajan welcomes you to this blog and wishes you a good time here and even otherwise.

Wednesday, November 03, 2010

Software testing black swan bites cause pain

This post is about an experience I had recently. An experience that proves to me that there are more hard working people than me and I shouldn't feel too proud of what I have achieved so far. 


I was at a conference recently. I was at several conferences, so don't get confused with what is shown in my Events page. This conference was not listed and doesn't have a conference page either. It happened in Bangalore on 2nd Nov, 2010, right after my return from Google Test Automation Conference - Hyderabad, India.


Due to my popularity, I was hoping people would come, recognize me and talk to me about their testing problems. It just didn't happen. Some other person was getting all attention and there were people surrounding him and asking questions. There were so many people around him that I couldn't get a chance to see the man who was getting all this attention. I was wondering who is this guy getting an edge over me in India?


I then thought it must be someone who traveled to India from a western country. Only then people forget their local guy. Nothing new to me. I was just waiting for my chance to shake hands with that guy and talk to him about testing. Well, I just wanted to know what makes him so special that he is getting all attention in India. 


Check at my stats, I am supposed to be the popular guy out here. If you are seeing the popularity hungry Pradeep now, I must say; I too saw him.  The difference between us is, you might feel ashamed of having known Pradeep and I don't.


An hour passed by and still I could not get to meet that guy. I saw a tester coming out and asked her, 
"What's about the guy in center?" 
"Oh, you don't know him? He is an expert in test estimation"
"Everybody in here is an expert, din't you know that? So which country is he from?" 
"India" she said. 


What? an Indian? and I don't know him yet? I know everybody who blogs from India. At least, everybody who blogs from India knows me. How come I don't know about this guy who seems to be more popular than me? Maybe he doesn't blog but even then I should have known him.


All this was driving me crazy. Added to that were some of the talks I wanted to attend and it had started. I just pushed myself into one of the track hoping I could catch hold of that guy at one of the lunch tables. I have never waited for lunch so much, not even when I was very hungry. I wanted to meet this guy. He was a challenge I wanted to face.


At lunch, same bloody thing that happened in the morning repeated. People surrounded by him and I just cant get to meet him. My ego hurts me a lot if I have to go introduce myself to him amidst other testers who might think that I am not as popular as they thought. So, I picked up a plate and tried to eat alone. Fortunately, some testers who couldn't get to talk to him saw me and approached to have a conversation. My mind was somewhere else. I guess I don't know if I did answer the questions those testers asked me. Maybe they would have stopped reading my blog as I don't know how crazy my answers were. I just wanted to meet that guy.


Finally the moment arrived. The only way I could corner him was in the washroom. I was waiting for him there adjusting my shirt and trousers making it look to other people as though I care too much about my how neatly my shirt is tucked in. There he came. I didn't mind if his hands were wet but just put my hands forward and said, "Hi, I am Pradeep Soundararajan". He shook hands with confidence and said, "Oh, I know you. I read your blog and follow your work closely". 


At one end, I felt happy that the man who was sought much more than me follows my work but it was still aching as to how this guy managed to be the center of attraction amidst my presence. I took courage and asked him, "How come I don't know you. What's so special about you that these people are flogging you?"


"I have learned to help people estimate their work in a way that makes them feel successful following my advice" he said that with a soft and gentle tone. I put a step towards the door closeby and turned to him and said, "Why don't we discuss this off the washroom?"


My intention was to steal the idea. After several years of hard work, I can't allow someone to steal away the limelight I have been enjoying. When I say I wanted to steal, I mean, I wanted to know what his education was. How different was it from mine? 


We sat on a couch and I asked a question that was designed for deception or to learn about what he has learned


"So, what's your source of learning?"
He had a smile on his face before he said, "I read Bach, Bolton, Kaner, Jerry and you"
"Sounds interesting. I do the same too but how come you seem to be doing better than me?"
"I don't know"
I was pissed off but couldn't let it out because I still hadn't got the secret out of him. 
"So, you are suggesting that you learn something more from them than me?"
"No, I haven't met them Pradeep and they don't know about me"
"Pretty sure because if they did know, they would have let me know about you"
"Yeah"
"So, let me stop beating around the bush. How do you help people with their estimation problems?"
"I do it ............................................................................... this way"
"Wow. That's cool"
"Where did you learn that?"
"You are so humble Pradeep. You have read it, too. I picked up ideas from Michael Bolton's Test Estimation & Black Swan series of posts, experimented with them, made my own notes, refined them for a while to arrive at this point" and then he walked away saying he had to deliver a talk and it was getting late.


If you had been to the conference, you would have seen me crying on the couch post that meeting. I wasn't crying because someone gained an edge over me but was crying that I learnt the cost of not reading those lengthy posts just because it was lengthy. 


I finished crying and went around looking for that person to thank him for the lesson he offered. He had already left. The series of posts from Michael Bolton on Test Estimation & Black Swans had been lying there on his blog and I just kept feeling lazy to not read those lengthy posts. I am probably in the Twitter Era. I want people to say anything great or stupid in 140 characters and I also hope they say that around my timeline. 


Walked around with disappointment. I decided to go out of the conference venue. I wanted to go home, have a drink and get a tight sleep to forget all this. I thought I was reading everything by Michael Bolton. When he posted about estimation, I thought I had already read enough of estimation from him and he was packaging the same stuff. Just then, the conference was getting over and the final lightening talk was mine. I was called to the stage. I went on the stage with tears still dropping at 1 drop every 10 seconds, forgot about my talk and asked the audience in a shrill voice, "Have you people read the series of post on Test Estimation & Black Swans from Michael Bolton?". 


The responses were, "Its lengthy", "We didn't find time to go through it", "I got a call in between and almost forgot to continue", "I was too busy with my project". Almost everyone were saying the same thing, "No, I didn't read it because it was lengthy". I laughed out loud and walked away as though I had seen myself in hundreds of mirrors placed in front of me. There are so many Pradeep's in our industry. Some Pradeep might not even have got this far on this post because he might have thought, "Oh, this is lengthy". 


If you don't look like Pradeep when you stand in the mirror, here are the posts:


Project Estimation and Black Swans (Part 1) 
Project Estimation and Black Swans (Part 2)
Project Estimation and Black Swans (Part 3)
Project Estimation and Black Swans (Part 4)
Project Estimation and Black Swans (Part 5): Test Estimation


The next time you don't want to read a post just because its lengthy, remind yourself that if you miss spotting the Black Swan, it doesn't mean Black Swans don't exist.  They bite hard to remind you that they existed and you didn't pay attention to them.

Sunday, October 03, 2010

The domain particle

The inspiration


The title is inspired from Angels & Demons where they talk about the "God particle". The topic is  inspired by so many testers asking or answering to, "How much important is domain knowledge?", "Can we test without domain knowledge?", "What happens if we test a product or technology without domain knowledge?" ... 


Every person who writes in public and in forums have been asked these questions about the importance of domain knowledge to test a product. Going through those forums, you'd know that there are answers like : Yes, domain knowledge is very important to test a product OR Oh yeah, you know without domain knowledge I couldn't have found the show stopper I found a few days back...and others saying, "I did manage to learn quickly, so it doesn't matter as long as you too can", "I think it depends on what you are testing"... 


Passing time by failing to respect others time


The question I have to most testers out there is. If we, who reply to all those questions of yours, say that it is very important that you should be an expert of the domain to test the product, are you really going to become one or even try to? 


You are aware that bug investigation skills are important, without we having to say that, what have you done about that? or would you go pick up the test framing skills?


I am convinced that there are many hundreds and thousands of testers who are a trap not just to themselves but to others wanting to help testers. Every testing related forum is infected with people asking questions who actually don't intend to do anything about it despite unintentionally (or maybe intentionally) wasting a lot of passionate testers time & energy. There are genuine people in there but in a rare occurrence. Most genuine people aren't asking questions but answering them and not all who answer questions are genuine. You may want to consider me among those who are answering questions but not genuine, if that pleases your ego.


I have respect for CDT mailing list and Software Testing Club. There are serious people, asking, answering and watching. I just hope there are a few more forums like that.


Why do we have labels?


Some testers are in a trap of calling themselves "Telecom testers", "BFSI testers", "Web App testers", "Mobile App Testers", and what not? The question I have is, should it matter? BTW, I call myself an exploratory tester because its an approach I follow to test any software & not a domain.


As how programming is a mindset and a good programmer wouldn't call themselves "Java only programmer", testing is a mindset too. Oh, there is a skillset along with the mindset.


Henrik Andersson of Sweden is going to do a Webinar on October 12 : Do we need labels? Are we all not testers? I read the abstract of the webinar and was excited. I envy Henrik a lot. He is the guy who is blessed to be in the happening places - be it PSL, AYE or CAST. Other than that he is the energetic test consultant & partner at a testing consulting firm based in Sweden. I think you all should register and listen to what Henrik has to say. 


Henrik made me ask these questions: Why am I calling myself an exploratory tester, rapid tester, and whatever fancy stuff I had been calling myself when I know all testing is to some degree exploratory? What is the need for me to do so?


I need a label to differentiate myself or to communicate to people what I specialize at. My label helps my potential clients to gain interest to check about my services based on their needs. My label acts as a filter. People know what questions to shoot me. So far I have received very few emails from people asking if I can help them record and play QTP scripts. Most emails are about seeking help on how to develop themselves, think & test. I love to talk to them because they teach me things I want to learn.


So, I see label as a filter but I am against the labels that filter my own opportunities to learn. For instance, if I call myself a "Multimedia Tester", I would have blocked my learning on many technologies and contexts that I have experienced. I am starting to use "Brainual tester" these days. I am also giving a lightning / lightening talk in GTAC this year about it. James calls it Sapient and I call it Brainual. We both worship the same God but we call them in different names. I prefer the word "Brainual" because it is quicker to replace the word "Manual" to those who see "Manual" as a hand activity of testers than brain. People are used to saying, "Lets automate those manual test cases" but I expect the reluctance to set it to say, "Lets automate the brainual work thats being done now".  Their own ego would hurt them. They don't want to be seen as a fool.




Filter-less


Being a consultant and added to that the twist and turns I have had in my testing life has got me to test software ranging from wireless, mobile applications, medical devices, multimedia, Retail, CRM, desktop applications, dating applications, billing solutions, video surveillance, stock market, auction systems, kiosks, cloud computing, testing tools, games and what not. I have never bothered what domain each of them belong to as long as I have 
  • An understanding of general principles of how software works (which I constantly refine)
  • A skill to quickly learn and convert the learning to tests & churn more learning out of it.
  • Ability to build models of learning to speed up my learning.
I try understanding how people who invented things might have thought. I fancy thinking that all these technologies have emerged out of observing something. Some of the key observations about human being and living things have led to many inventions and discoveries. Should I tell you that birds were an inspiration for Wright Brothers?


The human connection to technology


# 1 DHCP as to how it has evolved out of human behavior : When we go to the theater to watch a movie, we ask the personnel at the ticket counter to check if there are tickets available for a specific movie (sending request from a client to the server) of what we want to watch and our preferred time (details about client to see if server has anything for us). 


The ticket counter personnel in the theater gives us a ticket based on availability (assigning an IP address from the available pool) with the seat numbers to watch the movie.

In the ticket, there exists a seat number ( IP address ), duration of validity ( lease period ). If you prefer to watch the movie again and in the same seats ( Static IP ) you need to advance book or renew your tickets  
( ipconfig / renew )


# 2 Why do connectors have a male pin & a female pin? How did gender come in to technology without having observed humans and how they interact?


I have a huge list of things that computers/ technologies do which are based on how humans communicate or how humans could have. Think of SIP protocol or a client server host architecture and relate it to human communication. You'd probably enjoy as much as I do.


Simplification


In Rapid Software Testing class of  Michael Bolton & James Bach, there is an interesting dice exercise. I didn't crack it the first time but on learning the meta pattern, I am likely to crack it for any pattern or will get closer to solving it.


I have my own version of the dice game but with a different learning objective - simplicity. Based on running the exercise on thousands of testers in India (and a few folks outside India), I am making a conjecture that I see people struggling to cope up with simplicity. 


The first set of thoughts that comes to a human mind is not necessarily simple and the next set of thoughts are usually more complex than the previous ones. So, I think humans keep building on the already existing complexity of their previous thought.


Unless you train your brain to think simple, you are unlikely to crack many things you can.


The reason I am telling this here is because those who set out to learn a new domain forget that there are simpler sub systems of the domain they already know either because they also exist in other domains they have tested or have used such products extensively. You may want to figure out the meta pattern of software & how they are supposed to work. 




Practice to be fit


Quoting Parimala, "What you know is not as important as what you can do with what you know". 


I run an exercise in my workshop in which I allow people to do freestyle exploratory testing. At the end I ask them the techniques they consciously used while testing. Although many of them know many techniques to test, at least the first 10 minutes of most testers freestyle exploratory testing is, "Clicking here and there to see if a bug dances out on the screen" If a few bugs do dance, "Wow, you see I did exploratory testing". I think of that as an inferior self standard setting to understanding exploratory testing.  


How do we use what we already know to achieve better results? PRACTICE!


The biggest shame for ISTQB / CSTE certification bodies doesn't come from those who oppose it but from those who are certified & don't show traces of having gained anything from it. I have consulted at least for a few organizations here in India who hire these certified testers. Not a single test case document that these certified testers have produced has anything related to what they might have learned from the certification. 


There is a scripted test design technique that is a best practice and the most widely used one although it doesn't have a name - copy paste a sentence of requirement document into expected results column and then write the test steps accordingly. This is the most successful trick ever invented in testing. 


As a side note: Do you play any outdoor sport? Have you taken a long break from it and then went back to it? You might have been good at it at some point but when you get back after a break, you no longer feel the same comfort you had. If I were to speak to Indian testers alone for a moment, how does it feel to hold a cricket bat and face a fast bowler after taking a break from cricket? 


Bits & Pieces


I admire ants. They have a way to deal with problems. They don't say, "Oh my God! That cake is about 1000 times bigger than my size. How can I eat it?". They break the huge cake into bits that they can process, carry it home and then come back for the next bit. Doing it bit by bit helps them to achieve the goal of moving the entire cake into their colony.


While testing a product whose domain / technology that I don't know, I try to remember the ants. I learn one bit, use that bit to frame tests. The tests I perform with the bit I learned, help me learn about more bits of the system and I choose to eat bit by bit or byte by byte if my mouth has got bigger.


I may know nothing about a system when I start but at the end I can learn so much about it that it would amaze me or my audience if I tell what I discovered going bit by bit. I demonstrated this in one of the workshops where I learnt the user base of the website, traced the kind of users, identified why those users might be coming to the site, what kind of problems such users might be facing, what kind of tests to be run, what could be the most important problems that is making the audience to not give more sales + found 14 issues + 10 questions to the developers - all in one hour. I had enough feedback to the development team that they got busy working on a few things that gave me the time I wanted to go learn what I wanted about the product.


Live oracles


What are the business analysts doing? Are your sales and marketing folks so busy that they don't have time for you? How much do you interact with them? Have you invited them for a paired testing? Have you talked to them about the importance of they being with you for an hour in a month while you are testing?


If that's one set of questions, here is another set: Why in the world do you want to know everything about a domain when you know its not possible for any human being to do that?


Fooled by foolishness


Some organizations who hire testers only because of their domain knowledge, are fooled in other ways such as, those testers probably know little about testing to be called as testers. Its opportunity cost. I have spent all my time trying to be a better tester, you ask me to troubleshoot a network router, I may end up testing it or learning about it by testing it. Ask a network admin to test a router, she may end up troubleshooting or reconfiguring it.


Some organizations who continue to think that domain knowledge is the most important skill for a tester to even apply or be interviewed by them are blind to the fact that most issues that their customers are reporting has probably got nothing to do with having testers with extreme domain knowledge in the team.


There are tons of testing problems these organizations are not paying attention to, while they see their problems are because they don't have enough testers with enough domain knowledge.


Everyone of us choose to be not fooled by something and that exposes us to be fooled by something else.


The domain particle


Do you have a domain particle that makes you think "domain knowledge" is the important thing for a tester to perform well? 


I don't want to take it out. I want it to be there so that I can help you mutate it. If you could help yourself mutate it, and make the domain "learning" instead of "BFSI", "Telecom", "Multimedia", "Whatever"... I think you would have cracked what you are likely to in 20 years from now. That's an opportunity to be wise without needing to age for that.


Did you say that?


Those who speak about exploratory testing are asked, "Are you saying there is no value for scripted testing?". Those who speak about using brains to test are asked, "Are you saying there is no value in automating tests?". Those who speak about Check Automation are asked, "Are you saying checks are not tests?" while the speaker/author didn't mean any of that. Those who speak against certification are asked, "Are you saying people shouldn't get certified at all?". Those who speak about wasteful documentation are asked, "Are you saying documenting is a bad idea?". Reading some of the above paragraphs, some of you might have had a question, "Are you saying all ISTQB/CSTE testers don't know test design?"


So, whatever anyone says, there is a group of testers aggressively waiting to ask such questions. They are not doing anything wrong. They are just being themselves. Some representatives of the group are likely to ask me, "Are you saying domain knowledge is not needed to test the product?" and I am going to punish them by asking them to re-read this big post.


BTW, I am looking to hire testers of Banking / Web Application domain testers. Please send me your resume as soon as possible. 


Also, if you are a tester from Hyderabad and want to meet Rahul Verma, Dhanshekar and yours truly on 27th evening, email me. We wont mutate your particles! We will be attending Google Test Automation Conference in Hyderabad. 


Post bio for my self reference: Took 5 days to write the first draft, changed the style and contents 3 times, 1 external review, 3 self review, 5 hours of editing and finally publishing it. Published from my cousin's place in Delhi. Laptop: IBM Thinkpad

Thursday, September 23, 2010

BPO / Support / Call Center / Homemaker to Software Testing

Over the last few years, I have received at least about 40 emails and a couple of phone calls from people working in tech support, BPO, call center, homemakers asking for my advice to get a job in software testing or to make a career in it. I am tired responding to the same set of queries from different people. Now, that doesn't mean I wouldn't be interested to talk to people. I just hope they read this and have a different question or a situation they'd like me to address. 


However, this post is not just for those who want to change their career from BPO or Tech support to software testing but also to those who are hiring managers, interviewing testers and to all those who are aware that they are a part of the future of software testing.

1: Chasing dream versus chasing a day job

A friend of mine gave my number to his friend who works in a Technical Support job at a reputed organization and wants to move into software testing. So he called me to seek my help. I asked him, "Why software testing and not something else?" and he didn't have an answer. That is perfectly fine. He then said he wanted a day job and found software testing as an easy possibility.

I started to probe his dream of what he wanted to be before he landed up in Tech Support. His dream was to be something else. I then explained that moving to software testing might not help him feel any better than starting to chase the dream. He agreed and is now chasing his dream of photography.

2: Turning lemon to lemonade than faking it as orange

Some people have asked me if it would help to fake their experience of a tester of the product they were providing technical support just to get interview calls. I have helped them understand that there is a lot of value in presenting the truth than trying to show it as something else, get caught someday and be blacklisted by NASSCOM and a whole lot of companies spoiling future growth chances.

Having worked in several product organizations, I realize the importance of interacting and collaborating with support teams. If I were to hire a few testers for my team, I would definitely be interested to talk to a support team member. We did that in one of the product organizations I worked. I have talked to hiring managers of large and small product organizations who have done that. I think most of them are internal hiring and some rare cases of external hiring.


To all those who are considering to hire testers, stop doing what you have been doing all this while - hiring those who have been in testing only. Where were you before you started to do testing?


3: Learning software testing in 10 days OR Crash course about how to crash


With many folks wanting to learn software testing, lots of people are making money out of it. For all those in the world of software testing, do you know how many institutes are there per square inch of Ameerpet in Hyderabad who can teach testing in 5 hours if you'd like so and have enough cash? 


Not just Ameerpet, there are lots of chota Ameerpets that I have come across. These kind of training centers are a huge contribution factor for spoiling young minds in India. If God makes me rich, I shall wipe out each one of them.  These training centers run weekend batches for Tech Support folks and spoil their ability to learn testing. 


So, when folks who work in Tech Support and have attended such draining programs (yes, that was intentional) get in touch with me for seeking advice on job search, I have helped them to pick up two books: Testing Computer Software & Lessons Learned in Software Testing. For the most recent ones, I have also suggested Perfect Software & Other Illusions about Testing.


I also have suggested them to hook up with a tester every weekend and try some hands on testing or participate in open source projects for a while. For just one I have helped by doing a paired exploratory testing. One of my student in the Hands on Software Testing Training - India's first true hands on only testing training I delivered for Edista in 2008 & 2009 was in Support and he demonstrated his testing skills to his employer to be moved to testing.


4: Test Report instead of Resume / Profile


When my father started his first job after his Diploma in Electrical Engineering, he applied to the job with a CV / Resume. So, using a CV / Resume is that old an approach which hasn't changed much, except that he used a typewriter and we use MS Word and a Laserjet Printer. Lets try to change.


In the last 3 months, I have 4 emails from hiring managers in Bangalore, Chennai and a country outside India seeking help to hire skilled testers. One of the things I have suggested to them is to not ask people to send their resume unless it is accompanied with a test report. For hiring managers, it would be easy to see what kind of tester they want by looking at the test report. If the person says, "I am skilled at automating checks", so be it, demonstrate it and attach the scripts along with the resume. Needless to say without violating any Non Disclosure Agreement. Open Source software testing suits best. The interviews are actually discussion around the test report rather than "What is the difference between this and that?"


I am writing a whole big book on software testing interviews. A publisher just rejected the book but that's OK.


BTW, don't send me your resume and ask me to refer to those hiring managers.


5: Why some developer guys from India suck big time?


Nothing about their programming skills. I have done career counselling almost all through my career for others and myself. Hey, its a skill with which we are born, at least that's how we behave when someone approaches us for advice :)


So, having worked with some testing institutes, I volunteered to take up any work I could that would let me to speak with testers and potential testers for my own learning purpose. My blog, as you know, has brought me a lot of people with varied kinds of queries. So, I have some experience dealing with those developer guys who walk in months after their marriage, looking for a job for their wife.


These great developer guys come and ask, "I want my wife to take up a software testing job, do you offer job guarantee courses?". So, to the question, "Why software testing?", they'd without any bit of shame, answer, "I want her to earn and come home on time so that she takes care of office work and home work in a balanced way". 


One guy tried interviewing me to see if I know enough testing to teach his wife and help her learn testing. Not just me, one of my student, Arindam, was inspired to coach testers and works for an institute in Bangalore part time. That institute runs a special batch for home makers. Arindam shared his experience with me about the batch. He too said what I had already experienced. My advice to all housewife / homemakers whoever you want to call yourselves as is to read Parimala Shankaraiah's blog & Meeta's blog. Hey wait, there are quite a few others in India. Read their blogs to understand how passionate they are, how difficult it actually is to be good in testing and how they manage home and office work.


6: A break / sabbatical in career is just fine


Some women testers who take a break or sabbatical, try getting back to the industry but the industry treats them bad. Most hiring managers are blind in noticing people with break. They think they would be at loss of value if they hire them. 


I think stopping someone who is passionate in testing but had no other option than to take a sabbatical or break not getting a job is a big hindrance to the entire software testing industry. If I were Parimala Shankaraiah's employer and she needed a sabbatical, I would welcome her anytime she wants to come back. Not hiring her is like fooling myself and my company HR policies.


7. The actual meaning of "Our company is an equal opportunity employer"


There is a VERY BIG company who has an office even close to my home who has this statement, "We are an equal opportunity employer" in their website but didnt allow me to even apply to an opening just because I didn't have an ISEB/ISTQB certification. Let me tell this to you: I felt blessed by God to be not eligible to even apply to such companies because such company environments wouldn't have made my career strong.


The company which actually is an equal opportunity provider is one that selects its employees based on skills and not if they purchased a certificate. So, if you dont get jobs in such places, feel blessed, you really are. Keep demonstrating your skills and jobs will come to you. 


Santhosh Tuppad, my student with just one year of testing experience (and tons of experience in finding and reporting bugs) got an offer to be a Test Lead for one of the top companies in Asia. Although he couldn't take it up then but I just wonder if he had to be a Test Lead at some of those fake equal opportunity providers, how many white hair he should have had.


So, here are some points to ponder:
  • If you choose to be misguided by what others say then you deserve it.
  • If you have some other passion and want to be a software tester because you think its an easy job, you are spoiling an opportunity to help your children see you as their inspiration to pursue what they want to be.
  • If you are OK to live others dream, don't question, just follow. Never crib / complain in life.
  • If you want to test out testing, do so with open source projects and by collaborating with some good testers around you.
  • No job is easy but all jobs can be done in an easy way.
  • Fakers will get caught.
  • Build your testing skills and demonstrate them.
  • Attract employers don't always get attracted.
  • Build your own brand. Get organizations proud about hiring you and not the other way.
  • Many services companies count heads - not brains. Target tech start ups.
  • If nothing works out and still you dream to be a tester, start your own testing services.
  • Its OK to fail.
  • Its important you succeed chasing your dream irrespective of whether your chase was successful or not.
  • Chasing your dream is the only way you can know if you can really be successful
As and when I encounter more points or more different questions, I shall update this post.

Thursday, August 26, 2010

What is our competition on?

There is a trend that is picking up in the software testing industry. To be more precise, I am talking about a trend of competitions, prizes and rewards. This is good. I love the idea of being able to compete globally and with testers whom I may not have known otherwise.

When someone wins a testing challenge and the report is published to those who participated, it influences others to ape some of the good practices and end up creating their own styles out of it. The flip side, what the winner does becomes best practice for wannabe winners of the next competition. For instance, having been practicing video recording as a part of my bug reporting style, I posted videos of bugs in Utest bug battle last year. When I coach testers, I also help them understand what kind of bugs need video recording and help them practice it. Santhosh Tuppad who is a regular bug battle winner in Utest told me that many testers have started to upload videos instead of screenshots and he published an experience report where he mentioned that point.

At this point of my post, I'd like to appreciate all companies putting up competitions that is helping to bring out new, fresh and different kind of talent to the public view. I like to support you in as many ways I can. I have been a participant, creator, winner and loser of such competitions. Its all fine.


However, I am starting to have some concerns about the competitions that are coming up which demands voting by public to decide who wins. Now, I need to clarify something. I am not talking against those companies who are doing it. As a matter of fact, I am not talking against "anything". The company wants a way to get more people to know about them and such voting based competitions help in doing that. If I start an organization, I'd like to do things that helps in getting a lot more people to know about the services my organization offers. 

The problem with the voting to decide a winner, could be hurting, to those who have put in lot of efforts but couldn't gather enough votes. For instance, Eurostar conferences organized a Videostar competition. By looking at the marketing flyer of the competition which said something like, "Put on your Holywood director hat" and about creativity, I assumed the video with the Holywood movie type creativity will probably get me to be the Videostar and did the Joker act. Anne Marie did a video that I personally liked. Nothing less of all that was from Rob Lambert who had a different way of putting things that he wanted to talk. Maybe all that was driven by seeing how creative were Eurostar folks who put up this video. Finally, the video that won, by that I mean, the one that got the most number of votes, was not so exciting as others in the list. We are independent consultants who don't have a mailer list to whom we can send and help generate a lot of votes for ourselves. Being an employee of a large company and gathering votes is much easier, especially if the Head of Testing is the one asking for votes. I guess that's what happened. Now, I am not questioning about anyone's ability but I am talking about the system.

I could have still won. I could have got a 99% lead over all others if I wished to. The Videostar page recorded a vote from a browser-computer and registers it or probably sets a cookie as well so that I cant vote twice. However, I could clear the cookies, refresh the page and vote for me again. How long would it take to automate this and leave it running overnight to wake up in the morning to declare myself as a winner?

I didn't win the Videostar. That is a testimonial that I didn't try winning with the "hacked way" I discovered. Oh, if you think there would have been an assessment of votes coming in from the same IP, I could have gone a step ahead and used the cloud to make it up or use tools that helps me mask my IP and hence not reveal where the votes came in from.

In that case, should winning be decided by a panel of judges who may not understand my skills? For instance if I take up the ISTQB Foundation Level exam, I will fail. I did fail in a mock test that I took online. Does that mean, I don't know how to test or I don't know the foundation of software testing? 

A competition has a set of rules. I am just asking if the rules can be made in such a way that the skill factor plays a vital role in winning and not the votes or my ability to memorize answers and vomit it out on an exam.

Let me repeat this: I am fine with companies organizing competitions to increase their visibility but I want to know if there can be a better way to do it than the voting system. I am dreaming of testing competitions where the winner is judged based on the skill demonstrated. A report is published by the panel as to why the winning entry amongst others were eligible for the top prize. Every step we put must help us move forward. Movement is important but there is a vector in it. What direction are we moving in and by what magnitude?

Bug battles are one kind of a competition that I like. There are more kinds of skills that companies can try to focus on. When I organized a testing challenge for Test Republic, I did a Bug Advocacy Challenge. I think there needs to Bug Investigation Challenges, Rapid Test Planning Challenges, Test of agility challenges, Test Management Challenges, Interviewing Tester Challenges, Collaborating with Developers Challenge, Understanding Requirements Challenge that can help in bringing out winners with skills of different kinds. 

So, there was a competition announced from Eurostar on blogging. I was about to pounce on it because I wanted to go to Eurostar and I have been one of the earliest Eurostar blogger. I skimmed through to see if there was anything related to voting and there it was. I decided to not enter the competition. 

I would be highly stupid if I was trying to write this post to create a negative impression of Eurostar or any other organization. That is not my intention. I'd like to say that Eurostar is a great conference I want to go but not because I got a lot of votes than someone else. I want to go if my skills get me there. I understand why Eurostar or companies that are running a voting based competition might be doing these competitions but I'd like them to think if there can be a better way to do things. I have respect for organizations like Utest and Eurostar because they are trying to do some work that is helping people change things the way they do. That is the reason I want them to be able to cause a much higher and better influence on the community, to take it forward. 

A tip to the winner

If you, a tester, happen to win any testing competition, here is something that I hope you think about from what I say to myself from my experience of winning several testing competitions; I won because the mightiest chose not to compete. This thought helps you a lot when you work with people. They shall embrace you not see you as a person they should stand away or just merely stare at.

Competitions could remain but what is our competition on? 
  • Choice A.  Number of votes
  • Choice B. the breadth and depth of skills? 
To add a little humor to this serious post; what is your vote for? A or B?

Monday, July 26, 2010

Tour of being an independent test consultant

Hiya! Hope you are doing very well. I am Pradeep Soundararajan, your tour guide for the next few minutes. I am glad you chose to take this tour of being an independent test consultant.





Here are some questions you might have: How does it feel to be an independent test consultant? What is it like to be one such in India? Will I be able to survive? Will I make enough money to run my family? Will I make as much money as the organization I am employed is paying me? Will I get enough paid work? What if I don't get paid work for a long time? Will people want my kind of skills? How do I know someone needs a consultant? How do I get clients? How will my family take this? What do I explain to my spouse? What kind of a pressure does society add when I am not in any paid work for a while? How does it feel to work from home not just for a day but for an entire month, or maybe a year or more? Will I have enough money to pay my home loan EMI?



These are some common questions that have popped up from those who have wanted to take the tour. So, if you have these questions or maybe even more, you won't be disappointed with this tour.




Some people ask me, "Hey, can you give me a few clients of yours and help a fellow Indian to also be an independent consultant?" I want to help people be independent consultants in India. By that, of course, I mean, I'd like to see them do stuff that helps them get credibility, reputation, paid work and clients for themselves.



I'd like to take you through the journey of having been an independent consultant. A journey that is not so often written or spoken about



Tour Point 1: Knowing enough about enough



If you want to be an independent test consultant, there are some prerequisites that you need to fulfill. You need to be bold enough, skilled enough, curious enough, pleasing enough and willing to talk to people or do some work good enough to get good enough people to talk to you.



That's a magical formula right? No one knows what "enough" means and hence it is a problem and an opportunity in disguise. If you knew what "enough" meant, you are kinda through to anything you want to achieve. I think, not knowing how much is "enough" makes you to work hard and get close enough. Oops, close enough?



I have been able to survive so far. I have no clue if my current skills are enough for me to survive for the next year and I am on a constant upgrade of skills and knowledge. I invest money on learning and my investment for July 2010 is on a few books, Ethical Hacking Guide to Corporate Security by Ankit Fadia & Job Interviews - Walter Vierera. Time is a much more important investment than money for me. So, just by spending money on those books wouldn't mean much unless I make a further investment of time on it.



Tour point 2: Love for failures



Many projects today suffer because people working on it aren't willing to try new ideas. They are special people on earth who know things would fail even before trying them out. However, as a consultant, if you try to be like them, you'd be expensive for your clients. You would do what their employees are doing for a price much higher than the employee cost.



Its important to not fail at a client's location but should that stop me and you from loving failures? I have a lab where I can experiment ideas whose results I don't know yet and that lab is the world of my colleagues, community and my gurus.



It's OK to fail, once in a while, at a client's location because even if you do great stuff, there could be things beyond your control that might make it look very bad. However, if you can get that client to call you back for more paid work in future, it boosts your confidence a great deal.



It happened to me. I was black listed in an organization and now they not just white listed me but want to work with me closer. Their CEO is in direct touch with me. If I feared failing, I would have done more mediocre stuff than what they thought I actually did.



Tour point 3: Excellence instead of money



India is a great place for some inspiring movies. I strongly recommend that you watch the movie "3 idiots". No, don't Google and read the story, just watch it. There are several good messages in it and one of them is, "Excellence instead of money". This movie is a super duper hit in India. I just wish people not just like such movies but also bring in necessary changes to their lives.



I want to be rich but I want to be rich while I am excellent. I wouldn't mind money coming on my way but money wouldn't necessarily make me feel rich. I want to be rich in testing skills and knowledge. I want to be rich in knowing many testers and how they work. In the process, if money follows, I am super happy.



Tour point 4: Don't expect people around you to understand what you are trying to do



When an article about me appeared on a few national news papers, my article was published on a few magazines, I was interviewed by CNBC TV18, I was on news for a local TV channel, my parents were so proud of me that I can bet they were flying high. However, whenever they see me sitting in home for more than a week without any paid work, they start to ask me, "Why don't you join some company like Infosys?"



If you expect your parents or spouse to completely understand what independent test consulting means then you'd be inviting disappointment. I was expecting them to understand what I was trying to do but experience teaches that I shouldn't. This has nothing to do with the respect we have for them but a learning of what we can't help them understand.



While at home, I am glued to the computer, trying to learn something, practice testing or support my clients post my onsite engagement or reply to emails. Some people around me take it for granted that I am jobless. Someone calls me and say, "Hey, you are at home only na, so why don't you come pick our luggage and keep it there?" It irritates a lot. I am at home but not jobless. I am trying to generate a paid work, which is a part of my work. People don't understand that. So, be ready for all that.



Tour point 5: No promotions and no designation change



If you were used to being an employee for long and then chose to be a consultant, you must know that there is no one who is going to give you a promotion. It is what you call yourself that matters. I am calling myself a Consulting Tester or just an Independent Test Consultant. If I am bored of it in 2012, I may call myself a Senior Consulting Tester. I give myself fancy title sometimes. I was calling myself a Test Magician and then I am now calling myself a Brainual Tester.




Tour point 6: Being an independent consultant doesn't mean you are the expert



Without saying much, I am not an expert and I am an independent consultant. James Bach, Michael Bolton, Elizabeth Hendrickson, Jerry Weinberg, Scott Barber, Matt Heusser, Jonathan Kohl, Karen Johnson are experts who are independent consultants. People like Ben Simo, Jon Bach, Cem Kaner, Vipul Kocher, Ashok are experts who are employees. There are some good thinkers and future experts like Meeta Prakash, Parimala, Lanette Creamer, Ajay, Santhosh Tuppad, Sajjadul Hakim, Ramit Manohar, Sharath Byregowda, Shmuel Gershon, Issi Hassan, Markus Gartner, who are employees, too.



So, independent consultants don't necessarily mean an expert. Employee don't necessarily mean a non expert. If I had to be an independent consultant only after becoming an expert, I wouldn't have been one till now. If I don't be an independent consultant, I don't know if I would ever get close enough to an expert while being an employee.



So, if you are waiting to be an expert and then be an independent consultant because you thought there was a strong relationship between them, you could be wrong.



Tour point 7: Tackling loneliness



Even in 2nd most populous country in the world, there are a lot of people I have seen who feel lonely. So, loneliness is not about people not being around you but about people whom you want to be around you not being around you. For me, my first wife is my laptop, just like many others I guess. So, despite having two wives (laptop and the one to whom I am married), I get lots of situations where I feel lonely. Loneliness is not always a problem; its a blessing in disguise. Ask our fellow bloggers, they'd tell you that they churned out a cool post during such situations.



However, being an independent consultant and working from home means, I have no colleagues that I meet on a daily basis. I meet a lot of new people every year but meet the same people very few times. Having no colleagues to meet on a daily basis means frustration at times.



When I go through Facebook or Orkut and see some people posting photos of their team member's birthday party celebrations, team outing to a hill station, team lunch, going to movie as a team... it hurts me a lot. I just take it as though I am in a penance of becoming a good tester and I have to bear with all of it. Recently, I was pissed off when I found no one to join me for a movie that I wanted to go. Even if I did find, their timing and my timing was off. Hey, employees are pissed off too. So, I am still fine.



Tour point 8: Getting clients is like sowing seeds and waiting for them to sprout



We think clients come from a specific place or set of places and we are wrong. When I was a rookie consultant looking for opportunities, Michael Bolton, told me that finding business is like sowing seeds. He also told; you never know when the seeds sprout.



I sowed a seed by answering a question in a forum without knowing I was sowing it. The one who asked the question was impressed and help the seed sprout by giving me a business worth thousand dollars.



When I didn't have a public reputation for speaking, I offered 2 hour talk called "Mirchi Test Masala" for free. This attracted at least seven organizations to have my talk at their office. I was gaining experience of speaking to testers and engaging them for at least 2 hours. I was also testing my own testing exercise on them. This was in 2007. One among the 250 people I might have spoken to during my Mirchi Test Masala tour was impressed with my talk. In 2010, he asked his current employer to have my workshop for his team. It happened. As you see the seed sowed in 2007 sprouted in 2010.



So, if you want to be an independent consultant next year, you should have started sowing at least 2 years back unless clients are just waiting for you to becoming a consultant. Also note that there are other consultants sowing seeds in the same place. If you are skilled enough you don't need to be too bothered.



Tour point 9: Freedom at its best



If you are my blog reader then, "Some birds aren't meant to be caged, their feathers are just too bright" isn't a new thing to you. If it is, please note that the quote is from the movie Shawshank Redemption. I struggled for freedom to test. I saw that I could test a lot better when there is freedom. I also see that many testers can perform a lot better with a lot of freedom and responsibility bestowed on them. The only way I could win freedom to test in India was by being an independent consultant. These days, I am coming across a few managers who want to provide freedom to test but they don't have the curious people in place.



Tour point 10: Managing the tough situation of low bank balance



During August 2009 to Dec 2009 there was no paid work. There were enquiries but nothing turning to work. My bank account went low enough that the bank thought it was expensive to send me an SMS about my bank balance. At that moment, everyone around me urged me to look for a job. It isn't a bad thing to go back being an employee. At least I won freedom for a while and I can always win it back. I updated my profile and started to apply for jobs. I didn't even get a single interview opportunity in Bangalore. What? Yeah, so, no matter how much reputed you are, nature teaches you humility at such times. I dropped my plan to look for a job and look for some consulting opportunities. Again, a seed sowed in 2008 sprouted and I found 2 back to back consulting opportunities. Today, as I write, I have certain things lined up, clients asking and competing for my dates. I have no visibility beyond a certain month in this year. I have no problem with that. I am just hoping that some seeds will sprout.



Tour point 11: Live your dream



3 weeks back, my school classmate died in an accident. It just reminded me that death is not certain of a time or situation. Any day it might strike. I was shocked by his death and asked myself; what if I die today? Also, if you have listened to the famous speech of Steve Jobs, he talks about death and suggests that we work as though today is our last day.



Living your dream is very important. So important that you may not have another life to live your dream. My dream is to be a good tester and if possible help others with similar dreams to get there. I know I am living my dream today, at least to some good extent, so I am not afraid of death.



Tour point 12: Earning money is tough but not impossible



Some of my own students hesitate to coach other testers because they think teaching isn't something they want to do. Indirectly they are saying, "This demands me to learn new skills which I am not prepared to". There is money in teaching. If they continue to think that way, they would never be able to earn contacts, different learning, upgrade their skills, learn about different contexts, challenges and hence more money.



Tour point 13: Consulting is not only problem solving but jiggling the right things



I was thinking of myself as a super hero by having solved some problems for my clients. When I interacted with Michael Bolton of what I did to claim success, he helped me understand that I jiggled with things rather than solving problems. I started to learn what exactly I was doing. Although I believed I was solving problems for my clients, it was they who were solving it and I was just helping them do it. At times I did solve problems, too.



If you are serious about being a consultant or being a valuable employee and want to jiggle the right things, I strongly recommend you to read Jerry Weinberg's books on Consulting. I mean, Secrets of Consulting and More secrets of Consulting. They are my best reads.



Tour point 14: Get yourself a guru and a role model



Sachin Tendulkar who is considered to be a God for cricket in India has a guru. Suriya, a rocking Tamil actor has Kamal Hassan has his guru and inspiration. Kamal Hassan has more than just one guru. Rajinikanth has a lot of gurus and role models. Virendar Shewag has a role model (Sachin) that he wants to be like. The great Arjuna of Mahabharatha had a guru teach him archery. Ekalavya had a guru. All these successful people have a guru and a role model. In testing, as we think we are experts or good enough, we don't feel a need to have a guru and role model. We sink our own career that way. I must have avoided thousands of traps by having more than a few gurus.



James Bach helped me be an independent consultant and I often consulted Michael Bolton to shape myself. There are other people who have helped me too and have been my inspiration and role models. I have posters of these people on my wall. It keeps pushing me. Without gurus and role models, I would have been lost by now.



Your tour ends here unless you have a few questions to ask me. Thank you for your patience.

Friday, July 02, 2010

Heart of a tester

In 1954, when software testing was just about taking birth, there were two groups that started to form. I was as curious as you are right now, to know what those two groups stood for. One of the groups christened as, "Kuzusu", had a thought that good testing would reduce the number of billable hours to deliver a good enough product and hence had to be avoided. The other group christened, "Shidachi", stood for good testing that can save a lot of stakeholders time and money to deliver a good enough product.

Things started getting hostile. People from the two groups tried killing each other. That's how much they believed in the group they claimed to represent. One or two people being killed once in a while didn't make a difference.  Just a few days before the Christmas that year, there was a huge battle and at least five dozen people from both groups were killed. That's when a lot of people started to propose a treaty and cease fire between the two groups. On 3rd March, 1955, the famous treaty in history was written. "Treaty of brain fight instead of blood", was signed by all members of those two groups in front of the President of United States, South Africa, India, China, Japan, Sweden and Britain. 

Signing the treaty meant; anyone who violates the treaty shall be killed by their respective country administration. The country where many such killings are observed might lose its eligibility to get outsourced testing projects. There was a twist to the treaty. It not just included the names of those who signed the treaty but all future software testers were presumed to have signed on it.

The first meeting of the Kuzusu group after the treaty was held in 8th October, 1956 in an undisclosed location. The outcome of that meeting was; more the number of people on Kuzusu side, the easier it is to dominate the Shidachis.

While Kuzusus were still at the meeting, Shidachis had a plan for the future. The plan was pretty simple; to discover, invent, learn, practice and demonstrate thinking skills that would lead to better testing and better product. So, Kuzusus were focused on Head Count in their group and Shidachis were focused on Brain count in their group.

The common thing they realized through a series of meetings is that they needed to lose their identity and mingle among future software testers. All websites, boards, banners, ads, real estate, documents, registration, news paper citing, notes, floppy disks, photographs and tapes were destroyed. The only thing existing to prove about the existence of these two groups is the treaty document. The next time you visit National Meuseum of American History - Kenneth E Berhing Center, Washington DC, make sure you see beyond certain wall posters there. One with a sword marked on the right bottom corner has the treaty document in its back. 

Ever since 1957, these two groups started to influence the upcoming generation of software testers with their principles but not in the name of Kuzusu or Shidachi. We never know if these groups are continuing to meet and make new strategies to fight each other. We may never know that. 

After so many years, we don't even know if Kuzusus and Shidachis are the ones with whom we interact everyday at our work. They are dressed up as our colleagues and friends in our industry. We don't even know if we are the channel or follower of one of these groups. Obviously, it is nearly impossible to identify or differentiate between a modern day Kuzusu and Shidachi, because they all appear like one, doing testing and wanting to do it better.  

We all want Shidachi group to win. Even Kuzusus would publicly speak about wanting the Shidachis to win and that is how they can remain camouflaged. Another twist to the story happened in July 2006 when a new group was formed by someone somewhere. This group didn't want to give themselves a name and remained anonymous from first. Their objective is; we don't care if good or bad testing is happening as long as we are getting paid, hikes and promotions as regularly as possible.

That's it. It has become all the more tough for the Shidachis to strike large success. You just can't say that you belong to the fourth group who doesn't believe in all this. You are already one among the three. The only problem is, it is hard to know which group you actually belong to. You might have thought while reading this that you belong to Shidachi and the people with whom you work with are Kuzusus. That's exactly how the Kuzusus want you to think because that's the way they do too. Finally, to an outsider, you and the people with whom you work might appear as the third group who doesn't care about good or bad testing as long as you are being paid.

So, the quest for the current and future generation software testers is not about identifying which group they belong to but to work with each other to win hearts. The fight of the brain is as important as the love of the heart. The first organ developed in a mother's womb is the heart and we shouldn't be ignoring it in our fight of the brains.

So, dear reader, whoever you are, if I have said things to you in the past either in this blog or in forum discussions that offended you or made you feel hurt, please forgive me. Help me to be of help to you in future. Its time we consider winning each others heart and brain. 

Also welcome to the Hridaya group!