What better way to guage your learning than to have a chat with someone who knows (& has proved they know!) what they’re talking about.
This was the tone of the Skype coaching session I was fortunate to have with Anne-Marie Charret (AM) the other week (apologies in getting round to blog about it!)
I was motivated to ask AM for a coaching session after I read about the experience David Greenless had. Skype coaching was definately on my to do list, but I felt I just didn’t have time. Well guess what, I made time & it was well worth it!
I contacted AM to book a session, thinking it would be months before it would come to fruition, but AM managed to arrange a session for a couple of weeks time. This was a pleasant surprise! With AM being in Sydney, I was expecting complications around what time the session would be, but as it happened, it all involved was a late night for me. No harm done!
We exchanged emails prior to the session so that AM could get a handle who I was, what I was about & what I expected to get out of the session – Really, the session began in this email correspondence, with some thought provoking questions (about my current situation & how I got here) which immediately got my grey matter ticking over.
The full transcript, in its unedited glory, can be found here
So after the session had kicked off with the usual pleasantries, background to the coaching & disclosure information, AM asked me if I had heard of socratic learning.
I have seen it mentioned in various website, posts & forums in order to get a vague understanding of the definition, but nothing in depth about the topic. It has been on my research todo list… So I had a stab at answering it, in the vaguest of terms & apparently I didn’t do too badly. One point I missed was that the session was a two-way process – Yes, AM was going to be asking tricky questions in order to get me thinking about testing, I got that bit. The fact that I could push back & challenge AM didn’t register to me at the time, but I’m not one to take facts as read, so I hope I would have picked up on this point as progressed through the session!
I wont go into all the details of the entire session, but the main points were:
- We decided that I out of all the burning questions I had, we’d tackle Critical Thinking in this session
- AM asked me to find something concrete to test (insert cr*p joke here about all I can see is concrete due to us having no floor thanks to “Water Escape”) – I chose a remote control for the TV/PVR/DVD
- AM asked me to describe the remote control – It was halfway through this description that I wished I had chosen the glass of water sat infront of me (but that would have been so cliche!)
- AM then asked me to test the brand name of the remote. This knocked me for a second. I was expecting to test a button & have a smart answer along the lines of the test would fail because the TV was switched off at the wall.
- I came up with what I thought were tests for how I would test the brand name on my remote, but they were not tests, they were actually questions. e.g.
[22:26:02] Duncan Nisbet: Is the brand name always visible when the user is interacting with the remote?
- AM asked me to take the first question & turn it into a test
- My response:
[22:29:23] Duncan Nisbet: Given a user is holding the remote in order to change a channel on the TV
[22:29:44] Duncan Nisbet: When the user looks at the remote in order to operate it
[22:29:55] Duncan Nisbet: Then the brand name is clearly visible
- AM response = OK
- Me thinks = oh dear.
The session continued with AM getting me to refine the test & take out all the ambiguity, by asking questions & proposing scenarios where the test would fail for the wrong reasons, like a small child who cannot read or a man with big hands using the remote.
I started getting a bit of (misguided?) confidence throughout the session & pushing back on some of AMs suggestions. I was trying not to get precious over my test!
The conversation moved to what my defintion of an assumption was. This question absolutely floored me. I use the word everyday, yet I couldn’t find the words to define what I meant by the term “assumption”. I attempted to answer without the use of a search engine:
[22:57:39] Dunan Nisbet: My idea of an assumption…
[22:58:00] Duncan Nisbet: I’m think of them as
[22:58:10] Duncan Nisbet: pre-reqs I guess
[22:58:27] Duncan Nisbet: not to sure of the actual definition
[22:58:45] Duncan Nisbet: I make an assumption about something
[22:58:54] Duncan Nisbet: because I dont actually know
[22:59:05] Duncan Nisbet: hmm
[22:59:12] Duncan Nisbet: thats 2 different definitions
After a quick search, we found a defintion that we were both happy with to frame our conversation around assumptions. We moved to the alternative idea – that of a “hypothesis” – & compared hypotheses to assumptions. That was relatively easy once I had clearer understanding of the definitons.
What I found intersting here was I use the term “Theory” where AM uses the term “Hypothesis”. I often say “I have a theory about X. How can I dis/prove that theory” to frame my exploratory testing. AM swaps theory for hypothesis in the same question.
It appears hypotheses can be considered part of theories – this has now been added to my research todo list!
After that digression into hypotheses vs theories we got back onto assumptions & how they are bad for testing & software development in general.
But in my opinion, we (as a development team) have some level of assumptions in order frame a conversation, otherwise we’d spend more time setting the scene / context to the convesation than actually having the conversation. For example:
[23:17:46] Duncan Nisbet: if i’m working on a stream related to delivering our mobile product
[23:18:11] Duncan Nisbet: and the BA for the mobile product comes over to ask me a question
[23:18:16] Duncan Nisbet: with his pad in his hands
[23:18:37] Duncan Nisbet: its fair to assume he’s going to ask me a question related to the mobile product
[23:18:55] Duncan Nisbet: he’d be a bit pissed if everytime he came to ask me a question
[23:19:17] Duncan Nisbet: I double checked to make sure he was talking about our mobile product
AM asked me what is a test, to which I smartly replied it is a question, hypothesis. This is not what AM wanted! I mentioned a test contains a proposition, as in if I do X, Y happens. AM disagreed. Another topic for my research todo list…
Finally, family commitments got too great & we had to wrap the session so AM did a great debrief which really helped to clarify the term “test” as a verb which gingerly moved towards the use of heuristics, but we’ve saved that for another day!
What did come to the surface was that my test didn’t actually make a valid assertion – the result of something being able to “read” the brandname wasn’t really tangible. There wasn’t any feedback from the test to say that the brandname had been successfully read.
My final, perfect version of the test? It never did get written. The last version was:
[23:20:57] Duncan Nisbet: Given a TV viewer is using the remote in order to change channel on theTV it is programmed for
And remote is placed with the battery side underneath / buttons on top
And the TV viewer knows how to read
When the TV viewer looks at the remote in order to read the text on the buttons to know which button to press
Then the brand name will also be visible to the TV viewer who acknowledges it as a brand name
How would you test the brandname on your remote control? please feel free to leave a comment with your answer!
Thanks for reading,
P.S. If you’ve got any more challenges, please feel free to lay them on me!