We all want to be part of a well-delivered project, a product to be proud of, and suited to be showcased in our portfolio. By following some key quality management principles, we can make sure that the execution of the project is at an expert level, that we don't have to settle for mediocrity, and that the outcome is a spot-on product.
Quality is crucial in software development. The lack of quality or software failure brings along many negative consequences. We are talking about financial loss, damaged reputation, legal liabilities, and other industry-dependent issues. All of these and more have pushed toward the notion of quality management.
What is quality management?
Quality management is the process of overseeing the activities and deliverables that should be accomplished to obtain or maintain a desired level of quality. Quality in project management is defined as a "totality of characteristics of an entity that bear on its ability to satisfy stated or implied needs," as per PMBoK.
According to John Ruskin, "Quality is never an accident. It is the result of intelligent effort." In this article, we will go through the key pillars in quality management: quality planning, quality assurance, quality control, and quality improvement, as well as through some of the best practices and solutions to ensure you are well prepared to deliver premium quality.
The main pillars of quality act like a framework with the scope of ensuring that the product or service a company or professional wishes to deliver is up to the quality standards, meets the wishes and expectations of the customers, and assures in the meantime the continuous improvement of all the quality processes involved.
Quality planning is one of the key components of project quality management. Its main purpose is to define the requirements of the project and clarify its expectations and desired outcomes as well as its quality standards. Utilizing this plan ensures that the set standards are being followed. This type of planning is closely related to the project plan as it strives to understand the stakeholder's needs and vision. Once the requirements are clear, the standards should be defined. Here we can incorporate metrics to follow, targets, and testing procedures that attest that the level of quality is being met. Risk management is also to be considered at this stage and implies identifying potential risks that might affect the project's quality standards. Defining potential risks and mitigating solutions will decrease the odds of compromised quality. In short, quality planning ensures the standards are defined, and the project can meet these standards.
Quality control refers to the ongoing process of inspecting and verifying the quality of the project deliverables to guarantee that they meet the quality standards previously set. It involves reviewing the work that has been done, identifying any defects, and then performing corrective actions. The first step in quality control is establishing the quality caliber and requirements of the project. The second step is inspection, followed by reporting the defect findings. All defects must be addressed. Past the quality control activities come the continuous improvement activities that make sure that the process is refined and fewer and fewer defects will pop up.
Quality assurance also refers to all the activities purposely designed to satisfy the quality standards of the deliverables, but it is not quite the same thing as quality control. Quality control is focused on identifying and eliminating, while quality assurance is focused on prevention. It implies having a systematic approach and establishing procedures to secure quality standards and ensure the stakeholders are happy with the project. The procedures are outlined in the quality plan. Then it's time for monitoring and evaluation, performing testing and validation, and rechecking the procedures to make sure that they are running properly. Some of the procedures performed in software quality assurance are the following:
- requirements analysis to make sure that the information is complete and testable,
- design reviews to check if they meet the quality standards and requirements,
- various types of testing such as unit testing, integration testing, quality audits, and process refinements.
Quality continuous improvement
Quality continuous improvement is the pillar of refinement and improvement of the tools and processes used to deliver high-quality projects. The scope is a constant proactive search for better solutions, and it strives for growth in all areas of project delivery. Firstly, continuous improvement is a mindset that must be promoted within the organizational culture. The team members should feel motivated to find better ways of doing things. Secondly, monitoring systems are put in place to help evaluate the quality of the deliverables. By identifying the areas of improvement, and other data collected, corrective changes can be implemented. After the changes are applied, a period of observation is needed in order to establish how effective the changes were. Finally, the process is pursued in a loop. One methodology popularly used to improve the quality of products and processes is Six Sigma, and its focus is to minimize defects and increase user satisfaction. It has 5 stages: Define, Measure, Analyze, Improve, and Control(DMAIC).
Quality dimensions or characteristics are different aspects involved in the quality of a product or service and are often used to assess the level of quality in regards to stakeholders' needs and expectations. They can also be used to pinpoint areas of improvement and to evaluate the effectiveness of the quality management processes that were settled.
Types of Quality dimensions
- Performance : the product's speed, accuracy, and efficiency in performing its tasks.
- Features : the set of functions the software offers.
- Reliability : constant, predictable performance without failures.
- Durability : the performance and resistance over time.
- Conformance : meeting the standards and specifications.
- Serviceability : the ease with which the product or service can be maintained.
- Aesthetics : the quality of the design in the user experience.
- Perceived quality : user's impression of the product or service, from UI/UX perspective, perceived value, satisfaction.
Quality dimensions in information processing software
- Relevance : is the information useful?
- Accuracy : is the information complete, correct, and consistent?
- Credibility : is the information trustworthy?
- Timelessness : is the information relevant over time?
- Accessibility : is the information easy to find and use?
- Interpretability : is the information understandable?
- Coherence : is the information structured?
Best practices & solutions
Effective quality management will always benefit from encouraging communication and collaboration, but we can push it a step forward by establishing clear quality standards, addressing potential risks, and enforcing a quality management system.
Factors that can jeopardize quality
- Incomplete requirements : inaccurate requirements can cause confusion on what needs to be delivered.
- Unreasonable deadlines : these lead to cutting corners and rushing.
- Deficient testing : insufficient testing or testing done with a lack of expertise.
- Communication : poor communication can lead to misunderstandings and delays.
- Insufficient resources : not having enough time, manpower can also lead to skipping steps or focusing on the number of deliverables vs. quality.
- Lack of expertise : this can mean mistakes or low standard work, which leads to poor quality and performance.
- Change requirements : especially when they are not managed correctly, it can lead to waste and unrefined work.
Quality techniques include procedures, tools, and methods at the product development level.
- Diagrams & charts : Cause and effect diagrams, Pareto diagrams, Histograms/ Scatter diagrams, Project network diagrams, Affinity diagrams, Matrix diagrams, Interrelationship diagrams, Process decision diagrams, Fishbone diagrams, Flowcharting, Control charts, and Radar charts.
- Analysis : Cost-benefit analysis, Cost of quality (COQ), Failure mode and effect analysis (FMEA), and Root cause analysis.
- Other Processes : Advanced product quality planning (APQP), Quality Function Deployment (QFD), Benchmarking, Statistical process control, Total quality management, and Kaizen.
Examples of Quality metrics
Metrics are measurable values used to track and evaluate, in this case, the quality of the deliverables or processes. Some examples of such metrics are failure rate, cost of quality, or defect density. The last one measures the number of defects per line of code.
What can an organization do to promote quality management?
I've mentioned creating a culture that encourages continuous improvement, and here are some actionable items that can help an organization promote such ambitions:
- Define and communicate the quality strategy;
- Set in place a quality management system;
- Set and monitor quality objectives;
- Train employees;
- Use data analysis;
- Pick some customer feedback;
- Conduct regular quality checks;
- Follow continuous improvement.
7 principles of quality
These principles of quality management are a widely known set of fundamental values that proved successful and used in various industries. These beliefs help organizations reach their quality objectives, establish a continuous improvement mindset within a quality culture, and ensure employee and stakeholder satisfaction:
- People involvement : engaging employees in the continuous improvement culture;
- Relationship management : building and maintaining positive relationships;
- Leadership : providing direction and support in maintaining an improvement culture;
- Client focus : meeting the client's needs and expectations;
- Process approach : looking at processes as a system;
- Continuous improvement : striving for continuous evolution at the core of the company;
- Factual decision-making : making decisions based on data rather than assumptions.
Quality software is reliable, efficient, and adaptable to the global market or technological changes, and maintenance is breezier. Other benefits of making quality a priority include less need for updates and fixes, revenue growth, company popularity and loyalty, and saving time and money. And who doesn't like the sound of that?
"Quality is not an act, it is a habit" - Aristotle
Quality management is ultimately about a mindset, about continuous activities and commitment to excellence. It is not about an action you follow once, and then you're all set. In order to strive for mastery, quality must be the driving force.