Sunday, October 23rd, 2016
Quality assurance (QA) refers to the systematic activities implemented in a quality system so that quality requirements for a product or service will be fulfilled.
On the one hand, quality is embedded in the agile practices: test-driven development, continuous integration, unit tests, integration tests, pair-programming, automated tests, continuous delivery, retrospectives …; in agile projects, quality is no longer a variable.
On the other hand, we cannot forget that the quality of the product is the quality of the team, focusing on the relevance of a great skilled development team and product owners.
With this in mind, when we are developing several products simultaneously as a suite, we have also to focus on the global quality of all of them. In other words, it’s not enough that every product, individually, is being developed with the highest possible quality with a good user experience and interaction; it’s also mandatory that the different products have a common user experience and behaviour, sharing the same information in the same way. They also must had been developed using the same patterns and philosophy.
To achieve this goal, we have to include in our agile practices some particular quality assurance methods that check the cross-product quality. From time to time, we need to review the global quality of our multi-product development, sharing the best practices among the members of every team. Communication and regular reviews emerge as the best practices to maintain the highest possible cross-product quality.
Summing-up: In order to achieve the highest possible quality, we have to focus on the product quality and on the cross-product quality.