A translation of the article was prepared specifically for Python QA Engineer students.
In this article we will talk about what are the SMM levels and how to achieve them in
QA-processes , as well as consider accessible and understandable examples.
For any process, whether it is a quality control process, a development process or any other non-technical process, there are levels of maturity. By maturity levels we mean the level of formalization and improvement of processes, from ad-hoc processes to those that consist of formalized and specific steps that have metrics of results and that have been optimized.
CMM (Capability Maturity Model)
This is a process-based model that is used to assess the maturity of an organization in various fields. The concept of SMM was introduced by the Institute of Software Engineering (SEI) in the USA.
Although this model applies to the software development process, it is ultimately used for other processes such as QA and testing.
There are five different levels of maturity: from 1 to 5. As you develop from the first to fifth levels, variability and inconsistency decrease. Below is a detailed description of the five levels. Here we will consider 5 levels of SMM from the perspective of QA - processes, and all results on leaving each level will be applied to the process of quality analysis and testing in order to reach level 5.

Level 1 (Beginner): Ad-Hoc: Unplanned, Haphazard, and Inconsistent
As the term “Ad-Hoc” suggests: unplanned, unprepared, that is, at this level, planning, setting goals for further processes, leadership principles and standards are not given importance. There is no standardized and consistent way to accomplish any task. The only thing that is important at this level is meeting deadlines, regardless of the quality of the final product and the results.
Since there are no predefined standards and processes, the same task can be performed by different people in different ways.
This introduces even more chaos, since the same task will be performed next time in a completely different way, because there is no documentation about the process that would help to reproduce it again.
Thus, at this level, the process is poorly controlled, behaves reactively and unpredictably.
Example:In QA, an example is a situation where in the organization, despite the fact that quality analysis is one of the phases of the product life cycle, there are no standards and there is no specific process, there are no templates for test results - test plans, test strategies, scenarios and test cases not standardized.
Even if all these things are defined and documented, but each team member has his own way of performing this or that process, then the processes are still not sequential. That is, in this case, one does not have to talk about QA control, and the level itself is generally characterized by randomness.
Level 2 (Repeatable) - Management: Initiate high-level process definitions
At this stage, we get a solution to the problem due to the fact that the characteristics of QA - processes are different from those that we saw at the first level. We already have clear processes, methodology and standards.
Standards and processes not only turn out to be complete, but they are well documented in the end, so they can be reproduced in any of the similar tasks that were performed earlier. That is why this level is also called
“repeatable” , in fact we can repeat the steps and do the same work.
Thus, the focus is on basic project management at this level.
Example:To conduct a quality analysis, define the entire process and methodology for conducting QA for various types of testing, such as functional testing, performance testing, etc. Define the roles and responsibilities of testing specialists and their team lead in the project life cycle and prepare templates for presenting the results at each stage. Test plan, test strategy, scripts and test cases should be organized.
It is necessary not only to write and prepare, but also to share documentation with the team.
Level 3 (Defined) - Core Competency: Come up with a generalized process covering a larger audience and more areas
At the third level, people are motivated to follow the standards and processes that were defined at the previous level. For this, the processes should first of all be feasible to all the people involved in their implementation. It is necessary to determine what skills are necessary for the effective implementation or use of processes and standards, and also whether any preliminary training is required for this.
Further motivate and support human resources so that they are able to carry out processes and follow standards. At this level, people with more experience share their knowledge with others.
The focus is on documentation, process standardization and integration. By this time, the organization already has its own standard software testing process.
Example:Conducting webinars or trainings that allow testers to familiarize themselves with a specific new process and QA standards and motivate them to use them in their daily project activities.
Level 4 (Managed) - Predictable: Process Measurement
At this level, the processes defined at level 3 are quantitatively measured. This is necessary to control the resources needed to carry out any task. Based on this quantitative analysis, without deterioration of the quality of the final product, the processes can be adjusted if necessary.
The analysis is carried out by dividing the entire process into smaller subprocesses, and then quantitative methods are applied to these subprocesses. According to the result, subprocesses are adjusted as necessary. This level is called predictable, because based on previous experience, you can quantitatively adjust the course of the process and predict the effectiveness of subsequent process execution.
The key areas at SMM level 4 are quantitative project management and organizational process efficiency.

Briefly at this level, the process is measured and controlled.
Example:Regular QA audits are a good idea. These may include checking whether the teams really follow certain processes, use standard templates, and adhere to the methodology.
If you are engaged in automated testing, then periodic review of the code of test automation scripts, you can give this as an example.
Level 5 (Optimization) - Innovative: Continuous Improvement
At this level, innovative ways to further improve predefined processes and standards are defined. To do this, our own processes must be constantly reviewed and changed by adding new tools and technologies, continuous research and learning new things, mastering the most modern market experience.
This can be achieved through a comparative analysis of your organization with others, learning from them, trying to learn from the experience and improve your own process by adding something innovative to it. Thus, at this level, the focus is on continuous process improvement. Key areas of the process are organization performance management and quantitative project management.
Example:Continue to improve the methodology, quality analysis processes, determined on the basis of the available audit results.
Based on some studies, it was concluded that an organization located at the first level can spend up to $ 1000 on the task that organizations of the fifth level can accomplish by spending only $ 10.
Recently, it turned out in my organization that we conduct regression testing manually, that is, we repeat the same sequence of actions with our hands, which takes a lot of time and effort that can be saved and invested in other more productive actions.
Then we developed evidence for the feasibility of automating the regression testing process using automation tools. POC went fine and, finally, we were able to set up the process of performing regression testing using test automation scripts. This saved a lot of effort and time and contributed to the improvement of the process as a whole.
After considering all five levels that we talked about above, it seems that the most difficult thing is to reach the third level. As soon as you reach it, all other levels will be within easy reach.
Additional Information
Now the CMMI model has become very popular, which replaced the SMM. The CMMI model (integration functionality development model) is nothing more than a successor to the SMM. This is an integrated approach that considers individual SMM models and overcomes the disadvantages of the traditional one. It also has 5 levels that are similar to SMM.
Below is a very useful link, after which you can find out the difference between CMMI and CMM and compare them:
CMMI vs CMMThere are some companies on the market in the field of software testing that have reached level 5 of the CMMI model, and their names are worth mentioning:
Capgemini India Pvt. Ltd - “FSGBU India - Development and Testing Projects”, Capita - “IT Professional Services - Testing Projects” and Infosys Public Services - “Software Development, Maintenance, and Testing”.Here you can see the CMMI rating of various organizations.