Image from : viZZZual
Call me old fashioned, but in all of my years working nothing has beaten a good old face to face conversation with a developer about an issue or bug in the software. Using a bug tracking system as the primary means of communication is a “no no” for me.
Yet, last week I was chatting with a seasoned test manager who was extolling the virtues of bug reports. Now, I’m a fan of bug reports (in moderation) and I’m a fan of tracking issues (though not necessarily in a bug report) and I’m also a major fan of communicating clearly, but I also like to get things done with the least amount of friction. But this test manager was suggesting that bug reports are the single best form of communication between developers and testers and therefore every single bug should be logged in a defect tracking system mainly for no other purpose than communication. Communicating through bug reports is “fundamental” apparently.
In my view, communicating through bug reports is a sign of some deeper issue within that organisation. If you are using a lifeless remote system to communicate between two humans as your primary medium of communication then you are destined to have lost meaning, wasted time and rework. You have a problem.
When we write things down we often (not always) lose information and more often than not, in the case of defects, waste lost of time bouncing bugs backwards and forwards when a simple conversation might have cleared the whole thing up. It often means the bug reports themselves are more thorough and complete when the developer and tester have chatted about the issue in advance. Now I’m not adovcating badgering a dev each time we find something, but I am suggesting we stop and think about how best to communicate the issue. Think about The Purpose, The Audience and The Context.
Would it be easier and quicker to show the dev the issue and talk it through before raising a ticket for it?
Or would it be easier to raise the ticket and then talk it through?
Or would the ticket clearly explain the issue without talking it through?
Or should I raise the ticket and then sit back and wait for the inevitable bounce back with “cannot reproduce” or “as designed”?
Or do we even need a ticket in the first place?
Here’s an over the top example, but scarily it’s not far from the reality I’ve seen in the past,.
When I enter some text in to the name field I get an error
Steps to reproduce:
Enter text in to the name field and hit save
Defect Change History:
- changed to “cannot reproduce” by Dev 1 – It works fine for me
- changed to “open” by Tester1 – I can reproduce this all the time
- changed to “cannot reproduce” by Dev 1 – Works on my machine. Still cannot reproduce.
- changed to “open” by Tester1 – Doesn’t work here still. Might be worth you spending longer trying to reproduce it 🙂
- re-assigned to Tester1 – What error message do you get?
- re-assigned to Dev1 – I get a general server error
- re-assigned to Tester1 – how about attaching a log file….?
- re-assigned to Dev1 – I had to reproduce the issue to get the error, took ages, too busy to keep doing this. Error is “General Server Error”
- re-assigned to Tester1 — any more clues than that? What about the log file from the server?
- re-assigned to Dev1 – Had to reproduce this again at great cost to my time schedule.. Attached the log file from the server.
- re-assigned to Tester1 – You attached the database log file. I need the webserver log file
- re-assigned to Dev1 – You didn’t specify which one. Attached the web server, database, client, domain controller, event log….enough?
- re-assigned to Tester1 – Having had a look through the log file it looks like it’s some sort of issue to do with multiple record updating. Were you doing anything else whilst saving the record?
- re-assigned to Dev1 – Yes. I was updating the customer details whilst accessing the user records in another browser tab.
- re-assigned to Tester1 – Any reason you didn’t explain that in the first place?
- re-assigned the Dev1 – Any reason why you coded this bug in the first place?
Don’t let your conversations with the people be through a static system. Even with remote teams there’s still Instant Messenger Systems, Video Calling or the good old telephone. Technology is making communication easier; there’s desktop sharing, live desktop and video meeting systems, webinar systems and a whole host of other cool stuff designed to get us all talking and sharing. Don’t let your written words in a defect tracking system be the only route through the wall that sits between dev and test. Break the wall down and say hi to your friendly neighbourhood developer.