As a tester, one’s role in defect management is often much higher than what may be tactically perceived. It is not all about filling the defect with all the required set of details and then promptly regressing it when fixed. These are the two large pieces that are prominently talked about in most defect management best practices, the role of a tester in defect management etc. While these are unquestionably important, there is an equally important piece in between where the tester defends his defects filed.
Typically in most organizations there is a triage team that is headed by a product manager or a business owner to review the defects filed and determine whether it is a defect or not and if yes, whether to fix it in the current release or not. While the triage team has representatives from across disciplines, there have been several instances where it is primarily made up of the business team and the development team as they are the ones who are now going to act on the bug. As a first best practice in effective defect management, the product team needs to ensure representation from test in the triage team. While the different representatives on the team may come in with their own agenda for these triage meetings they need to understand the common goal of picking the right defects to fix at this time to provide the best possible experience and feature set to their end users. On this token, a tester who is part of the triage team will need to keep a few points in mind, as outlined below:
1. The tester is not just the representative of the test team; he/she represents the end user’s interests as well; typically since the triage team is under a lot of pressure to sift through several bugs and work on them within a short release cycle especially in the agile space, the natural inclination may be towards punting defects. A tester plays a critical role here in helping the product team in understanding the user impact of the defect filed and how taking it into the current release may have financial, qualitative and competitive advantages.
2. On the same token, the tester should also have an open mind to see the other person’s viewpoint if the rest of the team is against fixing a specific bug in a given release. Ultimately it is a team’s decision and the tester should maintain a professional stand-in understanding why specific defects may be pushed out to a subsequent release. This helps a tester mature in his/her thought process in understanding the larger picture of quality as opposed to seeing them on an individual defect level.
3. While we talk about the timing of fixing a defect in the above two points, another important one to consider is the validity of the defect. The triage team may resolve a defect as “Won’t Fix” or “By Design” for reasons that the tester may not agree. If this is due to lack of consensus on product functionality between the tester and the rest of the team, this is an opportunity for the tester to get the understanding clarified and update the required product artifacts to the desired level of clarity. With the time constraints the team operates within the agile world, this is one area where a lot of mis-communication exists since the required level of details are not documented. While the tester does not intend to increase the overhead in the documentation, insisting on bringing in the required level of clarity goes a long way in enhancing product quality at a holistic level.
Besides the above core points, it also helps to maintain a rotational system in the test representation in triage meetings. Once a month or once every release a new person can represent the test team in these triages which helps promote cross-team collaboration and also helps improve the quality of all testers on the team. With this kind of a planned representation from the test team, the regression test effort can also be largely optimized and the number of iterations in passing the defect between the test team and the development team can be largely reduced. Defect management is an art which requires the right balance in defending your bugs and also letting go of them at required times keeping in mind the best interest of the product quality and the product team’s priorities and charter. It comes with experience and being a part of the triage team is a very important step in building that right experience towards “Defending your Defects”.