On trust, respect and integrity (a CAST 2016 introspection)
This is a standalone post reflecting on my experiences at CAST 2016. If you're interested in the ideas that are discussed here, I've posted a lot more material from the conference: TestRetreat, Tutorials, Day One, Day Two.
The theme of CAST 2016 was "Testing as a software development catalyst", so - although it wasn't explicitly stated - it was perhaps unsurprising that there were recurring sentiments around the subject of trust, responsibility, respect and integrity at this year's conference. All of these are essential components of building bridges between teams, and creating safer environments in which to collaborate.
This seems particularly apt during a time when the level of counterproductive discourse in the testing community (particularly on Twitter) seems to be at an all-time high, with petty squabbles, cliques and crossed wires threatening the value of conversation. It was the focus of my Lightning Talk at CAST (I believe the videos are being published shortly, at which point I'll write a companion blog post) and is also discussed in the latest episode of Testing in the Pub: "Community Confusion".
Therefore I'd have to say that the most surprising session for me at CAST was the after-hours debate on ethics which was held at the end of Day 1. It didn't start until 7pm, some two hours after the official sessions of the day had ended, but the majority of delegates stayed to listen and participate. Ironically this was a difficult debate to tweet about, as people were throwing around statements which would be prone to being torn to shreds on social media, so I kept much of it anonymous. However, you can find a selection of comments in this Storify extract:
As Richard Bradshaw said, the nature of these conversations are unlikely to change. The certification landscape isn't going to change overnight. But at the very least, we can show a level of professionalism in our discussions, and attempt to engage with people without casting judgement.
Likewise for terminology, such as the Testing vs Checking discussion. I find this distinction useful in discussions, and others might too, but it shouldn't be used as a stick with which to beat people who haven't encountered this distinction before. Richard's lightning talk, "Automation in Testing", directly addressed this: "I don't care what words you use, these work for me."
Nevertheless, while compromise is a useful tool to find common ground, it's also important to stand up for what you believe in. As Keith McIntosh said during his CAST track session: "We're not always right, but don't be told you're always wrong". This might mean forcing debate to happen, and this can be healthy: when people hold opposing views, conflict is a necessary part of reaching compromise and understanding. And it's important to remember (particularly in a context-driven community) that it's possible for two people to have differing ideas about an approach, and for both to be valuable for their particular context.
Everybody has their part to play in delivering quality software, and even where somebody seems to be underperforming or working against your goal, it's rare that this is being done maliciously. To build trust within your team, it's usually best to assume good faith, stay calm, and gently push back. Don't take things personally, you're all in this together!
It's a topic that I covered recently in a post on LinkedIn, entitled How do we make the boat go faster?, after a discussion with British gold-medal winning rower Steve Williams. The title of the post comes from a questioning technique used by coach Jürgen Gröbler when reviewing the crew's daily performance: focus on the team objective, not on finger-pointing or negativity. It's particularly apt now that Team GB's coxless fours won gold again in Rio - unbelievably, Gröbler has now coached gold medal winning crews at every olympiad since 1972 (five with East Germany, six with Great Britain).
However you choose to conduct yourself, one of your most valued weapons is that of integrity: acting without a hidden agenda, with the best interests of your team at heart. When people see that you have integrity, you can attempt large or impactful changes without threatening your credibility, as your colleagues understand that (even if you don't succeed) you are trying to make things better. This was referenced in Curtis Pettit's track session, "When You're Evil: Building Credibility-Based Relationships with Developers". Curtis's so-called "evil" approaches to bonding may have appeared underhand to some, but they were framed within the desire to build a more productive team. As I said during Open Season, it would be very different if these same techniques were being used - for example - to undermine or discredit people.
Of course, we have relatively little control over whether people choose to display trust or respect towards us. But even if they don't, showing a little to them can encourage them to reciprocate. It's a simple message, but one that's difficult to get across when communicating online. Could we be doing more to help? Let's see if we can create more positive messages in our daily lives.