In our daily lives, we talk a lot about ‘quality’ of almost everything – be it a gadget, appliance, raw material, clothing, food etc. Every person seem to have his own idea of quality. It is difficult to agree on a single definition of quality, yet we can define different dimensions or parameters against which quality of something is measured. These dimensions include reliability, usability, ease of use, value for money and fit for purpose.
In software houses, we thrive to deliver a quality software product – website, web application, mobile application; a product that could satisfy customer. This means it is possible that you develop a product which performs all required functionalities but the customer is still not satisfied. The question naturally comes in ‘How do we deliver a quality product which can satisfy customer?’
This post will answer the aforementioned question. This is a guide to deliver quality product and satisfy customers. In this article, we will briefly look at the traditional and modern concepts of quality. It will help us understand how things have changed and what has become talk of the past. Moving forward, we will explore a framework – the wheel of quality that can be implemented in any organization to assure delivery of quality products to a customer consistently.
Traditional Versus Modern Concept of Quality
‘Quality’ is an attribute that can be ascribed to any product in different contexts. In early ages, craftsmen who produce a product were responsible for the quality of their products because the scale of production was small.
A major breakthrough in the concept of quality occurred when mass production started. Companies tried to produce products with certain degree of quality that conformed to standards. As time passed, customers became choosier and their demands increased.
With this change in circumstances, the businesses needed to pace with the customers’ requirements to survive and eventually grow. This lead to evolution of the quality approaches and change the viewpoints about how quality can be achieved. In this section, we are going to see the differences between old and new concepts of quality. We will see the differences with reference to our software development industry.
Inspection Versus Prevention
Inspection was one of the key elements in traditional quality paradigm. The product was developed and after it is completely developed, inspection was performed. The aim of inspection was to check the product against some standards. The team needed to do rework if any fault was found.
You can easily relate this approach with the ‘Waterfall Model’ of software development life cycle where testing was performed as a separate function after software product had been completely developed.
However, the modern era believes in the principle of prevention. It refers to proactive approach towards the development process to assure a quality product comes out of it. This includes the processes, tools and methods.
This is somewhat similar to agile approach where product is being tested as it is being developed.The approach to prevent defects includes following process which can foresee a problem and you can work before time on it. For example, business analysts, testers, developers and project manager can sit together and discuss a requirement from business and implementation point of view. This is a good practice to pinpoint any conflicting requirements or side cases in the discussion phase, which might have surfaced after product development otherwise.
Quality as a Cost versus Quality as a Profit
Previously, acquiring quality was considered as a cost. Any investment in tools, methods and processes to achieve higher quality were considered as a cost. The management was not convinced of investing too much in the quality.
Gradually, management realized that good quality serves as the profit in the long run. If company invests in the tools, methods or process to produce a high quality product; this results in satisfied and returning customers. Eventually, the profit received through the increased quality exceeds the incurred cost.
Therefore, the contemporary approach encourages to invest in processes and tools to deliver quality products.
Responsibility of Quality Department versus Responsibility of Everyone
In the traditional environment, employees were held responsible for poor quality. A separate quality department was deemed responsible for maintaining and controlling the quality of the produced output. As you can relate, many software development teams following waterfall approach see quality assurance team as responsible for delivering a bug free product. This approach led many developers to leave known issues in the application, only to be found out by testers and fixed later on.
On the other hand, the contemporary approach instills the responsibility of quality into every team member. It operates on the principle that every team member is responsible for the quality of work he is doing i.e. business analyst will be responsible for documenting good requirements, architects will be responsible for the architecture of application, developers will be responsible for the quality of code and testers will be responsible for the execution of testing process. Together, they all are responsible for delivering a quality product.
If everyone contributes to the project taking quality into consideration, a good quality product is likely to be developed. Yes, at the end of the day, quality assurance engineers verify that the product conforms to the customer requirements and free of bugs. Yet, anyone in the team can not simply alienate himself blaming the quality team for poor quality.
Meeting Standards vs Continuous Improvement
You may be surprised to read this. In the past, companies strived to manufacture products that meet a certain standards. An acceptable deviation range was defined for product which means that certain degree of defects were allowed in the product. The quality standards were set by the management.
Yes, you see it right. The aforementioned approach did not inspire anyone to exceed the set expectations – the company only wanted to meet it. If the company is already meeting standards, they don’t see the need of improving the process any further.
On the contrary, the modern approach of quality seeks continuous improvement. It is customer focused and takes measures on the basis of feedback received from customers. This feedback can include complaints, requests for new features and appreciation. For this reason, today, our software industry has also become customer oriented. While developing and delivering a product, we don’t only see the conformance to requirements; rather we try to exceed the expectations to satisfy the clients and customers.
Different Approaches for Improving Quality in Organization
There are different approaches that can be adopted to improve quality in your organization. There are several models and standards available such as PDCA cycle, Six Sigma, IEEE standards, Baldrige Performance Excellence Programs and Total Quality Management models.
PDCA , plan – do – check – act cycle is a simpler approach. It requires you to analyze your processes and pick one small area for improvement. You conduct the improved practices and check the results. If it provides positive result, you implement the same improvement system wide. Other standards have lengthy checklists and criterion. The more criteria you meet, the better you are.
Understanding the Wheel of Quality
Now, we will understand the wheel of quality as described by Kenneth H. Rose in his book Project Quality Management: Why, What and How. This tool gives a clearer picture of how you can set up each piece of the puzzle to get the end product right.
Copyright © 2003 Kenneth H. Rose.
Training is at the center of the wheel. In good organizations, trainings are an essential part of their employee skill enhancement program. Trainings enhance the skill set of employees and polish their skills. Training sessions and workshops on the latest tools and technologies help them to adapt new technologies and stay competent in the field.
Customer Focus and Requirements
As we discussed, today’s industry has become customer focused. It is important to note here that customers is not only the person who is paying bucks to develop the product. Instead, there are other people involved in the project who are classified as external or internal customers. Identify all customers and include them in your process.
Customers provide requirements for your project or develop your product. These requirements can fall in the spectrum of general needs to explicit specifications. Skilled business analysts in your team can play an important role in deriving and documenting good requirements. Customers’ expectations set your quality standards. They can give feedback about your product in form of appreciation, suggestions, recommendations and complaints. Customer’s feedback sets your next targets and help you to improve further.
Variation and Processes
Variation is a characteristic of any production process and variations may introduce defects. Although every project is unique, yet there can be several tasks in different projects that are repeated. Identifying such tasks and defining a procedure for them is a step towards improved quality.
You can establish standard procedures for different activities in your organization. For example, in software industry you can define coding conventions, requirements management process and quality assurance process. Internal audits and reviews can be conducted to make sure that process are duly followed in the organization.
A process uses techniques to transform customer requirements into required outputs.
An improved process leads to delivery of an improved product. This is in accordance with the 85/15 rule which states that
85% of the problems in our work lay within the process itself and are under the control of management. 15% (or less) of process problems are under the control of employees.
The aforementioned principle emphasis on the management to improve process and see what caused a problem or defect to occur. This reflects one of the tenets of modern approach which tells to improve system instead of blaming workers for poor quality.
Continuous Improvement and Controls
As the name implies, your organization shall strive for continuous improvement. The strategy of meeting required specifications only means you are working only enough to escape punishments or penalties. It means you are keeping your interest safe but it does not enhance your competitiveness. Exceeding customer expectations is the key towards fully satisfied customer.
Controls refer to the means available to completely develop the product. Continuous improvement means you regularly check your processes and practices for any room for improvements. This also include working on the elimination of root causes of problems to avoid them occurring again in the future.
Leadership is the unifying force that keeps all the components of quality together.
Leadership is responsible to steer the company towards its vision. Effective leaders know their job. The goal is to improve performance and quality of output while taking adequate care of the employees and their morale.
This ends our quality journey through traditional and modern era. It is time to summarize our learning so far. The concept of quality has greatly changed. In today’s world, organizations have become customer focused and their expectations set the standard of quality. Now, it is believed that management is responsible to create a system which can produce a good quality product.
We talked about several models to improve quality standards in an organization. Subsequently, we discussed the wheel of quality in detail which can be implemented in any organization to deliver quality product that satisfies customer. Training is the foundation of quality.
The enhanced skill set of employees is used to take requirements from customers, undergo through a process with aim of continuous improvement. The leadership or top management keeps all these pieces together to make the wheel of quality work.