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…
Share on Google Plus

About Debasis Pradhan

Debasis has over a decade worth of exclusive experience in the field of Software Quality Assurance, Software Development and Testing. He writes here to share some of his interesting experiences with fellow testers.

12 Comments:

  1. Nice Article. But I have query which is different than this topic...

    Hi Debasis,
    I have an query that while testing why one should be take care of scripts running on site. What are there cons. I am tester in an organization. I have no knowledge of scripts. Why they need to be tested, which scripts allow and which are not on site. I came to know from your blog 's comment that there is add on noScript for FF. I have installed it. It shows scripts running on site. If we find scripts that are running then in that case what should we say to developers or is there any need to post bug regarding this. Is developer can refuse to solve this kind bug.

    Please answer my query.
    Thanks,
    Preeeti
    preeeti.sharma@in.com

    ReplyDelete
  2. 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.

    ReplyDelete
  3. 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

    ReplyDelete
  4. 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

    ReplyDelete
  5. 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.

    ReplyDelete
  6. 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.

    ReplyDelete
  7. Thanks For posting a keep upadte a more articles

    With regards
    eserviz

    ReplyDelete
  8. Like in any field, when dealing with people there is always rivalry between them. That's why we have to show patience and be concrete yet polite. Just as I would ask my graphic designer to change something he or she has created in the nicest way possible, so we should for programmers. People forget that though they can't actually see the hard work sometimes, as they would in design or many other fields, it doesn't mean that the work was not there.

    ReplyDelete
  9. Great post. I think that a tester should make a healthy relation with the programmers in order to get know the software more deeply. Also the tester should not make the programmer feel bad after discovering errors rather make them feel that both are working as a team.

    ReplyDelete
  10. excellent stuff keep updating your knowledge

    ReplyDelete
  11. I got an experience in my field like this.. once i rejected my developer project .. for tat he got more angry on me.. how the testers should maintain fine relationship with the developers as like developers wants to be with testers.. and your posts are good and its been very useful to me. recently only i started my carrier as a tester i hope it ll be very useful to me.

    ReplyDelete

NOTE: Comments posted on Software Testing Tricks are moderated and will be approved only if they are on-topic. Please avoid comments with spammy URLs. Having trouble leaving comments? Contact Me!