Any project can be divided into different parts including requirements gathering, design, implementation, documentation and so on. One key aspect of the project lifecycle is quality assurance (QA), but it’s often overlooked.
Although almost all project managers acknowledge the need for quality assurance and testing, they sometimes just give it lip service. They only assign QA tasks to junior engineers and they don’t allocate much money to QA, either.
The consequences of bad quality assurance are unhappy customers, late projects, budget overruns and cancelled contracts.
To deliver projects on time, on budget and with quality built in, QA has to mean more than just “checking” that the product is satisfactory and meets requirements – in other words, testing. To reach these goals, product development has to become a quantifiable process, and that calls for a more holistic approach to design, implementation and management, which includes quality controls and measures at every step.
According to a study by Casper Jones of Emeritus Software Productivity Research Inc., “no other major occupation appears to devote so much effort to cancelled projects or defect repairs as does software.” The same study concludes that there are substantial economic advantages to having a stronger focus on quality. Such a conclusion is applicable across many engineering disciplines.
Although engineers will test the work they are doing (unit testing), they’re not in a position to test the overall system nor are they in a position to test different aspects of a project including security, load, compatibility or usability. Furthermore, testing alone isn’t QA and QA isn’t testing. Quality Assurance is the part of project management that manages quality in all parts of the development process from requirements to delivery.
In many ways it prevents bugs and faults from appearing in every stage of the product development – starting from the initial stage – by managing the development process. Conversely, testing is the process of ensuring the quality of a product after it has been created or at least during the later stages of the project lifecycle.
Outsourcing quality assurance (and testing) is a cost-effective way of introducing a culture of quality throughout the project lifecycle when the expertise isn’t available internally. It’s also a key way to add quality management to an organization that previously had little or no experience with quality assurance.
Since quality management and quality assurance are key parts of the project lifecycle, outsourcing project management to a company that understands QA allows internal resources to focus on innovation while the project management team focuses on delivering a quality product, on time and on budget.
Executive level knowledge and support for quality management and quality assurance will ensure success because the desire for quality is driven from the top. Executives who don’t understand the need for quality assurance will ultimately lead companies that spend time and money fixing defects that should have been fixed before the product shipped.
By allocating the best resources to QA, productivity increases because less time is spent dealing with defects. Increased productivity means products are delivered on schedule and feature complete.