Scorecards play a pivotal role in ensuring software components are developed and utilized while adhering to organizational and industry standards. They provide a quantifiable measure of software maturity and adherence to best practices, thereby aiding developers in enhancing quality and assisting teams in making informed decisions regarding software adoption.
Purpose & Concept of Scorecards
- Measure Software Maturity: Evaluate the robustness and reliability of software components.
- Assess Best Practices: Ensure software adheres to organizational and industry standards.
- Gamification: Encourage developers to adhere to standards by providing scores.
- Confidence Estimation: Help teams estimate the reliability of software based on its score.
- Check: A check is a query performed against a data point for a software component which results in either
- Data Source: Data Sources are third-party providers which can provide a specific type of data for a software component. Example - GitHub, GitLab, Harness, PagerDuty, etc.
- Data Points: For each software component, every data source provides some data points. The data points could be a number, a string or a boolean.
If you have Scorecard UI components visible on your Catalog component pages, you can skip the following steps and proceed to "Create your first scorecard" section.
Scorecard Components in IDP
Scorecard has two main UI components which are developer facing and lives in the Catalog - 1. A small Card for the Overview page with the scores and, 2. a Tab view with details of the checks and how the score got computed. This is illustrated below. The Tab view contains detailed comprehensive information as shown in the image under overview
Adding Card and Tab Content for an Entity
- Go to the Layout section in IDP Admin, and select Service or any other kind of catalog entity for which you want to add Scorecards.
Add Scorecard to the overview tab
- Find the Overview tab in the YAML and add the following in its component section -
- component: EntityScoreCard
Add Scorecard Tab component
- Under the tabs section add the following -
- name: Scorecard
- component: EntityScorecardContent
Create Your Scorecard
- Go to the "Scorecards" tab under "Admin" and Create New Scorecard.
- Add a "Name" to it and give the criteria to Filter your catalog entities.
- Followed by adding the "Checks" and then select Publish Scorecard.
Make sure the values under Filter catalog entities for which the scorecard is evaluated should match with your entity "owner" and "type" as shown below, also tags are applied as AND operations so if you select multiple tags make sure all of them are present for the software component you want to compute the score for.
Scorecard Overview Page
- Once you have created your Scorecard, in the Overview page you can view the number of components for which it is applied and the overall health of the components in terms of "%"
- On clicking the overall health button displayed for your scorecard you will be redirected to a page with detailed information regarding the components tracked through the scorecard as well as the time detailed score of each component.
Comment out the Scorecard related lines added under Layout pages as mentioned above, to remove the Scorecard components from the Catalog pages.
Additionally, you can also change the status of all the Scorecards you have to "draft". This will ensure that the computation will not run and will not be shown to the developer.