James Bach wrote a very interesting blog post on what he sees as a Testers commitment when working with Programmers.
The post was written in the form of an open letter and had some great points, but there were a few I couldn’t get my head around.
The post can be found on James’ site here
For the record, I am a great fan of James Bach & the Context Driven School of testing as their test techniques have reinvigorated my interest in software testing & self development.
The letter begins
I’m not sure my commitment is to the Programmers themselves, more the team I’m a member of, including Programmers, fellow Testers, BAs, PMs & the Customer requesting the software in the first place.
The letter continues
“My job is to help you look good. My job is to support you as you create quality; to ease that burden instead of adding to it”
I don’t believe I’m on the development team to help the Programmers look good. Putting it bluntly, I believe I’m here to help the team deliver the software the Customer wants so they can make money (& that includes recouping the cost of the development team).
I agree that the quality of the software comes from the Programmers – as a Tester I cant directly add quality to the software – and in some respects I agree I support the Programmers, but that goes both ways. Programmers also support Testers by helping to make the software testable & maintainable (amongst others)
The first commitment states
“I provide a service. You are an important client of that service. I am not satisfied unless you are satisfied.”
This has caused me the biggest headache because I agreed with that statement, but when I started asking others if they see testing as a service they said they didn’t, gave a convincing argument & suggested that I shouldn’t either.
So I started asking myself questions, trying to work out why I may not actually provide a service & I think the answer for me is related to context (surprise surprise)
As a contractor on a long term project I am perceived more as a permanent member of the team, as opposed to someone brought in temporarily to help the development team get over some hurdle.
I have a vested interest in the software being delivered, the development team works as one in order to deliver the software the Customer requires.
In one of the responses, Michael Bolton uses the analogy of a pilot providing a service & that the pilot wouldn’t feel subservient to Michael.
I would take this analogy a step further – I don’t see the pilot providing a service to me as a holiday-goer. I see him providing a service to the airline (as one of many others providing a flight as a service – the air stewards, ground staff etc) & the airline offering the service to the holiday-goer.
I liken the airline to the development team (comprised of Testers, Programmers, BAs & PMs) providing the service of software delivery to the Customer (holiday-goer).
In essence, I provide part of the service of software delivery, as do the other members of the development team. If any role on the development team is missing, then the quality of the service will be impacted.
Testing as a service is more applicable to my freelancing/consulting, where yes, I do feel I provide a service – a client hires me to help them get over a certain hurdle. This could be at the end of a development phase to help test the software before it goes live, or it could be towards the beginning of the project to help ensure the right software gets delivered. Its up to them, but I’m clearly brought in for a /short/ period of time to achieve a certain goal.
In one of the responses to a comment from Stu Taylor, James mentions “I clean their feet”
I don’t agree with this statement. If as a Tester I’m wiping a Programmers feet I’m sure they’ll forget how to wipe their own feet. An interesting observation on that point has been made in a post by Kevin Rutherford here
My role as a Tester isn’t just to check the software being written by the Programmers (the automated regression checks take care of ensuring the functionality of the software), I like to think I help have a say in what gets developed next in response to feedback from the Customer, Users & Testers acting as Users.
These were the only gripes I had with the post, other than the above I agreed with what James is saying.
What is the significance of my disagreeing with some of James’ points? For James, probably none, but for me it is the first real time I have challenged any opinions on software testing & attempted to write about it.
For me, it has also identified I may fill different roles between my freelancing/consulting & contracting business models. This is something I hadn’t thought of, so I thank James for his post prompting me to do this.
I’ll be updating my site when I’ve hard a chance to mull this one over a bit longer. My idea of having this site replace my CV might be prove tricky if I’m trying to peddle 2 business models!
So I would appreciate some constructive feedback please, just remember this is a blog helping me to understand testing and become a better Tester!