I learned a few things from the challenge which I wrote down at the time. Writing things down at the time was important for me for a couple of reasons:
1. So that I didn't forget about the things I learned
2. So that it was harder for me to 'distort' things, I didn't want to be caught out by any hindsight bias if at all possible. (although I'm wondering if that can ever be possible)
note: I have also been avoiding reading a few other challenges in the community so that I didn't become bias by what people have been saying about those. I believe Michael Bolton set another challenge since
The challenge that Michael gave over twitter (by mistake ironically) was this:
“Challenge for you: think of at least ten reasons why the programmer might be wrong in marking a problem fixed. I’ll play too. #testing”
I think it is important for me to reflect and learn from my answers to the challenge.
I saw a few answers coming in from the people I follow on twitter...
So I started by trying not to think of things already being suggested quickly by other people. I was also trying to think of non-obvious/obscure or unusual reasons
I learned a few things there, don't forget obvious things just because they are obvious and watch out for being swayed by other suggestions.
These issues can happen in our testing work and have happened in my testing work, a couple of things spring to mind:
- Assuming because a bug is obvious that someone must have reported it and yet the bug gets unreported.
- It can be easy to get swayed by other people a lot I have been in teams where you are all pulling in the same direction right? But sometimes what you may be sharing is a 'vision' or perceptions and not the 'actual'. This reminds me of groupthink where the group thinks something and everyone goes along with it. Also, I remember seeing a video once where a group of people were in a room and smoke started pouring through the door, people saw the smoke but because no-one in the room moved to escape the fire everyone remained seated in the room.
Also commuting each day I do seem to get carried and swayed by the mass of people and speed of movement in the crowd of commuters.
@michaelbolton Postive outcome bias? Ostrich effect? Have they fixed the problem or just the consequence of the problem?
Well I was a bit wayward here too, for positive outcome bias what I was thinking though was the programmer wanting the problem to be fixed. So saw or enhanced the positive effects but ignored possible negative effects i.e. introducing more problems. I initially thought that was positive outcome bias but what it really is a sort of valence effect or optimism bias.
When mentioning the ostrich effect I was thinking that the programmer just buried his head in the sand didn't fix the issue and marked the problem as fixed.
Two learning points here:
1. These are possible causes of a reason not a reason
The reason being that the programmer has introduced more problems or not fixed the problem
2. I'm not entirely familiar with all biases and must make sure I am.
I am now trialling the following resources as my own bias think list:
If anyone wants to have a go here are the letters:
A A B B C C C C D D E E E F F H H I I I I I L M M M N N N O O P P P R R S S S S U W Z
UPDATE: Wow, since I posted the blog John Stevenson came up with not one but two mneumonics and I am impressed with the incredible speed in which he did this:
schizophrenic San Francisco MILF DEB weds bum pimp
Wimp scrubbers demonize spliff and chic champions
Simon Morley added the following Mneumonic:
shrewd insomniac scoffs prized climb in beach pump
@michaelbolton may wrongly think it does not apply now that the next release of code is iminent.
I think this is a valid reason, and one that I have experienced the hard way, the issue was still there in the next release of code even though it was claimed by the programmer to be fixed.
@michaelbolton No user they could think of would ever do that.
What I was thinking was to have a humurous element to a response, but also that the programmer marked the problem as fixed because he didn't think there was a problem.
This is more likely to be a 'not a bug' status rather than 'fixed' status
It was my attempt a humerous response which does not apply in this context and therefore not helpful.
Learning points:
1. Although humour can be used in a postive ways:
- As a good ice breaker - Building team relationships
- Can be useful to dissolve tension
- Coping with unpleasant situations
- Gauge information or extract information that may not be shared formally.
Caution has to be taken in it's use for a questionable humorous response out of context may not helpful i.e it must be used wisely
@michaelbolton The programmer was told to mark it has fixed to get the fix rate up
My thinking here was that the programmer may have been ordered/influenced by someone else to mark the problem as fixed because the team may have been influenced by numbers and by marking the problem as fixed made the numbers look better for them.
@michaelbolton their definition of fixed did not match those of others
Here my thinking being what the programmer thought was fixed is not what other members of the team mean as fixed, a meaning or interpretation difference and hence the programmer marked the problem fixed when it should have been marked as another status and hence could be construed as 'wrong'.
Ok, I started mulling over the words in the challenge a lot, could I be misinterpreting the words? (I know this can be quite easy on Twitter), also could Michael be presenting us with a 'trick' question...
I started to think about who might be 'wrong', could it not be the programmer who is wrong at all, could it be the team? could it be me the tester, could the programmer be fixing an issue I raised, and I have not reported it clearly enough and therfore the problem has not been fixed at all. Could I be 'wrong' in that sense? Could I not have been communicating clearly enough with the programmer, i.e. should I have known that the programmer was fixing the problem and therfore we could have worked on the fix together, or should I have built a 'better' relationship such that we collaborate on fixes before the problem is marked 'fixed', (like what Darren McMillan has described as a 'show and tell' in Proactive Testing - Technique 2) .Or the programmer didn't understand me when I asked whether he could show me/discuss with me the fix before it was marked as 'fixed'. This led me to my next tweet:
@michaelbolton the programmer didn't know how I could help. I didn't build a good enough relationship or I didn't help enough.
All through the challenge I was trying to put a situational context to the question, tried to remember things that may have happened to me previously.
@michaelbolton fix was low priority, coding fixes are required in perceived 'higher risk if not fixed' areas.
Another situation I have been in, whereby a percieved low severity bug has been fixed over a percieved higher severity bug, this could be percieved as problem as a lower risk problem may have been fixed instead of a higher risk problem.
@michaelbolton do we need to focus on what's wrong?Solutions?Are we missing something else by focusing on what's wrong?
I added a human element to the question and started thinking about the programmer. I did ask "Do we need to focus on what’s wrong?" - which I think in hindsight the answer is 'Yes' that was the question!
I'm not sure if I was feeling it was a pointy finger at programmer moment. Or whether I was putting too much emphasis on the word 'wrong'. - (or associating it on not being a nice thing to be) I was thinking about whether I could help with a solution (which wasn't part of the question), Again I think I've learned something here, as I'm not sure I needed to do this, the question wasn't about a particular person or specific situational context.
In my last question "Are we missing something else by focusing on what’s wrong?" I was wondering whether I was missing other things, other issues elsewhere by focusing too much of my efforts on the change in bug status which could have been a 'wrong' thing to do. Since asking this question Michael clarified the challenge question for me and changed the word 'wrong' to 'misleading' - I'm not sure if this would have changed my thinking radically but I may not have asked the last question.
I was thinking about the words in the question a lot, and probably should have asked Michael to clarify things further, but didn't want to prolong the massage Michael seemed to be getting from his phone with the vibration of all the tweets he was recieving on the challenge. I was aware that there can be a restriction in understanding specific meaning in words especially on twitter.
What I should have done is gone away written down my 10 things and come back and presented them. I think that is a big thing that I didn't do.
I write things down all the time at work, I mean all the time write draw, doodle...
I must go through so many sticky notepads it's unreal...ah but what about the things I don't write down?...
Isn't that simple, write things down? I think it's more than that, it is thinking about what you wrote or writing what your thinking. (what I have also learned is I haven't got this facility on my iphone, that enables me to right things down as quickly as writing them down on paper - any suggestions please?)
The quote below was from the following article which I think may have helped me a lot.
http://www.positivityblog.com/index.php/2010/09/30/write-things-down/
“When you write down your ideas you automatically focus your full attention on them. Few if any of us can write one thought and think another at the same time. Thus a pencil and paper make excellent concentration tools.”
Michael Leboeuf
Learning Point: I'm now looking at ways I write things down, what I write down and how I can improve that.
Another big thing was that I think I may also have distorted the context in some of my answers, or not got the correct context, or applied a specific situational context where there wasn't one.
Actually that's massive I could have been trying to solve the wrong problem! I could have got a better understanding of the context from Michael had I asked a few questions:
Problem - What did he mean by 'problem'?, whose problem? How big?
Fixed - What does that mean to you? to the team? Does that mean Code?
Wrong - Wrong to whom? What does Wrong mean? What does wrong mean to you? What is the significance of being wrong?
Marked - Did 'marked' mean in a bug database?.
Do you mean?
Or simply, Can you explain the context?
The following is a link to Einsteins secret to Amazing problem solving:
http://litemind.com/problem-definition/
Here it is stated that Einstein was quoted to say that if he had one hour to save the world he would spend fifty-five minutes defining the problem and only five minutes finding the solution
I didn't know about that quote, and I think the 10 tips will be useful to me.
I have probably fallen into a lot of bias traps - there are a lot of them maybe even a hindsight bias...
Thanks again to Michael Bolton for the challenge
Thanks To Michel Kraaij for his tweet which ended up as my blog title.
And a big high 5 to all those who contributed to the challenge!
Can you spot any bias traps I fell into?
What could you learn for your next challenge?
Also whilst reasearching how to get better I stumbled across the following resources:
Among other things in the Skeptics Dictionary- Critical Thinking http://www.skepdic.com/ticriticalthinking.html
Stanford Encyclopedia of Philosophy - Analytic/Synthetic Distinction (which has been like open in safari on my iphone for an age:
http://plato.stanford.edu/entries/analytic-synthetic/
Hi Peter,
ReplyDeleteVery nice write up, the only negative thing I have to say is the amount of external reading sources I now have to go away and read! :-) Seriously, you've provided some excellent sources of further reading, so thanks for that.
I think beginning to develop approaches to these types of challenges using your own testing model certainly helps. Something that works for you is much more valuable than another persons model.
I have a question for you. How do we get you to post more? ;-)
Cheers,
Darren.
Hi Darren,
ReplyDeleteThanks for your reading the post, commenting and the kind words. You have been an inspiration to me actually and I have become more aware about my posts and the possible worth to the reader.
I think developing your own approaches to things is crucial and thanks for bringing that up. I have tried to make that a central aspect to my blog I don't want to tell anyone what to do, I want people to find out for themselves. One of the things I was also trying not to do is justify my failures I'm not sure I would have learned so much.
I think Simon Morley and I had a blog comment ping pong a while ago and he summed up his thinking about mneumonics where I think he said it must mean something to you, so make your own up...(ooh good point perhaps I could do a lightning talk at Oxford STC meetup where I play music for 5 minutes - my music mneumonic!) - Where's Rob?
How do you get me to post more? Give me a Markus Gaertner clone! or hire me. Actually it can be quite difficult with a new family )as I'm sure you're aware) But watch this space!
Hi Peter,
ReplyDeleteReally good post - some interesting learning aspects.
Declaring a problem as "fixed" - fixed will mean different things to different people. The devil is in the detail... :)
For the mneumonic - I took it as a challenge, what about: "shrewd insomniac scoffs prized climb in beach pump" - was just missing the extra 's' for "beach pumps" :(
Hi Simon,
ReplyDeleteThanks.
Good Point! Do you mean you might get a better understanding once you 'drill down' to the meaning?
Excellent Simon! Thanks for taking up the challenge. That's a kool mneumonic. I have 3 now and I just need to finish mine off. Wahoo! :)
Peter