Skip to main content

Scorecards

What is a Scorecard?

Scorecards enable us to define and track metrics/standards for our Port entities, based on their properties. Each scorecard consists of a set of rules, where each rule defines one or more conditions that need to be met.

Each rule has a level property whose value can be defined per to the way you define standards in your organization, for example:

  • Service maturity can be defined as Basic, Bronze, Silver, Gold.
  • Security standards can be defined as Low, Medium, High, Critical.
  • Production readiness can be defined as traffic light colors Red, Orange, Yellow, Green.
  • Engineering quality can be defined as Poor, Fair, Good, Excellent.
  • Service response time can be defined as A, B, C, D, F.

Scorecard use cases

Scorecards can be used to evaluate the maturity, production readiness and engineering quality of any entity in your software catalog, for example:

Does a service has an on-call defined? Does a README.md file exist in the repository? Is Grafana defined for the K8s cluster? Is the relation of a certain entity empty?

Building a Scorecard

The scorecard is built in Port, and then you can use it in your Backstage instance. Read more about how to build a scorecard here.

Scorecards Page

For example, let's add the Scorecard component to the NavBar:

in the file: packages/app/src/App.tsx, add the route:

<Route path="/scorecards" element={<ScorecardsPage />} />

and then add the link to the NavBar, in the file: packages/app/src/components/Root/Root.tsx:

<SidebarItem icon={DoneAllIcon} to="scorecards" text="Scorecards" />

Scorecards page