Soft Audit overview・Method 3: CMMI is the confirmation item for process audit

13/01/2021Audit for soft-Develop..

ISO9001 audits for improvement and CMMI certifies to measure competence

CMMI is used to improve software processes in a manner similar to ISO9001 . Both ISO9001 and CMMI focus on confirming that there is a rule that defines the process and that the rule is being implemented steadily, so the method of implementation is very similar. However, ISO9001 and CMMI have different purposes, so you need to be careful and aware of this difference. In the previous article, we introduced ISO9001 as a tool for improving manufacturing quality in factories, whereas CMMI is a tool devised to judge the quality of software development capabilities of an organization. is. The difference in the purpose of this is reflected in the difference in the action that ISO9001 audits while CMMI gives authentication .

CMMI certification indicates the level of software development management ability

So what is CMMI certification? CMMI certification certifies the level of maturity of an organization’s software development process at the time of the survey. To put it a little more flatly, it gives the endorsement that a CMMI level 4 organization has a better software development process than a CMMI level 3 organization.

By the way, CMMI is an improved version of CMM, but it is CMMI that is being implemented in this world. CMMI is, Capability Maturity Model Integration stands an acronym for, in the Japanese Capability Maturity Model Integration version has been translated as. (CMM is the version without the last Integration)

Even if it is said that it is an integrated version of the Capability Maturity Model, I don’t get the image at all. Roughly speaking, it’s a way to evaluate how good an organization’s software development management capabilities are. Ripeness means that the fruit is large enough and the content is enriched, so in other words, it is a little easier to understand as a method of evaluating whether the software development management ability is sufficiently fulfilled .

Why is CMMI different from ISO9001?

CMM, which was the basis of CMMI, is a method for the US Department of Defense (Pentagon) to judge the software development management ability of a development contractor in order to select a development contractor who can deliver software of good quality. I asked SEI ( Software Engineering Institute ) of Carnegie Mellon University to think about it. 

Since the United States invests a huge amount of money to outsource military software development to various companies, it is very important to choose a good company as the outsourcer. However, it is because software invisible to the eye and also one by one is not a mass-produced product in a factory dish product is. Therefore, it is very difficult to determine which company should outsource the development of the software at a low price . CMM asked SEI of CMU to think about this method for identifying a company that develops good software. CMMI is an extension of this CMM so that it can be expanded to operations other than software development (service provision, etc.).

With this background, CMMI aims to “measure the maturity of an organization’s software development management at some point in time." Be aware of the difference that ISO9001 aims to improve the relative capacity of improving manufacturing control, while CMMI aims to provide an absolute assessment of the current status of development management capacity. It will be easier to understand if you keep it.

 CMMI certification level is 5 levels from 1 to 5

After all, the maturity of software development capabilities evaluated by CMMI is, to put it a little breakdown, the maturity of the software development management process. In other words, CMMI evaluates whether the software development management process is sufficiently complete and how well it is. To put it simply, it’s a report card about the software development management process of the organization .

Since it is a report card, there are evaluation stages. CMMI expresses the maturity of soft processes at the following five levels.

Level 1: Early stage (development process is ad hoc and success of software development depends on individual ability)

Level 2: Iterable (has a basic development management process and has a successful process for experienced development)

Level 3: Defined (administrative and technical processes are standardized, individual developments can be made by selecting standard processes)

Level 4: Managed (quantitative control with indicators to control process and product quality)

Level 5: Optimize (process improvement continues with innovative technology trials and quantitative feedback of the process)

If you read the outline written in this way, it seems that when you outsource development, it is better to outsource to a level 3 or 4 organization than to a level 1 organization, and it will finish the software properly by the delivery date. Therefore, the evaluation of the maturity of process management ability by CMMI can be one of the useful information when deciding which company to order software development from. 

 Advantages and Disadvantages of Using CMMI for Software Development Audit

Well, CMMI is just a tool, so if you can’t use it well, it won’t lead to results (development of good software). Let’s try.

【merit】

  • It is easy to audit because it specifically describes what kind of development management process is necessary, focusing on things unique to software development.
  • It is easy to understand what kind of development management process is required to reach each level of levels 2 to 5.

【Demerit】

  • Since the purpose is to evaluate the maturity of the management process at a certain point in time, another device is required to use it to improve the organization.
  • Development technology cannot be measured because the purpose is to evaluate the development management process.

Therefore, CMMI certification is specific and easy to use because the content of the check is specialized in software development, but it requires additional ingenuity to use it in situations where software development management ability is improved. , Is the thing.