The quality of the beast and how to detect it
It is no secret how young the professions of control and especially quality assurance are. Their importance for the IT industry has long been justified. But now, according to many applicants, this is a passing step, which does not require special knowledge and skills. In my luggage I have experience working with software from different areas - utilities, payment terminals, Internet service provider, retail, and finally games. In all companies, in different positions, before and now I vouch for the quality of the product. The point is that nowhere have I received a convincing answer to which “quality” we are striving for. Today, as the head of QA, I answer this question myself and want to conduct an educational program as wide as possible.
I note the most popular quality requirements.
- “The functionality must meet the requirements”
the presence of these requirements and specifications is a luxury that is not available to all companies. And if there are requirements, they entirely depend on the experience of the analyst, who, moreover, may be mistaken in their structuring and emphasis due to the human factor that has played. Not to mention how wider and more diverse the system is compared to its specifications.
- “There should be no bugs in the prod”,
I do not know anything more relative than the “bug”. With the rapid development of the market in six months, the blocker may become something that previously was not even considered a defect. How often a feature in development, after release, is perceived by the user as a defect, wound up and corrected accordingly.
- “After release everything should be fine / satisfy the user”
In my opinion, this requirement is more accurate than the others, the only problem is its inaccuracy. In pursuit of the sympathy of the user, testing becomes immense, there is never enough time to make sure of quality and release a good enough product. We have to choose the most critical and come to terms with "some trickery." This is pretty sad. And in these conditions, it becomes a habit to contrast the quality of speed.
However, I believe that “quality”, the concept is individual and does not require absolute, concrete and countable. And also there is no conflict between quality and speed, since individual quality is equivalent to profitability and includes speed.
The first to associate product quality with profits, to identify and describe causation, was Edwards Deming, a doctor in physics, statistics, and the founder of quality in manufacturing. The success of his work in Toyota factories in the 80s, was later called the Japanese miracle.
The main idea of his philosophy is consumer satisfaction. Continuous changes at all stages of product development in favor of improving consumer properties. Only this guarantees competitiveness and, as a result, profitability.
Deming distinguishes 2 types of consumers - intermediate and final. How to calculate who they are and what they want is perfectly formulated in his “Questions Designed to Take the Team Start”. The questionnaire is applicable to any level of organizational structure:
Intermediate consumers in IT from each other, as a rule, need the same thing - complete, reliable, timely, understandable information for performing work, artifacts that do not need to be clarified and modified to be used. All this is solved through processes and is designed to save time. So speed becomes part of the quality model.
The final consumer is more capricious, he is willing to pay only for the benefit received from the use of the product. The international standard ISO-9126 classified the product according to 6 qualitative characteristics, each of which reflects an enlarged consumer property.
How functionality meets your needs is attractive, intuitive, and easy to use. How stable is the system’s performance, the consumption of physical resources is effective. In what number of environments, conditions and configurations it will bring the same amount of benefit. And finally, how much effort the project team will need to plan scaling, make changes, test and diagnose the state of the system in operation.
Non-specific qualitative characteristics are divided into attributes, unambiguous and measurable. They are recommended to prioritize and focus on the most significant from the point of view of their personal consumers - the product user, customer and project team.
1) Functionality
Of course, the most important feature is functionality. The rest reinforce its effectiveness, or vice versa, for someone with quality. At the same time, it is the most difficult to formalize; “compliance with requirements” is necessary, but not enough. The consumer wants to spend time, complete their tasks, earn income, increase savings and not think about software, let alone formulate requirements for it. And also not intended to use all the possible functions of the product. The quality of functionality is determined by the number of uninterruptedly running scenarios in all significant consumer contexts. This proves the vast amount of literature on research testing that has emerged in recent years. It is impossible and not required to ensure the operability of everything in general in all possible cases of use. It is vital to clarify the contexts of your customers, including through software requirements. Prioritize them and vigilantly control, as any breakdown will entail losses.
2) Ease of use
Functionality is provided long before the appearance of the first testers on the project, and sometimes developers. One of the recognized experts on the preparation of MVP (Minimum Viable Product) Rand Fishkin, a well-known SEO specialist and marketer abroad, recalls that the first impression cannot be made twice, and successfully promotes the concept of entering the market with EVP (Exceptional, Viable Product) , which is not only useful, but also attractive to the user. It is fair that in the conditions of the sophisticated consumer, the characteristic of usability takes the second place. Usability design technology is constantly evolving and is gaining new best practices that can and should be established and applied in your product.
3) Portability
A product that has attracted the attention of a wide range usually begins to be used in various conditions. Its users expect correct operation in all of them. Internal and external statistics and, of course, common sense help determine tolerance standards. With a certain amount of perseverance, in any company you can get statistics about the common conditions of an active audience. Statistics on popular trends can be found on the Internet in the public domain, while it is important to take into account at least the territorial cohort - the data for Russia and the world tend to differ. Common sense is needed so that the standard for portability does not include support for +100500 terms of use. Given that the OS, devices, browsers also have standards, some of them are guaranteed to work the same or not worse than the previous version.
4) Reliability and Efficiency
The first real success of a product, as usual, beats the same problems with efficiency and reliability. Mass consumption is both a dream and a challenge. Reliability, which is ultimately calculated by the system availability time, should strive for 100% no matter what. Efficiency is evaluated by the user through response time. Someone from Badoo said: “Be 20% faster than your fastest competitor” and this is a good help to find your personal rate of effectiveness.
5) Convenience of escort
Projects centenarians inevitably become more complex, overgrown with contradictions, architectural inconsistency. The specificity of staff turnover in IT does not improve the situation. The older the product, the greater the importance of ease of maintenance. Documentation of all levels, from instructions for use to commenting on the code and logging the functions, significantly speeds up work with the system at all stages - when setting requirements, developing, testing and supporting. And in some cases it even protects against deliberately wrong decisions.
That’s probably all. However, I have to make a few reservations:
As a result, it turns out that quality is an integral part of product success. The requirements for it depend on the consumer, market niche, direct competitors. And also it is not opposed to production as a whole, since losses in individual quality will lead to loss of success of the whole business.
I note the most popular quality requirements.
- “The functionality must meet the requirements”
the presence of these requirements and specifications is a luxury that is not available to all companies. And if there are requirements, they entirely depend on the experience of the analyst, who, moreover, may be mistaken in their structuring and emphasis due to the human factor that has played. Not to mention how wider and more diverse the system is compared to its specifications.
- “There should be no bugs in the prod”,
I do not know anything more relative than the “bug”. With the rapid development of the market in six months, the blocker may become something that previously was not even considered a defect. How often a feature in development, after release, is perceived by the user as a defect, wound up and corrected accordingly.
- “After release everything should be fine / satisfy the user”
In my opinion, this requirement is more accurate than the others, the only problem is its inaccuracy. In pursuit of the sympathy of the user, testing becomes immense, there is never enough time to make sure of quality and release a good enough product. We have to choose the most critical and come to terms with "some trickery." This is pretty sad. And in these conditions, it becomes a habit to contrast the quality of speed.
абсолютное качество/скорость = прибыли
However, I believe that “quality”, the concept is individual and does not require absolute, concrete and countable. And also there is no conflict between quality and speed, since individual quality is equivalent to profitability and includes speed.
индивидуальное качество = конкурентоспособность = прибыли
Quality is the Start
The first to associate product quality with profits, to identify and describe causation, was Edwards Deming, a doctor in physics, statistics, and the founder of quality in manufacturing. The success of his work in Toyota factories in the 80s, was later called the Japanese miracle.
The main idea of his philosophy is consumer satisfaction. Continuous changes at all stages of product development in favor of improving consumer properties. Only this guarantees competitiveness and, as a result, profitability.
Deming distinguishes 2 types of consumers - intermediate and final. How to calculate who they are and what they want is perfectly formulated in his “Questions Designed to Take the Team Start”. The questionnaire is applicable to any level of organizational structure:
Your organization :
- Where is your department located in the overall organizational structure?
- What goods and services does your organization produce and provide?
- How is this product made and service provided, by which processes?
- What happens if your company (division, department, group) suddenly ceases to produce products and provide services?
You :
- What tasks does your department carry out, what is its work?
- What do you create or produce in the department, what exactly is the result of the work?
- How do you do this (give a general description of what you are doing)?
- How do you know if you have good or bad results (are there standards or criteria for good performance)?
- How were the standards set?
Questions for your customers :
- Intermediate consumer
- Who is the intermediate consumer of the goods or services that you produce or provide (your personal consumer)?
- How does your consumer use what you produce?
- What happens if you make a mistake?
- How will consumers respond to your mistakes?
- How do you know if you satisfied the demands of your consumers (from consumers, from the boss from reports)?
- Intermediate and final consumer
- How far (from your final consumer) are you able to track the effect of what you have done?
Questions regarding your suppliers :
- Who initiates your work (instructions from the boss, customer request, own initiative)?
- Who supplies you with the materials, information, services and other means that are needed to carry out your work (boss, customer, colleague from your team, people from other departments)?
- What will happen to you if your suppliers do not do their job?
- Do they have quality standards for their work?
- How will their mistakes affect your work?
- How do they discover if they have met your needs or requirements? Do you work with them? Do you fulfill your obligations to them?
Quality - components
Intermediate consumers in IT from each other, as a rule, need the same thing - complete, reliable, timely, understandable information for performing work, artifacts that do not need to be clarified and modified to be used. All this is solved through processes and is designed to save time. So speed becomes part of the quality model.
The final consumer is more capricious, he is willing to pay only for the benefit received from the use of the product. The international standard ISO-9126 classified the product according to 6 qualitative characteristics, each of which reflects an enlarged consumer property.
How functionality meets your needs is attractive, intuitive, and easy to use. How stable is the system’s performance, the consumption of physical resources is effective. In what number of environments, conditions and configurations it will bring the same amount of benefit. And finally, how much effort the project team will need to plan scaling, make changes, test and diagnose the state of the system in operation.
Non-specific qualitative characteristics are divided into attributes, unambiguous and measurable. They are recommended to prioritize and focus on the most significant from the point of view of their personal consumers - the product user, customer and project team.
Quality - Definition
1) Functionality
Of course, the most important feature is functionality. The rest reinforce its effectiveness, or vice versa, for someone with quality. At the same time, it is the most difficult to formalize; “compliance with requirements” is necessary, but not enough. The consumer wants to spend time, complete their tasks, earn income, increase savings and not think about software, let alone formulate requirements for it. And also not intended to use all the possible functions of the product. The quality of functionality is determined by the number of uninterruptedly running scenarios in all significant consumer contexts. This proves the vast amount of literature on research testing that has emerged in recent years. It is impossible and not required to ensure the operability of everything in general in all possible cases of use. It is vital to clarify the contexts of your customers, including through software requirements. Prioritize them and vigilantly control, as any breakdown will entail losses.
2) Ease of use
Functionality is provided long before the appearance of the first testers on the project, and sometimes developers. One of the recognized experts on the preparation of MVP (Minimum Viable Product) Rand Fishkin, a well-known SEO specialist and marketer abroad, recalls that the first impression cannot be made twice, and successfully promotes the concept of entering the market with EVP (Exceptional, Viable Product) , which is not only useful, but also attractive to the user. It is fair that in the conditions of the sophisticated consumer, the characteristic of usability takes the second place. Usability design technology is constantly evolving and is gaining new best practices that can and should be established and applied in your product.
3) Portability
A product that has attracted the attention of a wide range usually begins to be used in various conditions. Its users expect correct operation in all of them. Internal and external statistics and, of course, common sense help determine tolerance standards. With a certain amount of perseverance, in any company you can get statistics about the common conditions of an active audience. Statistics on popular trends can be found on the Internet in the public domain, while it is important to take into account at least the territorial cohort - the data for Russia and the world tend to differ. Common sense is needed so that the standard for portability does not include support for +100500 terms of use. Given that the OS, devices, browsers also have standards, some of them are guaranteed to work the same or not worse than the previous version.
4) Reliability and Efficiency
The first real success of a product, as usual, beats the same problems with efficiency and reliability. Mass consumption is both a dream and a challenge. Reliability, which is ultimately calculated by the system availability time, should strive for 100% no matter what. Efficiency is evaluated by the user through response time. Someone from Badoo said: “Be 20% faster than your fastest competitor” and this is a good help to find your personal rate of effectiveness.
5) Convenience of escort
Projects centenarians inevitably become more complex, overgrown with contradictions, architectural inconsistency. The specificity of staff turnover in IT does not improve the situation. The older the product, the greater the importance of ease of maintenance. Documentation of all levels, from instructions for use to commenting on the code and logging the functions, significantly speeds up work with the system at all stages - when setting requirements, developing, testing and supporting. And in some cases it even protects against deliberately wrong decisions.
That’s probably all. However, I have to make a few reservations:
- each characteristic is divided into many attributes, which also have different weights for the end user. Therefore, the statement of quality assurance can be conducted in parallel on the main attributes of several characteristics. I just tried to reflect the conditions that affect the priority of each of them.
- the most complex characteristic is functionality. The reality is that software is now inseparable from the service that provides the software, and this goes beyond the definition of the ISO-9126 standard. Only knowledge of consumer values and a guide to them will reveal exactly which functionalities are important and what exactly they include.
- the proposed performance priorities are not suitable for all systems, I focus on commercial software for an external user with a relatively low cost of error and high competition. Other conditions, as a rule, soften the requirements for quality, unless the price of an error is equal to human life, disclosure of state secrets, violation of the law. Priorities are set there differently and, I hope, the gurus of quality control and quality assurance work.
- product viability over time is determined by demand (measure of interest) and monetization (measure of value), which are supported by the frequency of updates. This allows you to equate speed to the seventh quality characteristic and calculate it on the same basis as everyone else, with an eye on a competitor.
As a result, it turns out that quality is an integral part of product success. The requirements for it depend on the consumer, market niche, direct competitors. And also it is not opposed to production as a whole, since losses in individual quality will lead to loss of success of the whole business.
функциональность + удобство использования + переносимость + надежность+ эффективность + удобство сопровождения + частота обновлений = индивидуальное качество