This is the second post in my series thinking about the threats that face testers in the current UK market. In my first post I looked at how getting engaged with the developers on the team helps to blur the interfaces between developers and test and reduce the risks of outsourcing the whole test operation. You could argue that, by getting close to the developers, we expose ourselves to the counter-risk of having our testing absorbed into the developer activities. Another possible criticism as Phil Kirkham pointed out in his comment on my last post, is that there is a risk that by getting closer to the development team we lose objectivity in our testing. What I have seen in my experience is that, by working more closely, testers and developers actually communicate more fluidly and reduce the amount of time spent negotiating the interfaces between them in the form of bugs. I certainly don't intend to criticise the excellent work on the subject of "Bug Advocacy" developed by Cam Kaner as part of the BBST syllabus, but the existence of this subject to me reveals a high level of focus on an artifact of communication between members of the same team which becomes less relevant with improved communication. By engaging with the developers and reducing the focus on those internal interfaces I find that this frees testers up to focus on other relationships in the organisation.
In this second post in the series I'll discuss how forging other relationships within the organisation can work to maintain, if not tester objectivity, then at least a balanced subjectivity from the relevant perspectives. By creating relationships with other key roles we can gain a greater insight into the customer needs to improve our testing within the development team, whilst at the same time adding value to the individuals in those roles. This mutually beneficial communication creates a "symbiotic" relationship, helping to consolidate the testers position as a key member, not just in the development team but within the organisation as a whole.
The support team are a fantastic potential symbiotic relationship for the tester on an ongoing product development. From the support analysts perspective, having a tester with in-depth knowledge of the product as a close contact can be a great asset. From the testers perspective the support team are a direct interface to the actual users of the system.
As well as having invaluable insight into the issues that are being reported the support staff also gain the benefit of informal perceptions of the product from speaking to the customers. If testers can tap into this knowledge then we can add realism into our testing scenarios and depth to our test personas.
In my previous role on a traditional project based development team I enjoyed an excellent relationship with the support team. I would provide help with their issues and, in turn, would learn about what the customers were really doing. In my current role this has gone one stage further with the myself and some of the other testers actually taking on the support responsibilities. This started out informally in our early implementations, where we used our product knowledge to help the customers through their initial integrations. As we have grown as a company we've formalised this into a Testing and Support Team. We've developed the need for devoted support people as the customer base has increased, but we still tackle this as a single team with the testers providing direct assistance with issues and advice to customers.
My dual role leading this function is challenging but provides myself and the other testers unparalleled insight into the customer usage of the system. We use this insight to help avoid mistaken assumptions in requirements elaboration, and to focus our testing. In addition to better testing this dual role also protects the team by ensuring that testing is an integrated part of the outbound product delivery structure.
Pre-Sales and implementation
As well as technical support, my last two product companies have also had pre-sales and implementation teams. Again there is the potential here for great mutual benefits from forging close relationships. The early stages of an implementation are a critical time for the product. Being able to inject relevant knowledge at the appropriate time can really help to drive the success of an implementation. In return, the tester can obtain early visibility of the projects in the pipeline and raise the need for additional testing should it become clear that a risky area is going to be exposed by a new project.
Implementation projects can often involve addition infrastructure work on top of the vanilla product. Gaining exposure to these gives a great insight into how the end product will be implemented and used and can be a great trigger for exploratory testing.
On the softer skills side, Pre-sales and Implementation folks are usually excellent at communicating with customers as well and I have certainly improved my own communication skills and professionalism from working closely with these roles.
Training and Documentation
I am lucky enough to have our technical author in my team. She also happens to be a fantastic tester. Through the process of documenting the system she tries out all of the syntaxes and commands that she documents, identifying many inconsistencies and bugs in the process. In turn she benefits from close communication with the testers to answer questions on target product behaviour and investigate issues that she finds. Along with the developers, the test team also review the documentation that she produces. This helps by checking her work, but can also be a great trigger for exploration. Complicated areas of documentation can indicate a confused workflow and potential for issues, I usually finish a document review with a set of notes to follow up myself of areas that I want to revisit or ideas for new avenues of exploration.
If you have a technical trainer then a good relationship with testing can work in a similar fashion. Having to train others forces you to question inconsistencies and having inquisitive testers on hand to follow up on those questions is a great help.
Building symbiotic relationships is a great way for us as testers to reduce the risks that may threaten our role. By gaining crucial insights from the outward facing teams and maintaining a balanced perspective on the product we increase our value within the team and differentiate ourselves from the developers. By using our own knowledge to add value back to these roles we increase the number of strong connections that we have in the organisation, again making it hard to isolate the team's input and reducing the risks of outsourcing.
Of course, probably the most important symbiotic relationship that a tester can develop is with the customer or product owner, which will be the subject of my next post...