– There’s a bug in this feature!
– Dunno anything about it…
Teamwork, clearly separated tasks, and taking responsibility for them are essential in the software development cycle. However, working in a team often involves judging and criticising the work of others. For a good purpose, of course, but without the right approach, testing the developers’ work by testers can quickly turn from a valuable and instructive aid into clipping of wings and criticism of colleagues’ skills
This relationship can be a real “bugger”, but could the tester & developer bond really work out? With the right approach – absolutely. HeroDOT’s Emil Guszczyński shared his personal observations with us.
Build Empathy Across The Teams
Although the work of software houses has moved mainly to remote mode, it should not be forgotten that we are still working with people in front of computer screens. We’re all humans, not bots!
Under lots of stress associated with meeting the deadlines, it’s easy to forget to consider your colleague’s point of view. When dealing with a bug or any problem, stop for a moment and step into their shoes, whether it’s testers or developers. After all, we are all in the same boat, and before pointing fingers, think about shared goals and a joint solution to the problem.
Teams Without Clear Directions and Goals? Can’t Do!
Setting goals is the goal – referring to the previous paragraph, without a common understanding of the project’s goals, it is impossible to come up with a joint solution to a bug. Both teams, testers and developers, need precise specifications and requirements to know their roles and responsibilities throughout the project.
Here comes the role of Project Manager – a captain of the same boat. A good PM should be able to act as a link between testers and developers when needed. Goals set out by a PM should always be relevant to the team as a whole, and they should match team members’ strengths and skills. In short, both teams can row as much as they can, but without the specific and measurable goals of a PM, it will prove resultless.
In the end, the main goal is to deliver a high-quality product, so it’s essential from the client’s perspective that both teams arrive at a mutual understanding of their responsibilities, current progress, or needs and pains.
A Good Tester Is Not a Messy Tester
Testing software should be documented and detailed as precisely as possible. A detailed process for reporting bugs must be implemented, as this aspect of communication between the two teams is critical. Without it, their work might as well be chucked into the trash.
It is worth implementing a universal method of defining test cases when reporting encountered bugs. One brilliant example is Gherkin, used by developers in Cucumber. Firstly, it is based on keywords that, when followed, clearly indicate the nature of the bug and how to re-create it in software. But secondly, it intends to be non-technical and human-readable. Bear in mind that not everyone speaks the same jargon as developers. However, Gherkin allows other development team members, such as business analysts and managers, to have a glimpse of what’s happening when running tests.
Achieve The Best Results With The Right Tools
After establishing good relations and practices, it is time to choose the correct communication channels. Selecting the right bug reporting software is not an easy job since many are on the market. Jira, Mantis, Bugzilla and far more. Here at HeroDOT, we primarily use Jira for the following reasons:
- It is easily accessible for all users, including developers, PMs, managers, and testers. This improves communication and workflow on various levels, not only between developers and testers.
- Jira supports popular third-party software, including Slack or Hipchat. All parties involved stay notified and can respond to issues instantly.
- It is excellent for Agile as it enables users to sketch out the big picture, connect the bigger project roadmap goals with everyday tasks and plan ahead with the team in mind.
Jira is a valuable tool at our work, but pick any tool that best suits your team’s needs. Make sure it addresses all team members, regardless of their background, and bear in mind its planning features so that everyone on board can get the full scope of the project.
Hit The Books!
Although each team member has their defined responsibilities and skills in a project, it is always worth expanding talents for yourself and the company you work for! Self-improvement or cross-training between the two teams give an opportunity to gain an insight into what goes on in the software development or testing process. With the acquired knowledge, the process will be simplified. Testers will understand potential problems or code errors, and on the other hand, developers will get the essence of the reasoning behind testing techniques. Remember, learn from the best, learn from each other!
Let’s not be afraid to talk and learn from each other at work. Developers and testers follow the same important goal – delivering the high-quality end product. To do that, reporting mistakes should be apparent, organised and follow an agreed pattern or outline. Leave personal objections aside and extend a helping hand instead. Remember, after all, we all play on the same team, so improve the communication process. It is time-saving, effective, and makes a life a whole lot easier for the team.