Sunday, November 15, 2015

Empathy's dark side

I had planned to go into this material at some future date.  Sadly the recent terror attacks in Paris has made the content material more relevant, and hence I've decided to interrupt our series exploring memory to cover this.

One of the problems we're often told about the modern world is that we're too connected electronically, but too disconnected emotionally with one another.  We lack empathy for others.

Empathy is important to how social groups work.  It was believed that there were common properties in all mammalian brains (including humans) to deal with emotional processing which was a vital part of enabling mammals to work in packs/tribes.  Emotion allows animals to inter-relate, and take care and protect each other, rather than caring solely to the needs of the self.

So empathy has got to be a good thing, right?  Sadly not, according to recent research by Anneke Buffone and Michael Poulin of the University Of Buffalo.  Like so many things in life, some is beneficial, but too much can lead to aggression and violence, which alarmingly does not have to be directed back at perpetrators of an experienced injustice.

Their research has shown that when some people are witness to Person A who has been the victim of an ordeal, those witnesses can show quite violent and aggressive behaviour.  Now some of that's not too much of a shocker, a lot of such behaviour is often wrapped up as "a desire for justice".  However, their test was set up and showed that such behaviour is readily applied to someone, even when the witness knows that person is nothing to do with Person A.

It goes without saying that such behaviour perpetrates other injustices.  And rather than rectify the original problem, it just mimics and replicates the injustices.

With the recent abhorant behaviour of the Islamic State with their executions, and this recent terror attacks, it has really tugged on the heartstrings of many.  It hurts, it feels unjust, vile, reprehensible and there is a desire to "get back" at them - which is completely understandable.  Criminals should be punished.

Where it gets darker is when we just wish to strike back at not just them, but people who share some common attribute - whether their country of origin, the colour of their skin or their religion.  We want someone to pay, what we often care less for is whether the person who pays legitimately is associated with those who did the crime.

We see this all too often.  When I was a child, there was a murder of a paperboy called Carl Bridgewater who was brutally murdered.  The public was outraged, and demanded someone was caught and prosecuted.  In the end the police fabricated evidence against a group of people to appease the public anger.  It didn't matter that the wrong people were prosecuted, as long as someone was.

We see this time and again - a desire to "get someone" to make someone pay for some crime we feel is horrendous.  Within the British justice system, perhaps the Derek Bentley case sums this most effectively.  A British policeman was shot by a minor, so they charged and hung one of his collaborators based on him allegedly uttering the words "let him have it" (it's open to debate over whether that meant "give him the gun" or "shoot him").  

As an adult I've lived through the September 11th attacks, and the London Bombings.  All of which made my blood boil.  In the shadow of September 11th, attacks on the Sikh community escalated, sometimes spilling into murder.  This was despite Sikhs being nothing to do with the Muslim extremist group behind the attacks - but with their distinguishing turbans they were noticeably different and an easy target.

In the aftermath of the Paris attacks, with 130 dead, there is a desire for retribution.  Retribution disguised as justice. I have seen countless friends or groups who have expressed a desire to bomb the Middle East into the stone age, and to put every refugee from Syria into a detention camp and ship them home.

Ironically I feel this is exactly what the Islamic State wants - to justify their hate with your hate.  To use any action we might take to justify their action, in a way to recruit future Jihadi Johns to their cause.  They want you to distance yourself from your neighbour, your coworker, that guy who owns a shop, who just happens to have a darker complexion to you.

Those who perpetrated the attacks need to be brought to justice (yes, even killed if that's not possible) as well as those behind the attacks.  But as much as possible we should seek to avoid harm to those innocents in the crossfire - people who are as much victims of groups like the Islamic State.

There was a great line at the end of recent Star Trek films, which I'm going to repeat here.  At the end of Star Trek Into Darkness, Khan had caused the deaths of a lot of people, and to be honest, I really wanted him to die in the end, but instead he was allowed to live.  Here's what Kirk said,

"There will always be those who mean to do us harm. To stop them, we risk awakening the same evil within ourselves. Our first instinct is to seek revenge when those we love are taken from us. But that's not who we are"

We should never forget those who are murdered in such attacks.  It's a positive thing that the deaths of so many does move us - although as many have noted, terrorism is going on at an alarm rate elsewhere in the world, with attacks on this scale weekly, but as it occurs away from the western world, we don't pay it as much attention.

However we should not allow ourselves to be the puppets of terrorists or people within our own society with similarly "simplistic yet reactionary" policies.  That is the way of the lynch mob, seeking vengeance in a misguided belief it is pursuing justice.  It neither honours the memories of the victims or help to bring in a more secure world for us all.

Let us always seek to show why we are civilised, and they are the barbarians.


Wednesday, November 4, 2015

Memory 101: The psychology of time travel

I am standing in a hallway - it's a very familiar place to me.  I can hear voices in front of me arguing about what they can and can't have for breakfast.  I know this place all too well, and I know the owners of those voices all too well.

I also know that they are both dead, but that doesn't stop me walking into the kitchen.  They're both there, as I left them in 2009.  The kitchen is as I left it in 2009.  I know John died in 2011, and Ruth died in 2014.  They are my in-laws, much beloved by me.

I can smell that distinct smell of the scullery beyond.  A clammy, slightly damp smell of wet, white plaster.  I see the 10-year old 1 litre bottle of Teacher's whiskey on the top of the cupboard, which has only been slightly drunk.

I smile at them both, and want to cry.  As real as it feels, I know it can't be.  I desperately want to reach out and pull my wife into this place with me.  So she can enjoy this moment with them both.  I smile at them both and say "I just want to stay here a little longer".

The next moment, I wake up.  Unsure of quite what has happened.  It seemed so real, more vividly real than any memory.

Time Travellers Anonymous

We are obsessed by the ideas of time travel.  The truth is we actually time travel a lot - events in the past are often pulling us from the here and now.  The vehicle which enables this though is no Tardis, it's simply our memories.

With a passion unbridled we want to go back and re-experience the past.  But most of all there's a desire to change things - more than anything a desire to change our memories.  Ironically we do that a lot - when we replay a memory we do actually re-experience it, but we also tend to re-edit it as well, often in a manner which is more favourable to ourselves.

It's important to understand just how rotten our memory is at this, and how easily it can be corrupted.  This is quite a scary thing, because we rely heavily on our memory, our memory is essentially our identity.  And this can cause us to feel quite flustered when other people's account of an event is different to how we remember it.

Our memory is fallible - it's not perfect, but it also can easily be corrupted.  We like to think of memory as being "tape recorder details" of event but the truth is we remember just a few things about a certain event (if we're lucky), and have a habit of filling in the gaps.

Remember, every time we access a memory, we're re-experiencing it. Often there are large holes in our memory (we tend to remember only a few thing - if we're lucky), and we just "fill in the gaps".  But like a crazy game of Chinese whispers, each time you access it, you have the potential to shift it subtly.

Need an example of how bad it can get?  I virtually repeated the same sentence, just a few sentences apart - and a good number of you won't have noticed!

Here's a couple more examples examples ...

The Green Polka Dot Blouse

I can remember my first date with the future Mrs Talks - it was at Bas's Wine Bar in Aigburth.  I remember clearly choosing out my best clothes to be seen to impress.  About two months into dating, my wife put on a green, polka dot blouse - and said "do you remember this?" but I didn't.  She told me it was the shirt she'd worn to our first date.

Well, my brain knew this was important, and filed it away - just in case she asked me again.  But the funny thing is, when I think back to that first date, I see her in that polka dot blouse.  How can I not remember two months after, yet 20 years later see it clearly?  Having been told (and it being impressed upon me), I altered my memory to include it.  It's subtle, but it changes.

That Roller Skating Date With Julie Lewis

Talking about going back in time to change things ... I have a friend from school called Julie Lewis, who I had a huge crush on.  I asked her out a lot, but it never happened - there was a huge pang of misery when I learned several years later that she'd married and was having a baby whilst I was very much single.

Another example of spurned love ... so why do I have a memory of us on a date?  This one is a bit crazy.  For sure we went places together (we were friends), and occasionally just us.  But I have a vivid memory of us going roller skating as a date in Derby.

I think what happened is our youth group went roller skating, but I only remember interacting and skating with Julie.  This could paint me as a massive jerk, but I might even have been dating someone else at the time, and she might have been there.  But for some reason my memory has only kept and "framed" from that event my interactions with Julie, and in such a way to make it "like a date".

The date that wasn't.

Memories - handle with care

All of this shows that memories really are an odd form of time travel.  They reprocess parts of our past through our senses.  They have the potential to take us clearly out of the here and now - even as I've been writing this article, I've noticed myself occasionally losing focus of where I am, "lost in the past".

As we've alluded to, we even have the potential to rewrite the past, to create a little alternate reality bubble for our past.  A reality which might not align with everyone else's experience of the same events.

We'll explore some implications of this in a follow-on post.  But for now, I just want to acknowledge the power, pull and quirkiness of memories, especially when they are the only way to reconnect with people we've lost.

To explore more about this subject, find the links below.  And remember, you promised on Twitter to buy my book ...

The next chapter: Exploring human fallibility...

In pretty much every book I've ever seen on testing, the first chapter usually starts with a discussion on why we need testers.  And the reason is always given that "we need testers because human beings are fallible when it comes to creating things".

This is absolutely true.  However in many people's education on testing, once this has been brought up, it's immediately dropped, and never returned to.

But consider this - if we knew more about the ways that we as humans are unconsciously susceptible, wouldn't that make us better at anticipating problems?  That is an approach which is far more uncommon, and really it was James Bach's Rapid Software Testing course that was the first time I'd encountered a serious look at how such psychological limitations impact how we functioned within an IT context.

We've covered aspects of this before - however I want critical thinking to become much more the focus of topics explored going into 2016, although as always it'll be linking back to IT related themes.

So that means, some of the subjects covered on this blog may well seem initially a bit odd- but humour me.  Then again, this is a blog which has covered alien invasions and flat earths - so I guess you know that weird comes with the territory ...

Monday, November 2, 2015

Post 200 - looking back, and planning forward ...

My 200th blog post is quite an achievement, and a good time to read back especially through my recent posts.

I've always used anniversaries of blogging as a good excuse to hold a bit of a retrospective.  And like any good retrospective, you look back, and then you plan ahead.

What surprises me is how much I've found to talk about.  Originally this was going to a place to gather together some typical resources on testing I kept finding myself writing in one company, then having to recreate when I moved on.  I figured maybe 20 or 30 posts tops.

However, as the blog took shape, I found there were all kinds of aspects of work life I wanted to write about and reflect on.  Particularly I found writing to be a therapeutic activity to observe, dissect, and propose about common problems I'd find in the working life.  And not all those problems were strictly "testing problems".  But then perhaps that was not too surprising, write Jerry Weinberg has stated, "all software problems are people problems", and this blog in many ways has been as much about exploring "the human condition" as it applies to I.T.

It's certainly something I'm aiming to explore with the next series of posts I'm working on.  I managed to reach a personal milestone recently - my How To Test book has given a good, basic approach to applying testing ideas, and I've had a lot of positive feedback on it (as well as a few typos pointed out).

But some of what is to come really excites me - we're set in the next few posts to explore some pretty giant themes, and how they can apply to us as human beings, and to the world of testing.  In How To Test, I've introduced you to a box of tricks, and called it testing.

Going into 2016, I'm going to try and open the doors to that box, and like the Tardis, show you the whole world that goes on inside it.  If you've ever found yourself going, "well, it's just testing ...", buckle up and enjoy the journey ...

Monday, October 19, 2015

How To Test - the book

This has been something I tried to put together a few years ago, I started work on it, but it never quite came to fruition.

It had been something I'd been talking with Bernice Ruhland about.  How can you help someone in their first steps as a software tester?

One thing I knew - I had a lot of very authoritative books about testing, which usually came out on the epic side.  They talked about requirements and waterfall methods.  About verification and validation models.  About terminology.

But what they didn't really cover to my satisfaction was "how do you test" / "where do you get ideas to test"?  When I did James Bach's Rapid Software Testing course in 2012, I actually felt a bit annoyed when he covered oracles and heuristics.  This was a scalable model which could be applied to so much - so why wasn't this being taught as day one of test school instead of multiple choice questions about the difference between a bug and a defect?

I became more passionate about the need for a short intro which focused on "real testing" as done day-to-day when I heard about "testing bootcamps" which were being offered around the world to graduates.  For a few thousand dollars, they promised to train you (including ISTQB certification), and you would be guaranteed a career.

I have a son who is facing going to University next year, so I know it doesn't come cheap.  And the idea of more expense after a degree to just get anyone to take you seriously quite horrifies me.  [I'm that odd thing, someone from a generation of free higher education who believes this generation deserves it too]

Hence I wanted to put together a book which covers some of the core basics of testing, especially some worked examples of the application of oracles and heuristics.  Enough to get people's toes into the water to see if they like the profession.  This book had to be free.  It had to be short, easy to work through and easy to read - it was never aiming for authoritative, but it would give advice for next steps at the end.

All told I spent 6 years at University - I never studied a single computers module.  But I understood at the end that part of my education is that I'd learned to apply myself and discipline myself to learn anything.  When I was unemployed after my failed PhD, I read a lot about programming, enough to get interviews and enough to write programs in interviews so people could tell I knew what I was doing.  I got my first job at Thomson Marconi Sonar, and hit the ground running.  What amazes me though is that I learned all this about programming in C++ - but didn't own a computer at the time.

My son Cameron recently met James Bach, and James talked to him about Cameron's aspirations.  James told him about his first day as a test manager at Apple (after some success working as a programmer), and how on that day everything clicked for him.  He found something he truly enjoyed and that motivated him.  "If you follow your passion you will find your discipline", was James's excellent advice.

This is my introduction book to testing.  If it intrigues you, I encourage you too to follow your passion ...

Saturday, September 26, 2015

Is this agile?

The picture below has been going viral around the internet the last few months.

It's of course easy to giggle at this, then come into work and go without a shade of irony "oh yes ... the reason we're not going to get this story finished because we're not going to get the analysis/development/testing tasks done on time".

Thinking back to last week's post, it's important to remember that everyone (as above) is in the same boat.  Everyone drowns together.

If your agile boat is running a little low in the water, and the leak is not your end, you need to be asking everyone in the boat, "how can I help?".

Monday, September 14, 2015

Taking tasks from the board ...

I've been doing an excellent bootcamp with my personal trainer the last month.  Called "Dan's playground", he's been training us in a series of exercises, with things getting interesting this last couple of weeks.

We've been given a board of tasks to complete as a team ...

We have to complete all these activities to a number of repetitions (which can be shared amongst us as we see fit).  The only constraint is we have a fixed time to finish it - typically 40 minutes, but it's being reduced to 30 minutes recently.  We get 2 minutes as a team to plan, and then we have to get down to it.

I'll ask this now ... DOES ANY OF THIS SOUND FAMILIAR?  [Hint: agile]

Our group has a diverse level of fitness levels and body types.  With my scrum training (and I mean rugby scrum here), I have no issues doing the bench pushes (see below) ...

But as for hanging from the monkey bars for 180 seconds, no thanks.

Here's how we typically do it.  We ask people in the team "what do you feel most comfortable / really want to do?".  And start from there.  People go away, do as many as they can, and come back to see what's left.

Inevitably there's some areas which none of us are really too keen on, and it ends with us all working together at the end to get it done, but we do get through it.  It's also important to me that I don't monopolise the bench pushes, and encourage others to "have a go", because they might really love it when they try it.

But most of all, with this approach we get the job done.  There are some things we really know we can do, and some things which are either a bit unpleasant, or else stretch us.  And that's okay as well.

What's interesting is how much this overlaps with what we explored recently in the Kiwi Workshop on Sofware Testing, exploring testing roles.  Two of the experience reports talked on stepping outside of the testing role when needed, and how important it was for the whole team to step outisde of their role once in a while to "get shit done".

In the gym exercise, it would be very easy to define ourselves by roles,

  • "I'm a strong man, so I only do bench pushes"
  • "I'm a gymnast, so I only do monkey bar work and floor exercises"
  • "I'm a runner, so I only do running stuff"

With such an attitude, we'd fail every one of our challenges.  Instead as an agile team, we need to define ourselves by the activities we have on either our sprint board (if we're agile) or our personal trainers activity board (if we're doing a gym session).

We need to focus on "what needs to be done" and "what can I do".

As I talked in the previous blog on Storming-Norming-Forming-Performing, there's something fascinating about looking at how we make decisions and evolve as groups.  I often feel the even two-week sprints aren't rapid enough for learning.

Earlier this year, a project I was working on arranged a series of bootcamps, and it really helped to connect together everyone who attended - it was all about working together.  Without doubt, if you're starting a new agile team, it's well worth engaging the services of a local personal trainer, and have a couple of compulsory exercises to help the team work out how they approach activities and work together to a common goal.