"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, February 20, 2008

The Bangalore Roti Curry! Now comes with free* testing lessons

Yesterday, I presented a guest lecture on "Questioning Specification and Requirements as a skilled tester" at Edista Testing's newly launched, really unique career program, which I think, can be titled as "Keep learning software testing and we'll keep supporting you to do that" as they intend to keep track of the progress of one's testing career, knowledge and skills even after the completion of the program or after the placement.

One hour after the guest lecture, I hit the treadmill at a gym nearby my home. I love pace walking over the treadmill. Once I get my rhythm , I start thinking about something that doesn't make me focus on how tired I get or how long I have been on a treadmill. Yesterday's treadmill thoughts were about questioning specification, requirement, process, policies, rules, guidelines, best practices...

The common thing about the above list is, "Someone says it, others follow it". Topic I chose to think on the treadmill was interesting enough to help me burn a lot more. I guess for people like me, thinking about following a requirement/rules/policies/process/best practices without questioning burns more calories than running heavy on a treadmill for 30 minutes.

After the workout, I dropped in at a nearby popular and reputed food joint for dinner at Bannerghatta Road, Bangalore.

I bought a token for 1 plate of Roti and curry ( Indian bread ) Cost: 16 rupees. After I got the token in hand, I realized it would not be sufficient and asked if I could get an extra Roti. I had to pay 10 rupees to buy an extra Roti token.

While eating one of the two Rotis, I realized that the curry isn't sufficient for the next Roti and I asked for more curry, I was asked to pay 10 rupees more for extra curry that is of same quantity provided to me the first time.

So here is the interesting thing:

One plate Roti and curry is: 16 rupees : [ 1 Roti + 1 set Curry ]
If I buy an extra Roti and Extra curry: that's 10 + 10 = 20 rupees
Total: 36 rupees
[ 2 * 1 Roti + 2 * 1 set Curry ]

If I buy two plate Roti and curry: 16 * 2 = 32 rupees [ 2 * 1 Roti + 2 * 1 set Curry ]

I went to the hotel supervisor and said, "I have never come across any hotel other than yours which has two different prices for the same quantity and item served if purchased in a different order. Is that intended?" and then explained to him the sequence in which I bought Roti and Curry. You might not believe this: He nor the other staff knew that they had been charging customers different rate for the same quantity they buy an item based on the order in which they buy things.

This certainly surprised their staff and I could witness an argument over the issue among other staff members. There was excitement over the issue and I enjoyed the argument between them.

Supervisor of the hotel then assured me that they would fix this issue after consulting the hotel manager and thanked me with a smile for bringing this up.

I was happy. As a tester, I questioned things and provided them information about their service with evidence. I handled it politely and helped them understand how illogical it would sound to people and how their credibility is at stake if they continue to do so.

If I hadn't questioned at the logic, or their menu, or their process, or their specification, I wouldn't have helped them understand something was seriously wrong - because they seem to be concerned to not do anything wrong as it could affect their reputation. They are into this business for at least 5 years and they hadn't realized what rule they set could conflict with their own menu rates.

When customers say "We want A,B, C, D, E, F", they are less aware that A could conflict with E unless we ( testers ) help them understand and that's our job. If we (great testers) don't question requirement/specification/process/rule/guideline/best practices, and the customer by himself finds B conflicts with D at a later stage, he might think of us as fools and maybe get our butts fired.

"If testers aren't questioning, they aren't testing. If testers aren't testing then they aren't testers anymore".

In the Roti Curry story above, I think there is another lesson hiding. As a customer of the hotel, I realized I wanted more, only when I got some bit of it - which means I didn't know how much I needed to buy till I saw some sample. If someone were to have collected my requirement/need, I would have stated something and changed it because I am not sure what I want.

There are a lot of customers who are not sure what they want and if we ( great testers ) are to follow a document that was prepared so early in the project before the customer could see something, we would never be doing what we should be doing. Testing is *not* satisfying a customer but providing information to help the management or customer take informed decisions. The information we provide could be bugs, assessment of risks, questions we have, answers we found...

Little does the hotel know that testing lessons are for free when people buy Roti and Curry.

Laugh (if you want): Research Doctors at National Health Research Institute are recommending to take a minute of every day, especially for those in software testing, to laugh out loud at those testers who don't question the specification/requirements/test scripts/test cases/process/best practices.

It is found through their research that the health condition and testing has had a significant improvement by doing so. Researchers also encourage laughing at yourself, if you are one among the testers who don't question.

--
Pradeep Soundararajan - http://testertested.blogspot.com - +91-98451-76817 - pradeep.srajan@gmail.com

"The test doesn't find the bug. A human finds the bug, and the test plays a role in helping the human find it." --

20 comments:

Anonymous said...

Hi Pradeep,
fantastic! we say that software is getting complex by the day; but the article about your hotel experience is really an eye opener for every tester.
A simple thing in life can reveal so much about effect of questioning and requirements.. I've read many of your past blogs, but this is the best among the ones that I've read so far. Keep up the good work!

Pradeep Soundararajan said...

@Ganesh,

've read many of your past blogs, but this is the best among the ones that I've read so far. Keep up the good work!

I think I am striving hard to make each post better than the previous ones - more insightful and more learn-able but I am worried if my some of my previous posts lose the beauty when a new thing comes up.

However, I am thankful to you and someday you would find something more insightful, that day, remember that you commented on this post :)

A simple thing in life can reveal so much about effect of questioning and requirements..

All things are equally complex, we train ourselves to make some of them look simple and for others we think, "yeah, complex!".

Learning to test better is like marital art. I am realizing that it needs a lot of dedication and to develop a skill "learn to learn" which I guess you remember we discussed in full length.

We didn't have Roti Curry that day, right? ;-)

Chris said...

I always have Roti when I go to Singapore so I see your frustration. Great post, but the most important thing is: did they refund you your 4 rupees?

Pradeep Soundararajan said...

@Chris,

did they refund you your 4 rupees?

The curry didn't taste as much as I wanted it to, so I didn't buy that even :)

Michael Bolton http://www.developsense.com said...

So what if they fix it like this: one plate of roti and curry is 20 rupees, and if you want extra roti and extra curry, it's another 10 rupees each? :) :) :)

Moral: as testers, we provide information. What management does with that information is up to them.

---Michael B.

Pradeep Soundararajan said...

@Michael,

So what if they fix it like this: one plate of roti and curry is 20 rupees, and if you want extra roti and extra curry, it's another 10 rupees each? :) :) :)

That's for sure called "fixing" :P

Moral: as testers, we provide information. What management does with that information is up to them.

Yeah!

I have been thinking about a question in similar lines: If I as a tester work for a management who in my opinion doesn't know to use the information, should I continue providing valuable information to them?

Thinking of at least three ways in which I could be wrong:

a) It is not my job to bother what they do with that information.

b) They might be using the information I provide but maybe something that is not visible to me.

c) My idea of using the information conflicts with their idea of using the information.

d) Maybe I should provide information about information to them.

These are my naive thoughts and I think I want to learn more and probably you could help my readers, too.

Rahul Verma said...

Hi Pradeep,

Interesting! I thought only I came across such a drama.

A few days back, I had a similar discussion with a dhaba guy in my locality.

1 thaali = 6 Rotis + 2 curries + curd + salad = Rs 35

and if you want to order just rotis, it is Rs 4 per roti.

6 rotis = 6 * 4 = Rs 24

I asked him whether he was generous enough to serve 2 curries, curd and salad (infact some chutney as well) for just Rs 11, which is less than the cost of just 3 rotis.

He said, that's the way it is.

Next question: Please parcel two curries for me, I am not intesrested in thaali.

Can you imagine the cost he told? It was Rs 20 per curry (I doubted that the quantity will be more in a parcel, but alas! it was the same. When you order for a thaali, you can have curry in unlimited fashion).

Cost of 2 curries = 20 * 2 = Rs 40


To this day, with all my senses, I do not understand his logic about the cost neither in terms of effort spent on preparing a roti as compared to curries nor w.r.t the ingredients.

Regards,
Rahul Verma

Pradeep Soundararajan said...

@Rahul,

The Dhaba guy might not be worried with tester customers identifying it but certainly a famous food joint like the one I had been would worry if we mention along with our findings that, "Some people might write this on news paper and spoil your reputation - Beware!"

Its like saying to the developer,"Well, you may choose not to fix this issue but remember last time you had your Diwali spoiled because you made such choices - Happy Diwali"

Anonymous said...

Pradeep wrote:
"c) My idea of using the information conflicts with their idea of using the information."

Do you mean that, management actively distorting the information you give them and then forwarding them to their superior?
In this case one will most likely hear about that only after it has happend, which means trust is damaged to an extent it cannot be restored.

I'm also thinking about a second option which is less drastic, but I can't find the right words to express it right now, need to think a bit on that.

Pradeep Soundararajan said...

@Markus,

Do you mean that, management actively distorting the information you give them and then forwarding them to their superior?

No. Conflicting means - I have a different idea of "using the information" and the senior management has a different idea of "using the information".

RAMIT M KAUL said...

Sometimes a roti and curry says many a things :)

GOD BLESS,
Ramit

Pradeep Soundararajan said...

@Ramit,

Sometimes a roti and curry says many a things :)

Most of the times, I think, Roti Curry says someone was hungry!

Meeta Prakash said...

Hi Pradeep

Yes, as a tester you might have felt good by highlighting this incident to the restaurant.

Factually I have seen this as a money making gimmick across many places. They will cut a sorry figure when you highlight and say that they will correct it, but please visit the joint again after a month and you'll find the same practice running.

The simple fact ROI :)

Pradeep Soundararajan said...

@Meeta,

Well you are right. In case that food joint doesn't change despite what they said they will do, I lose little. I learned testing lessons and also learned to help someone learn these lessons.

However, I did mention to them that I was from Press/Print/Media, so they must be watching the news papers eagerly without little knowledge that its already on my blog ( without their name, of course )

It takes 1 minute to edit the post with their name and you never know what it leads to.

SrinivasRadaram said...

Pradeep,

Don’t you think the same is true even with software products/modules?

Say a software product is made of 4-5 modules and a company can sell the same product for some money and the same company can sell individual modules for money which when added would be for sure greater than the complete product. I think this happens in almost all the businesses. Another example I would like to get it over here is the trainings that you conduct. Say you are conducting 4 different trainings in this year and you fix some amount for the same. If a group of people want to join with different combinations than the rate that you charge them would be different. Am I rite?

The reason I think you get only roti/curry @ Rs.10 was, what happens either of them remains by the end of day when few people take roti/curry extra.

As far as I know, most of do know why extra item would cost more, because we come across many such incidences. The best way would have been, before going for such extra items just think and order the one that you think would cost you reasonable amount. In the case that you mentioned I would have gone for another plate of roti+curry rather than extra roti/curry.

And I was able to give the above reason, because whenever I encounter such problem/issue I tend to ask the concern person as many questions as possible and get them clarified.

Let me know if I was able to make any sense? This was only my view.

Regards,
Srinivas.

Anonymous said...

I spent a little more time on thinking about the c)-Option. Could the following example describe such a situation where you and the management have different opinions about using the data you provide?

You provide them with a risk assessment based on the set of bugreports from the last week. You expect that they will use the information to re-estimate the projectplan and adjust it if they deem it necessary. Instead they use this information to start picking on the programmers who did a certain part of the software, which had extremly high ration of bugs/LOC.

Pradeep Soundararajan said...

@Markus,

You expect that they will use the information to re-estimate the projectplan and adjust it if they deem it necessary. Instead they use this information to start picking on the programmers who did a certain part of the software, which had extremly high ration of bugs/LOC.


Michael Bolton left us an important message in his above comment: We testers provide information. What the management does with it is up to them.

Maybe I was struggling to think why a management is under utilizing the information I gave but now I realize that I should have spent that time on providing more information - because that's my job to provide information.

Anonymous said...

Hi Pradeep,

I will explain you what the caterer in my office does - he charges for full thali differently from what you pay if you take all items in the thali individually. And remember the quantity does not change. If you try explaining this to him he will say "sab saath mein lete hai toh discounted rate hota hai m'am".

Does this guy change his rates - NO. Why? he knows their is no major (quality related) complain against him, the Admin is fine with his performance, most of the staff will still have food from him as they have little choice as they cannot go out everyday, he has 1 year contract that makes his position even more safer.

So...this is another perception of the same problem.

- Sangeeta

Incarnated Atma said...

Hi Pradeep,
Interesting story. well, most of the software professionals need to burn calories because of todays life style we are leading.
did you order a naan and got roti? hope not. well, this is called requirement specification and what you got is a delivered product. how they sell it or market it is a different thing. have you ever bought grocery in bulk? if yes, many a times you have noticed that if you buy a kg rice it will cost you Rs.20/kg and if you buy 5kg it will cost you Rs.90. did you ever complained about it? certainly not. so managing or selling a product is altogether a diff ball game. if you buy a plate meal definitely it will cost you less rather buying it item wise. as i came to know that a soft drink costs 60 or 90 paise to produce it, because of advertising and transportation costs it costs around 11 to 12 rupees. can i say, hey sell your product without spending much on advertising or paying a celeb, which might reduce it's price to almost 50%. so it's a management strategy to sell their products as much as possible in their own style. if it works for them and bring more business then you can't say it's wrong. 2+2 is not always equal to 4 in marketing.
Vijay.....

Unknown said...

I dont know whats the idea behind pricing it differently.

However, they would have priced it assuming that somebody will take the item as an "extra" with a different item.

Also, individual things are charged extra because it might break their set (thali is a set). So, if I ask extra roti/curry, it might be breaking the set of thalis prepared already.

Just a rough guess.