Written by Sérgio Sancho Pinto
Information technology relies on three key pillars – innovation, improvement and constant change –, and ensuring software excellence is no exception. Quality Assurance (QA) involves two distinct concepts, of which only one, in my view, will evolve.
As it has subjective dimension underlined and it is rooted in culture and mentality, Quality consists of being accurate in deliveries and being willing to work better and better. Simply put, all software should do what it was designed to do. This is the acquired fact that will not surprise any Customer.
In this case, quality can be demonstrated by tailoring the product to the Customer’s professional and cultural expectations. It is our duty to ensure that this happens. It is in this branch of ensuring that evolution will happen. Certain methods and concepts already used will not change – establishing guidelines, standards and verifications that the product does what it is requested with quality and excellence –, but new ones will appear, such as verifying not only the quality of the final product itself, but also how it is done. Projects will increasingly be standardized and automated, using development frameworks that will assume the responsibility of ensuring quality.
The type of verifications will also change. Does guaranteeing quality only imply running functional tests to the product before delivery? In my opinion, no; this is simply verifying that the product does what it is supposed to. Quality must be ensured at all points of development. Otherwise the competence would be called testing rather than quality assurance. Specifically, QA will ensure that requirements are written using the company’s standards, that the infrastructure has been assembled according to the correct specifications, that the unit tests are being developed and applied and that best development practices are being followed, amongst other practices. Finally, QA will also ensure that product delivery means are correct and that knowledge is transferred.
It may seem that you are asking for more tasks than the ones you are currently performing, but this is where automation comes in. All these verifications will be done automatically. The task of warning that something is not in accordance with the rules will not be done by a person, but rather by a “machine”. QA will be responsible for defining the metrics on which these automations will apply.
No one likes being constantly warned by a “machine” to correct something or not being compliant to a good practice, which leads, even if inadvertently, to begin respecting these rules a priori, without the need to wait for the warning. Developing well and at first will no longer be an obligation and will become everyone’s will.