'There's no free ticket for the rock star with the most convincing please'
Saturday, 28 April 2018
Testing Tunes 2. Embrace the jazz hands.
Sunday, 8 April 2018
Testing tunes
'So before you go out searching, don't decide what you will find.
Be more kind, my friends, try to be more kind.'
- Before you go out testing, try to be aware of cognitive biases. (So before you go out searching, don't decide what you will find.)
- Be kind to the people around you who have made the product. Be sensitive of other people's feelings, even if it's hard, just try. (Be more kind, my friends, try to be more kind.)
To start with, try go into your testing with an open mind of what you'll find. It could bring you some interesting, important discoveries. Also, don't assume the worst of your colleagues. Of course, the last six times you got a build on this project it was riddled with issues, but this time it might be better, be positive towards it. You never know what this change in approach will result in, new things you'd never noticed.
'So before you go out searching, don't decide what you will find.
Be more kind, my friends, try to be more kind.'
Sunday, 7 January 2018
What do you want from me
https://thelifeofoneman.com/startup-tester-survival-guide
It got under my skin a little and it's taken me a while to fully comprehend why. Let's be clear, I've never worked as a tester in a startup, though I have frequently worked in teams where I've been the only tester.
To begin with I thought that I disagreed with the whole sentiment of the post. I've reread it, and found that I don't have a fundamental problem with the core of the post but that there is a bit at the end which has stuck with me:
So, I spent a long time believing this, that it was my job to 'ensure that the product quality remains at a high standard.' I found this, personally, in the roles I've had, to be very poisonous. Unless you have the power to stop the release train and get the things fixed that you wanted fixing, trying to 'ensure quality' is going to be a thankless task.Remember: The role of the tester is not to find issues, it is to ensure that the product quality remains at a high standard and never accept that something cannot be improved for the next iteration.
So you shouldn't care about quality at all? You can care about quality, but if you do not have the power to decide what's going into live you can't ensure it, you can only try to inform on what the current state is.
So, you think the role of a Tester is to just find issues? No. I think that the role of a tester is fluid and different depending on the rest of the team. The times when I'm happiest and I think the most productive, is when I'm doing the following
- Challenging assumptions
- Investigating the software
- Providing information on how the software work based on investigations I've performed
Remember: The role of the tester is not to find issues, it is to ensure that the product quality remains at a high standard and never accept that something cannot be improved for the next iteration.
Wednesday, 8 November 2017
Do you not want to be a developer instead
This last week I've been doing a little scripting to help me create test data. It's given me a very good reminder of why I'm not a Software Developer.
I can 'code' to a certain extent. I know the fundamentals: I did a computer science degree so I can come up with three languages I know I don't like. But I just don't find a great deal of joy in writing software.
I've not yet finished the tool I'm building and though I enjoy every time bits of it work, I don't find the formation of the solution as satisfying as maybe I should do. The part that's been most interesting so far has been finding that a piece of software I'm testing doesn't do what I assumed it does. In fact it does something weird and that's potentially a problem. Finding that quirk felt rewarding in a way that deciding how to do things in a reusable, maintainable and understandable way just doesn't.
Over my career so far I've been asked the following question at least a dozen times "If you can write code, why not be a Developer rather than a Tester."
I've given plenty of answers in the past but none of them feel as complete as the following painfully extended metaphor.
(Firstly, understand that I know almost nothing about planes, guns, war or medieval carpentry. And one of those things isn't relevant.)
When people ask a Tester whether they want to be a Developer instead they're sometimes making a fundimental mistake. They think I'm a copilate, but I'm not, I'm a gunner. The developer is flying the plane, sure, and I'm along for the ride but I'm not wishing I could fly the plane. I'm shooting down issues and doing something totally different. Sure I could fly the plane if really needs be but it's not what I'm good at, and I don't think I'm ever going to care that much about it. I like the shooting stuff part though. In the same way the pilot could man the guns but they're not going to be as good at it as me and they are always going to wish they were flying instead, because it's a different role.
Without a gunner, you can still get to your endpoint and maybe your copilate will hit a couple of targets due to luck. But what you really need is someone dedicated to it. You want someone who loves the miticulous work of thinking about the best way to hit the target, sitting in the plane whilst it flies, and truly nailing it when the time comes.
Monday, 23 October 2017
The guilt of the stopping plates
It is only words. And words are all we have
This is something I've discussed with colleagues quite a bit over the last couple of months and I think it's interesting. When you're trying to grow a testing team in a culture that doesn't fully understand what testers do, which is probably every culture in all fairness, being able to have an agreed understanding of your purpose and methodologies as a discipline is really useful. Obviously, agreeing on things is easier to do when you're all agreed on your vocabulary. This feels to me to be not all that controversial.
However sometimes certain terms can acquire a bad reputation if a team has had a bad experience of them. I know this first hand from seeing how people who've had unproductive encounters with 'BDD' react when you start using some of the associated words. As a result I worked in a team where we'd frequently have 'Kick-off' meetings for a ticket. This would be a process involving multiple disciplines who would sit down and discuss a ticket before we worked on it, collaboratively adding some Acceptance Criteria to the ticket, discussing what and how we'd develop and test a feature. There were frequently some front end automation tests created and some regression tests to add to a pack that could be used as a kind of documentation of what the feature now did.
It doesn't take a genius to see that although we had very actively dropped the terms '3 Amigos' and 'Scenarios' we were still doing a large chunk of the core elements of a software development practice which a large section of the team had discarded as a disaster. Had this team salvaged the working parts out of a wreckage of a previous practice left burning in the ditch? Or were they basically repainting the car and driving around in it, strongly proclaiming that their previous vehicle had driven itself into a tree and they had nothing to do with why it had crashed and no interest in fixing it (ignoring the fact that they were still using it?)
Today I was watching Atypical on Netflix, and at one point the father goes to a support group for parents of kids with autism. He doesn't regularly go to the sessions and therefore gets corrected multiple times for using words in a way the rest of the group sees as unacceptable. They have all obviously agreed on a ubiquitous language over time and the way he was talking about his life and family was deemed to be offensive and lacking enlightenment. Basically he was just trying to help his family and understand his place but he was being judged because he didn't understand how this closed group were using language. The problem he has is that they have grown sensitive to certain words and are unable to see though his phrasing to the intent of what he's saying and so the conversation becomes unproductive.
Sunday, 22 October 2017
How many columns do you need on your scrum board?
Can I tell you, with hindsight, that I support my decision to argue for this change to the board? Yes. Totally.
Did the situation mean that I think that every board should have separate 'ready to deploy to test' and 'ready to test' columns? No, not at all.
As few as possible, until you need more than that.