9 reasons that demonstrate the Value of a QA Team in an agile environment
Many companies in the IT industry have implemented methods to handle their development process in order to be efficient in delivering their product. One of the main concerns in that process is the introduction of bugs in the product delivery and how to cope with such inconveniences.
Some of them, to meet time requirements, accept introducing bugs by using “quick and dirty” methods such as releasing new features more often, hoping to take the time to fix them later. Do they really know the cost of the bugs? What is the impact of these bugs on the image of the company? What can the role and value of the QA team be in such situations?
I have looked into these questions and try here to respond through the practice put in place from my current and previous experiences as well.
Indeed, one of the reasons that most companies adopt agile methodologies is to reduce the time to market. Agile methodologies allow companies to deliver products based on the feedback they receive from customers. They are used here as a canvas to allow companies to adapt their environment which is essentially linked to tools, processes and resources (most of the time human), and consequently, the developed product. Keep in mind that the main goal of agile methods is continuous improvement. This can only be effective if relevant indicators are put in place to allow the company to change its processes if necessary.
The QA team plays a crucial role in the implementation of those KPIs, their monitoring and especially in the proposal of areas for improvement.
The third basic principle of software testing is “testing early saves money and time” : The first lever for ensuring quality is undoubtedly carrying out tests and doing it very early not only saves time but also money.
The following graph shows us the evolution of the bug cost curve over time in the different development and test phases
As per this graph, finding a bug later in the development life cycle of the software costs exponentially more.
Involving QA engineers early in the agile software testing (from the design phase) will greatly help to reduce the development against buggy requirements and keep the application “bug free”.
In addition, once in production, the bug has a very negative impact on the image of the brand and the product delivered (which has no measurable but considerable value).
Bugs are expensive and useless, kill them before they cost you!
At Hivency, the QA team is involved in early testing by helping the product manager and the tech team in setting up acceptance criteria and tests that occur from the first phases of writing specifications and user stories to the final product release with regression testing.
Apart from testing activities, the QA team delivers quality by :
1. Encouraging development teams to develop broad unit test coverage and adopt the practice of test-driven development for better test coverage where possible.
2. Getting down to writing and running automated tests on the QA team side.
3. With product Managers, writing the acceptance tests upstream and validating the implementation by acceptance criteria.
4. Staying focused on fixing bugs in the test environment to avoid introducing bugs into production.
5. Root cause analysis to evaluate the impact of the bug and find a way to prevent them from occurring again.
6. Initiating an effective policy to prioritize and fix production bugs.
7. Involving the QA team as much as possible in the release management process in order to drive the release by quality.
8. Working in close collaboration with the support team in order to collect as much feedback as possible and customer requirements.
9. Working with the devOps (sysadmin) engineer to set up a production platform monitoring system and a code quality monitoring system in order to detect possible system failure, security vulnerabilities, code duplication and technical debt.
It is true that setting up a QA team and following such practices can seem expensive, but poor quality costs much more. Mastering and implementing the practices mentioned above will help the company develop the product effectively and efficiently and, in the long term, to control its budget accordingly.
In short, the QA team has a transversal role that delivers value by working and collaborating with all the teams from the requirements analysis by Product Managers upstream to the final delivery downstream through to the solution’s implementation by the development team and above all remains attentive to customer’s feedback in the management of production to be able to improve the quality of service.
Have you experienced these practices? Have you had a different experience?
I would like to have your feedback on your contribution and how you bring value as a QA Engineer working in an agile environment. Shortly, I will talk to you about how QA works with the product team in writing specifications, user stories, criteria and acceptance tests.
Stay tuned !