Monday, November 30, 2009

Processes Mythology

CMMi has been the buzz word at all levels at my firm for about 10 months now. There have been a lot of discussions, presentations and training sessions on the importance of having “Standardization” and “Predictability” of the activity that we do, be it development, testing, production support , so on and so forth.

This post is my experience with some the models around Data Collation, Analysis & Interpretation of Standard and Predictable testing process.

Processes remove Person-Dependency and improve Efficiency:


“This was one of the key benefits of having a defined processes in place” as was explained to me during one of the training sessions on processes.
I asked the trainer, “how do you say this?” and
the answer was, “you work on a project and if you do not follow the process (i.e. documentation) properly, when you leave the project team or the firm, then the knowledge goes with you. By bringing in the process, the necessary of the person’s presence is removed and the new person coming in will have a shorter learning curve as the documents will be readily available to her”.

I asked her, “What do you mean by “properly”?” and to that she said “You should prepare the document in such a way that it covers the matter in full”
I think a huge bottom line is being missed. “Hellloooo, Having all said and done, it’s the very people who need to do anything !!!!! “.
My take on this

· Never can a person express 100% of what one has in mind. Let’s assume conservatively that we loose 15% in translation (remember we are ignoring the environmental facts when the person writes), this leaves us with 85%

· Never a person can understand 100% of what is written in a document. Let us assume (conservative again) that we loose another 15% while reading, this leaves us with 72.25%

· Never a person can synthesize 100% of what is understood. Lets (conservative again) assume that we loose 20%, this leaves us with 57.8%

We have less than 60% of the understanding of the project one had when the person moves out of the project. Remember this is just what the out-going person “understands” and NOT his knowledge (am still understand what and how knowledge management happens).
Remember; we haven’t considered few highly influential factors in the above conjuncture. They can have both positive and negative impact; the list can go quiet long from knowledge to environment.

Below are the few that I could think of
· Writing skills of the out-going person in a foreign language (I know no company allowing people to write in their mother tongue in India)

· Ability of the incoming person in understanding a subject written in foreign language

· Prior knowledge/experience/knowledge of the incoming person on the similar subject/project

When I say this, I agree and accept that documentation is required to let myself know what I have done yesterday and the day before and if this documentation can help someone else to understand the project better, it’s a great. However, why so paranoid about “documentation” of EVERYTHING done by a person!!

With this premise, am still to understand how processes remove people dependency and improve efficiency. Can you help me please?

Sunday, November 15, 2009

“Certified” thinking


I am a certified tester. I hold CSTE certification.

When I read the text (of course of myself) “Certified Software Testing Engineer”, I always wonder what I mean by that.

Doesn’t it mean that I don’t have my own mind to think and do testing but I learnt it (not practiced as none of the certifications are based on practical experiments), rather copying (legitimately) or re-using (famously) some one else’s idea?

During the early part (comparatively) of my career, I chose to sit for CSTE because

I wanted to prove a point to my managers that I am the best in the lot
I wanted to differentiate myself
I wanted to see myself in the newsletter (internal) and magazines (that used to carry the successful CSTE names with photographs at that time)
Company reimbursed the money that I spent for registration so I was anyway not spending money from my pocket
More than all the above, I wanted a motivation and a reason to read something about Testing

I registered myself, picked up the CBOK and started reading. I should admit there are some favorite chapters of mine in the book which I enjoyed reading. Eventually, I did clear the paper.

I can confidently say that the reading I did, the discussions I had with fellow CSTE aspirants certainly helped me in understanding a lot of details. If someone cites this as a reason to sit for the exam I wouldn’t give too much a piece of my mind.

A step further, in a way I would approve CSTE to some extent (not 100% though) because as testers we do have a 50% chance to write what we think is correct with the context we understand in the descriptive papers which I can safely call a kind of experimental based (atleast that’s what I did).

But the reality is that there are too many who use those CBOK as Bible or Bhagwat Geeta for testing principles. Much worse,
I saw a lot of people using certification as a token to call themselves as tester without bothering about either practicing or even an attempt to do practice
I saw people with no experience getting job by faking about it in big companies because they held a certification


Certifications compel the testers to a very dangerous extent, that we always tend to look for one CORRECT ready-made answer for all questions. Certifications restricts us from the thought process of,

All the options given could very well FIT
NONE of the options given (to choose from) may NOT fit
Dangerous of all is, it tunes the certified minds to an extend to look for even “Above All” or “None of the “Above” as answers when there isn’t clarity on what to choose from !!

We get accustomed to always look-for/think of a “Point-blank” answer for all questions, for contexts and certifications go out of their way to advocate and spread this at full throttle. A very simple example is one of the polls that I happened to see in an internal website, eventually ended up as post.

Reason to test software before releasing it is:
To find as many bugs as possible before release
To make a decision when the software is of good quality to release
To confirm that software will work after the release
To give information for a risk based decision about release

A classic question that appears in certification exams. I, to some extent understand that we still as a community yet to get matured to understand and think in contexts’. The reason why I felt all the more sorry for the certified testers is that the certifications have influenced so much, so that the author failed to see that “ALL” can also be an option if not an answer.

One of the eye openers for me was “A difficult testing quiz” in Pradeep’s Blog (that’s how I started reading his posts). I honestly attempted all the questions and the result was a lesson. That’s when I felt confident, that I don’t have to always worry about being correct.

There are a good number of testers who are trying to win credibility for “testing” as an activity and for testers. Meanwhile it’s disheartening to see there are large number of people who are still comparing/writing/discussing/arguing (??!!), if CSTE is good or ISTQB.


PS: CSTE’s CBOK is really a subset (edited) of William Perry’s book on Software Testing, which I read fully later and I think a good one to read.