Software Testing Diplomacy: A Tester’s Guide on How to Deal with Programmers! ~ Software Testing Zone

Apr 15, 2009

Software Testing Diplomacy: A Tester’s Guide on How to Deal with Programmers!

When I started my career as a software tester, it hardly took me any time to witness the ongoing rivalry between the programmers and the testers. When you are young in your software testing career and join a new work place, things are much like a prison. You notice people are divided into groups and you are pulled into a group even before you realize what is going on! This is probably so common in software development teams that people take it for granted! To make matters worse I have even seen some managers who encourage such practice of antagonism! Unfortunately, they believe that such enmity between the programmers and testers can help them squeeze out more value out of the team. But ironically, I am yet to experience a case where this was true!

After spending all these years in software testing field, I have heard lot of stories involving such friction between the testing and development team. I am not sure what started this enmity and how all this began. But under such circumstances of serious hostility it might often be very difficult to maintain a positive attitude and deliver your 100%. However, instead of blaming others for the situation let's search for solutions that might help during such situations:

Deliver the bitter medicine in a sugar-coated capsule:
Most of the times, as testers we are the bearer of bad news. We will have to tell the programmers that their baby (code) is ugly. And clearly, no mother will ever want to hear such a statement [irrespective of how ugly her baby really is]. Hence, I can understand how difficult it can be for the programmers to accept the fact that their code is defective and someone else has detected it. To deliver such a bad news, you will have to do so tactfully and professionally! Hence, testers may have to be diplomatic when confronting a programmer with a fundamental goof. Diplomacy, tact and a smile on the face - all can work to the tester’s advantage and are essential in preserving a harmonious relationship with the programmers.

Be unbiased:
While communicating, treat programmers and testers alike (e.g. refer them as "we" instead of "you". Make the programmers feel that they belong to us and together we are a team.). Restrain from any blame game. The programmers should not feel that they are being targeted for anything. I have seen that if the programmers are once convinced about the importance and the complexity of our job, they start respecting our craft. I often tell my programmers that because of them I earn my bread and butter and because of me their jobs are saved from getting sacked. It is essentially a symbiotic relationship between a tester and a programmer. And once the programmers realize this fact, gaining their cooperation becomes easy.

Maintain a sweet tongue:
Make sure that you don’t make the programmer embarrassed while reporting a defect in her code. They are also human beings who are prone to errors. It is quite natural for them to make mistakes. Do realize this and stop making your bug reports weapons of embarrassment for your programmer, every time you report a bug. To earn respect, start showing them respect. Above all else, watch your temper and leave aside your ego. As the old proverb warns us, "You catch more flies with honey than you do with vinegar." A little courtesy can go a long way towards building successful and long-lasting relationships. A balanced combination of humility and humor can be fruitful.

How do you deal with your programmers? How do you manage when things become hostile? What do you do when you are dealing with a programmer who considers you as her enemy? Share your stories and ideas via commenting.

Happy Testing…

Related Posts:

7 Comments:

bones111 said...

Cool

abhi said...

Hi Debasis,
Good post. I think developers should also know how to deal with testers. Most developpers think that testing is an easy job and anyone can do that, it doesn't require any skill set,progamming language.
Also in most of the companies, project managers are having background of development So there is possibility of managers having soft corner for developers rather than testing.

Inder P Singh said...

There are all kinds of developers. They may have different skills, skill levels, backgrounds, experiences, motivations and agenda. However, when you and a developer are working together on a project, you are likely to share a common goal and this is the goal of creating high quality software for the users.

Before you can start an effective collaboration with a developer, it usually makes sense to get some knowledge about this person. Things like the technology they work on, their experience level, how long they have been on this project and so on. A little chit chat is a great way to develop initial rapport with this person, who is also your team member.

Debasis has recommended being factual and respectful when reporting a defect. I would take it a step further and say that you should be factual and respectful in all your interactions with the team, whether is reporting test progress or writing an email or having a conversation with the team member.

Concentrate on testing. You would have been added to the team for testing. Working in a respectful and collaborative manner, sooner or later, you would understand the personalities and styles of your team members. If you keep your focus on testing and keep providing useful and timely information to the team, you would find that you are performing well as part of your team automatically.

Thanks,
Inder P Singh

Daniel Wildt said...

I think the main issue is that we need to work on prevention, not defects.

If we value prevention, we would not care about a tester finding a defect or a developer receiving a bug tracker notification.

Developer and tester are in the same team. They are working to deliver a product with no defects.

We cannot avoid errors (it's human nature), but we can avoid defects for customers.

This is what I believe.

Regards,
Daniel Wildt
http://danielwildt.com

Rob Scebold said...

I much prefer working on a team where there is high trust and good rapport between all team members. I also understand the need for there to be apparantly competing interests between testing, development and management. Each team member needs to be faithful for their part of creating a good quality and useful product, and each needs to respect the other for their role. So, communication of difficult things, delivered with respect and without personal blame, is valued.

santosh shinde said...

Even i have faced the same situation while i have joined a new organization. But later on learned how to deal with developers.It will be better to have a good relationship with developers and other team members. Team work will only help us to attain success. Emotions should be kept aside while working in a team.

marry said...

Thanks For posting a keep upadte a more articles

With regards
eserviz

Post a Comment

NOTE: Comments posted on Software Testing Zone are moderated and will be approved only if they are on-topic and not abusive. Please avoid comments with spammy URLs. Thanks.

Having problems while Commenting? Contact Me!