What are the Quality Management Principles?
The International Standards Organisation defines seven quality management principles to help businesses and organisations ensure they meet customer and stakeholder needs and abide by any relevant regulatory frameworks.
These principles have been embraced by businesses across the world. So what are they and what can we learn from them as software quality assurance professionals?
“The primary focus of quality management is to meet customer requirements and to strive to exceed customer expectations.”
As a software tester it is important to understand customer requirements and view all projects through a customer lens. This ensure that the end software product delivers what the customer wants and expects. Using the Behaviour Driven Development (BDD) model can help facilitate this customer relationship.
“Leaders at all levels establish unity of purpose and direction and create conditions in which people are engaged in achieving the organization’s quality objectives.”
Quality should be embraced by everyone in an organisation. Everyone in a business organisation has different motivations. For the experienced leader in Software Quality Assurance we need to highlight the benefits of software testing in the context of those motivations: for managers and business owners we could highlight financial savings or the reduced risk of adverse publicity in the event of a public software failure; for product and marketing teams we could highlight product feature gains or improved time to market of new features; and for engineering teams we can highlight technical process improvements, better test coverage and career improving work experiences.
Engagement of People
“Competent, empowered and engaged people at all levels throughout the organization are essential to enhance its capability to create and deliver value.”
Keeping your software test professionals happy and engaged with their work is key to quality output. Providing employees with job autonomy, access to the resources and training they need to succeed, meaningful rewards and recognition, a sense of purpose and belonging, and open communication in both directions can all help create an environment in which people thrive and quality is not only maintained, but continuously improving.
“Consistent and predictable results are achieved more effectively and efficiently when activities are understood and managed as interrelated processes that function as a coherent system.”
Software by its very nature is a virtual representation of a process. Behaviour Driven Development at its very core utilises the definition of the business process as part of the development process.
“Successful organizations have an ongoing focus on improvement.”
The successful implementation of a new software service by its very definition should be an improvement for the customer. There are also side benefits of the software development process. As part of the Behaviour Driven Development model the development team works with the customer to define their processes in a domain specific language. This process of specifically defining the actions of the company in a manner that can be logically interpreted by both developers and testers can expose flaws in a company’s methodology and help simplify, streamline, or enhance a process before the actual software development begins.
Evidence Based Decision Making
“Decisions based on the analysis and evaluation of data and information are more likely to produce desired results”
The decisions made as a software testing professional should always be based on results. Defects should not be closed based on assumptions. Keep your test results as evidence and if necessary, you can use them to justify the conclusions you have made.
This eliminates erroneous decisions based on speculation or “gut feeling”
“For sustained success, an organization manages its relationships with interested parties, such as suppliers.”
Behaviour Driven Development puts a greater emphasis on building a shared understanding of the expected behaviour of a software product between developers, software quality assurance practitioners and the customer that will use the software. This helps ensure that the business expectation and user experience is at the forefront of design decisions. This is the so-called outside-in approach.
When this collaboration dynamic works well it can engage all the parties involved in the project with the development process. This leads to greater clarity in what the customer actually requires from the software. This clarity enables the developers to progress with confidence that they are achieving what the client wants.
The seven quality management principles defined by the ISO provide a framework for businesses striving for excellence in product or service delivery—and ultimately success within their respective markets—by focusing on customer needs first while also engaging employees and leveraging evidence-based decision making whenever possible.
Following these guidelines can help any organization create a culture of continuous improvement which is essential if it wants to remain competitive over time. These universal principles can and should be applied to the software development process.