An introduction to CMMI Model: Part 1 - Explaining the Model, Capability and Maturity concepts. Hello, how are you? I'm Mariano Montoni, I'm Lead Appraiser of the CMMI model and consultant by ProMove, a consulting company in process improvement.
In this class, I'm going to talk about the CMMI model which means Capability Maturity Model Integration. The CMMI model was developed by the CMMI Institute, which is an organization located in the United States and aims to help organizations worldwide to improve the performance of its processes, for example, develop products and provide services faster, with more quality and reduced cost. Three concepts are fundamental to understand the CMMI model which are: Model, Capability and Maturity.
A Model is an abstract representation of real world concepts that help explain phenomena or processes. In the CMMI model, these abstract concepts are represented in the form of best practices. The crucial question is that in the CMMI model, there are many practices that an organization needs to absorb to improve the performance of the processes.
In the CMMI model these practices are presented at capability levels, so that an organization can follow these levels as a roadmap, a step by step to help create, improve and sustain the capability of the processes in a more gradual way. Capability can be understood as the body of knowledge, proficiencies and skills that the organization needs to have. This information is distributed in processes, technology, people and in the infrastructure.
The organization need to have these capabilities to implement its business model and thus achieving measurable business results. The increase in the organization's capability helps to increase the performance of its processes. For example, every organization need to have the ability to estimate the works it performs, such as, estimate the size, the effort, the duration, and cost of these works to be able to develop, acquire or deliver a solution for their customers.
To help companies build and improve this ability to estimate, in the CMMI model the estimation practices are organized into three groups, corresponding to levels of capability where the practices of each level are built from the previous level. These three groups of best practices form an area of practice called EST (Estimating). The first practice of the first level is: develop high-level estimates to perform the work.
We see here that the estimate does not require much sophistication. Thus, the accuracy of the estimate is directly related to the experience of the team doing that estimate because they know in details how the work should be executed. Inexperienced teams would have a natural difficulty in elaborating accurate estimates, because they do not know all the factors that can influence the duration, cost or effort of the work that needs to be done to create a solution for the customer or provide a service.
The result you should know well, which are losses and waste, reducing the company's profit margin, delay in deliveries and unsatisfied customer. At the second capability level of the Estimating area of the CMMI model, it is expected that the organization be able to carry out more accurate estimates than organizations that are at the level of capability 1. The first practice of this second level is: develop, maintain updated and use the scope of what is being estimated.
The second practice is: develop and keep updated estimates for the size of the solution. And the third practice of this level is: based on size estimates, develop and record effort, duration, and cost estimates and their rationale for the solution. We can see at the second level of capability, that estimates should be carried out from the initial scope that represents what the customer or user of that product needs.
In addition, it is also necessary to update the estimates throughout the execution of the work, because that initial understanding may have been modified during execution and the estimates can be influenced by this new understanding. And finally, it should be documented all the rationale used to elaborate the estimates of effort, duration and cost from the estimates of size, for example, it should be described the experience or the historical data that the team or work group used to elaborate the estimates of a specifc service. In the third level of the practice area EST (Estimating), is expected again that the organization be able to evolve its ability to elaborate estimates.
To do so, it must be implemented in the company a standardized method of estimates considering project data and past work stored in organizational repository. The first practice at this level is: develop and keep updated a recorded estimation method. The second practice is: use the organizational measurement repository and process assets for estimating work.
With this new way of elaborating estimates, it is expected that projects and work in the entire organization are executed in a standardized way and so the estimates become more assertive, because the teams use data of past projects and other work to elaborate and calibrate the estimates in new work or new projects. The maturity concept in the CMMI model is defined as a level or stage that the organization can achieve. The model defines 6 levels of maturity, starting from level 0, passing through levels 1, 2, 3, 4 and ending at level 5.
The maturity level 0, also known as Incomplete, is a level where work is done at random and it may or may not be completed. In the maturity level 1, named Initial, the work is executed in a reactive and unpredictable way. Although the work may be completed at this level, often the the cost and deadline are exceeded and the work does not meet customer expectations.
I'll show you a figure that represents well a typical environment of a maturity level 1 company. In this figure we see a person working up late, with few resources and money literally flying out the window, this is how many people work today, that is, totally amateur way. Think like the customer, you certainly wouldn't hire a company that performs the work under these conditions, right?
The maturity level 2 in the CMMI model is named Managed. At this level, the work is performed and controlled at the project level. All the projects have to be planned, monitored, measured and controlled.
We are talking about a real company that controls all their work in the form of projects, where it can have visibility of the work in progress, the work already concluded and what is the work that need to be executed in the next period. This other figure exemplifies the scenario of a company at the maturity level 2. We see here a team working much more collaborative and with more resources than at level 1.
Even so, we can see that there are still some difficulties exemplified in the graph, which shows a drop in the indicator possibly related to project performance, followed by a slight improvement. Besides that, resources are not yet ideal and the company has many losses and wastes that affect not only the profit margin of projects, but also impact customer satisfaction. The maturity level 3 of the CMMI model is named Defined.
At this level, teams work much more proactive and less reactive than teams of companies at maturity levels 1 and 2. In practice, this means that these teams put out much less fire than companies at maturity levels 1 and 2, for example, when the team has to put a product in production and that product presents problems, affecting the operation of the customer. This is very common in companies at levels 1 and 2.
To resolve these problems, the team have to work at night, on saturdays and sundays. At maturity level 3, it is expected that these problems occur with much less frequency, because the team can predict well in advance the types of problems that can occur in the projects and prepare to minimize occurrence of these problems or once the problem occurs, the team is prepared to minimize the impact of the problem in the operation. By doing so, losses and waste are eliminated helping to increase the customer satisfaction.
The key point of the maturity level 3 of CMMI model is the definition of standard processes that helps to provide guidance for all teams at the project, portfolio and program levels. In this other figure, we see a multi-member team, with defined roles working collaboratively. Work is defined through activity flowcharts and execution is monitored by Gantt charts and indicators related, for example, to quality and productivity.
The maturity level 4 in the CMMI model is named Quantitatively Managed. At this level, organizations are considered of high maturity because they use quantitative and statistical data to understand the trend and dispersion of process behavior. I will explain this to you: So, a Junior team tends to produce work in a way different from a team formed by Senior.
It is expected that a Senior team be able to deliver work faster and with more quality than a Junior team. An organization at level 4 is able to understand what is the productivity and quality trend of the teams, but of course, knowing that it is possible to have a variation in the way these teams execute their work. For example, a Junior team can deliver a work measured at 10 points spending 20 hours more or less 3 hours.
On the other side, a Senior team could perform this same ten-point work, spending 10 hours more or less two hours. So, we have an example of values of trend and dispersion of these data on these types of teams. However, this expected behavior is not always found in organizations.
We often see it in companies high seniority teams producing similarly to the Junior team and this is not adequate in companies, since the cost of a Senior team tends to be much more higher than a Junior team. Organizations at level 4 can identify these discrepancies and eliminate factors that may be causing these distortions in the behavior of processes. In this way, the organization will manage to improve their processes stabilize them in some way such that teams are able to perform results within what the organization expects.
In this other figure, we have members of a team performing quantitative and statistical analysis based on histograms and control charts, supported by computational resources more sophisticated than organizations at maturity level 3. In this environment of high maturity, managers and directors have at hand reliable data to support critical project decisions, such as increase the company's competitiveness by reducing the deadlines and costs of the project and maintaining the product quality. The maturity level 5 named Optimizing is also a high maturity level.
At this level, organizations focus on continuous improvement to obtain flexible processes capable of responding with agility to the opportunity and changes. For example, a software factory in Brazil has as opportunities the execution of software projects for public agencies. A software factory can win a contract with the government if it has a lower price than competitors in an electronic auction.
Companies at maturity level 2 and 3 don't have enough knowledge about how reducing the price of a service affects quality, cost and time in the execution of a specific work. On the other side, a maturity level 5 organization, can use statistical data to estimate with enough confidence a reduction on the price without affecting quality and still be able to execute work on time and at established cost. Thus, an organization at CMMI maturity level 5 is continuously trying to stabilize the process behaviour by increasing the predictability of results, creating an environment best suited to invest in innovations such as, implementing automation with DevOps to obtain significant quality and productivity gains.
In this other figure, we show an environment with highly sophisticated resources such as intelligent assistants capable of helping not only to execute data processing and analysis, but also assessing innovative opportunities to stabilize the performance of processes making them more agile and flexible.