Maturity Report

Understand how a service's level is calculated and how you can improve it.

When viewing a service in OpsLevel, the Maturity Report tab provides detailed information about that service’s level. You can use it to answer questions like:

  • Why is my service in the Bronze level?
  • How is my service doing in the Security category?
  • How can I bring my service up to the next level?
Maturity Report Tab
The Maturity Report gives a visual explanation of why a service has a certain level


Every service in OpsLevel is assigned a level indicating how mature it is. The definition of mature varies from company to company, so OpsLevel lets you fully customize how services are graded against the rubric. For example, a service could be assigned a low level because it has poor test coverage or a high number of security vulnerabilities. Another service could be assigned a high level because it has great test coverage and zero security vulnerabilities.

The Current Level section of the Maturity Report tab shows the service’s overall level. In this example, the service is currently in the Bronze level.

Current Level

The Checks section provides detailed information about how the service is performing against the rubric checks. It can be used to figure out why your service is at a certain level and how much work is needed to move on to the next level.

The progress bar at the top shows how far along the rubric your service has progressed. The section below shows the passing and failing checks for the service, grouped by level.


Calculating a Service’s Level

In the image above, the service is passing all checks in the Bronze level. It’s failing a check in the Silver level. Since the service is working towards the Silver level but hasn’t achieved it yet, the current level of the service is Bronze. Once the service passes the failing check, it will achieve the Silver level.

For a service to achieve a level, it must pass all checks in that level and all levels below.

In addition to having an overall level, a service will be assigned levels for each of the different categories from the rubric. The category levels are calculated in the same way as the overall level but instead of considering all checks, OpsLevel will only look at checks for that specific category.

The Scorecard section shows this information with the categories as rows and the levels as columns. Hovering over a cell will display the level for that category.


Recall the example from earlier where the service has a failing check in the Silver level. Since this failing check belongs to the Security category, the service has a Bronze level in Security. This Bronze in Security is holding the service back from achieving an overall level of Silver.

Improving a Service’s Level

In order to move on to the next level, the service must pass all failing checks in that level. The amount of work involved in fixing a failing check depends on the type of check.

Simple checks like Tool Usage checks can be fixed directly from the Maturity Report. Clicking the ‘Fix This’ button will let you add a tool to the service.

Failing Check Tool

More advanced checks like Repo File checks could require a code change to fix. The check notes can provide more info about how to fix. For example, this ‘Ruby Version >= 2.6.0’ check can be fixed by upgrading to Ruby 2.6 or 2.7.

Failing Check Repo File