Thursday, March 25, 2010

Learning experiences

So, the man who claims to be thinking for himself woke up and remembered he had a blog. I haven't written anything here in a long time but I will start over and try to establish some kind of flow.

I got an idea for a series of posts today. It was my own idea but I didn't see it until Pradeep Soundararajan kicked it back to me. He suggested I write a series of posts about what makes my "eyes and brains tiered". That was a challenge back at me based on a comment I made on his blog. So i will!

As the title suggests I will keep going along this track for a while. It will be about what I use to learn new stuff and maybe even how I use my new knowledge in my work. That may be related or relatable to testing. That is entirely up to you. Read it. Comment it. Use it. Don't use it. If you do find something useful please use it and remember where you found it. I give no guarantees that anything here will be useful for anyone other than me.

Experience #1

The other day my brother asked me if I wanted to join him look at a house. He and his wife are moving down here from Stockholm and I thought it might be fun and maybe even helpful to him. It was one of those evenings when it was just me and my 3 and a half year old daughter home so I put her in her seat next to mine in the car and we were off. On the way I we talked and I pointed out that soon we'll pass the garage where they fixed my car about a month ago. She started talking about that air comes out, at two places on my car. I was completely lost there for about 30 seconds until she said it was at the back of my car and that that was what they fixed. Then it clicked. She was talking about the exhaust, of course. It was air to her, exhaust to me. Two places, was really one. At least in my world.

The problem with the car was that after sliding, not very fast, of the road I got stuck in the snow and had to get pulled out of the snow by a very big and friendly tractor. The catalytic converter got beat up and my car got a bad case of asthma and the exhaust fumes couldn't get through so it leaked out and ended up in my air intake when I hit the accelerator. So it came out in two places!

I was so happy when I understood what she meant. She got all the parts right, using her own words. I had to use my tired brain to decode her language, she speaks very well and has a large vocabulary for her age, so it's usually easy to understand what she's talking about. In this case it took some thinking. I quickly realized, and actually thought this as we were driving along and I was praising her for remembering the details, that this is what I encounter everyday when dealing with clients and, not always to a lesser extent, my colleagues.

Today this helped me understand a clients problem late in the afternoon. His words were not the ones I would use but I remembered that drive and the talk I had with my daughter and I do believe I has a pretty good idea about how to find and fix the problem tomorrow when I go to see him.

Sometimes this is obvious. The fact that we call things by different names that hold different meaning and has different values for us. In those cases it's easy to see through it and understand the person we're talking to. A few questions and we're usually on the right track. The tricky part is when we assume that the person we're talking to is coming from the same place as we are. That's when we think that we understand each other but later we find out that not only were we not on the same page but not even in the same book! That's when it can get very expensive!

In testing we may be fooled by something that looks familiar and we think we understand what we're supposed to do or think we understand what is going on. If we don't question familiar looking stuff we can miss a lot. It's about communication with the system and testing it! I might use my "Why not?" heuristic in that case. It's about communication with oracles and here we really need to think in order to make sure we understand the oracle. It's not a very useful oracle if we don't understand it. To me it is all about remembering and recognizing the current context. I'm sure there are more ways were remembering this is important. I just can't think of them right now.

The point to me was that I learnt something in a context that was not one where I was expecting to learn. I didn't dismiss my daughter because I didn't understand her at first, or because she's only 3 and a half years old, and that fact alone made me proud of myself as a father, and I did learn an important lesson. Listen and think and keep listening while you think. It will help!