Introduction
Today we will look at a very common issue that most teams face during the development and testing cycle. We will look at this issue with the Agile development model in practice and then look at certain steps that can be taken to avoid this issue. This issue is the proper coordination between the development and QA or testing teams. This issue might seem trivial at the first glance, but it leads to lots of problems and delays in project task completion.
What are coordination issues and what can they lead to?
Let us start by first looking into the coordination issues between the development and QA teams and then we will see what these issues lead to. It has been seen in many instances that the QA team is not involved in the design and development planning phases and hence the QA team is not aware of what the development team is working on and why tasks have been planned and prioritized in a certain way. This leaves the QA team not fully prepared for testing these tasks when they make their way to testing. This not only leads to lots of items not being tested correctly but also leads to some features and flows being missed altogether. Also, as detailed test cases are not prepared in advance it is very possible that the developers will miss testing some important scenarios while doing their unit testing.
Another common issue is the lack of communication channels between the developer and the QA person testing the feature of the developer. Too much formal procedures like adding detailed comments to task pages can lead to delays and proper understanding of the task and how it needs to be tested. This again can lead to delays and improper testing and completion of tasks.
What are steps to avoid these issues
We have looked at some of the issues and what they lead to. This takes us to the question on how these issues can be avoided. Although each situation and environment might be slightly different but with the major focus on Agile development these days, the following procedure can help to reduce these issues,
- During design and development of sprint tasks, the QA team members of at least one lead must be present to understand the context of the tasks coming up and the reason for planning and prioritizing it in a certain way. By doing this if the QA team has any concerns of the testing of these tasks they can be raised and addressed earlier to avoid delays at a later stage.
- During sprint planning, the QA team members of at least one lead must be present to understand why certain tasks are being pulled into the sprint and raise any concerns in terms of testing these. In this way it can be ensured that no dependency is missed, and all is available for testing when ready.
- As soon as the tasks for a certain sprint are finalized, the QA team must start the preparation of test cases for these tasks. This will not only save time when the task comes for testing but also provide a strong basis for the developers to do unit testing once development is done. These test cases must be provided to the developers via the documentation and tracking platform like JIRA etc. This will save lots of time as the developers will run their changes through these test cases and the chances of anything being missed will be reduced.
- The fourth and final thing I would like to mention here is that we need to allow for a more open and informal channel between the developer and the QA person working on testing a task. We do need the formal documentation and tracking details entered but probably these can be for more detailed and logic issues. For simple questions perhaps the QA person can directly communicate using MS teams etc. with the developer and get clarifications on it. This will save time in terms of adding everything to the tracking platform.
Now, with the above four steps implemented, we will see that the coordination between the development and QA team will improve with what and why certain tasks are being done clear to both teams. The process will be well defined via test cases for both the teams and although simple acceptance criteria can be added to each task, the detailed test cases will ensure minimum changes required once these test cases are executed both by the development and QA teams.
Summary
In this article we looked at some coordination issues between the development and QA teams while working with the Agile development model. These issues might seem insignificant but as a team member who has worked on numerous projects these issues can lead to frustration, bugs, and lots of delays. By following the four simple steps I have outlined, we can avoid most of these issues and ensure a much smoother path for our development, testing, and release cycle. Also, this will create an atmosphere of better understanding and communication between the development and QA teams.