InnerSource metrics for Financial Industry
Feature Request
Description of Problem:
What InnerSource metrics would be valuable to measure around each InnerSource project in the Financial Industry to understand:
- The value of the project from the perspective of cost saved through reuse or otherwise ( USD saved ideal )
- How much each InnerSource contributor is contributing to the project transparently to recognise then
- The Engineering health of the project from the perspective of maintainability, security and quality
- How InnerSource is enabling better collaboration on engineering / engineering efficiency
- Understand the adoption by versions to minimise support costs
- Open Source behaviours in organisation - Russel
Requirements
- People like to segment these metrics by business unit to understand the how innersource impacts across the org
Things you cannot put a metric easily on
- Is the project successful and what is the business value of the project -
- Social component of developer experience delivered by InnerSource - Georg
- Contribution to better Innovation - Russel
- Innersource as a Job creator - Brittany
Inner Source Metrics for Measuring Project Value and Individual Contributions
Below is a table outlining common inner source metrics that can be measured using data from tools like Jira, GitHub, Bitbucket, SonarQube, and popular DevOps tools used in the financial industry.
General Engineering Health
| Metric | Area | Description | Calculation | Tool Used to Obtain Metric |
|---|---|---|---|---|
| Commits Per Contributor | Individual | Measures the number of commits made by each contributor. | Count of commits per contributor over a specific period. | GitHub, Bitbucket |
| Pull Requests Merged | Individual/Project | Tracks the number of pull requests merged. | Count of merged pull requests. | GitHub, Bitbucket |
| Issues Closed | Individual/Project | Measures the number of issues resolved by an individual or within a project. | Count of closed issues. | Jira, GitHub Issues, Bitbucket Issues |
| Code Review Participation | Individual | Tracks an individual's involvement in code reviews. | Number of code reviews participated in per contributor. | GitHub, Bitbucket |
| Code Coverage | Project | Measures the percentage of code covered by automated tests. | Code coverage percentage. | SonarQube |
| Static Code Analysis | Project | Assesses code quality through static analysis, checking for code smells, bugs, and vulnerabilities. | Number of issues found by static analysis. | SonarQube |
| Build Success Rate | Project | Measures the rate of successful builds. | Percentage of successful builds over total builds. | Jenkins, GitLab CI/CD, Bitbucket Pipelines |
| Deployment Frequency | Project | Tracks how often the code is deployed to production. | Number of deployments per time period. | Jenkins, GitLab CI/CD, Bitbucket Pipelines |
| Time to Resolve Issues | Project | Measures the average time taken to resolve issues. | Average time from issue creation to resolution. | Jira, GitHub Issues, Bitbucket Issues |
| Time to Merge Pull Requests | Project | Tracks the time taken from opening a pull request to merging it. | Average time from PR creation to merge. | GitHub, Bitbucket |
| Contributor Activity | Individual/Project | Measures overall activity of contributors including commits, issues, and comments. | Count of commits, issues created, and comments. | GitHub, Bitbucket, Jira |
| Code Churn | Project | Measures the amount of code changed over a period of time. | Lines of code added, modified, or deleted. | GitHub, Bitbucket |
| Defect Density | Project | Measures the number of defects per lines of code. | Number of defects / KLOC (thousand lines of code). | SonarQube, Jira |
| Lead Time for Changes | Project | Measures the time taken from a code commit to deployment in production. | Average time from commit to production deployment. | Jenkins, GitLab CI/CD, Bitbucket Pipelines |
| Security Vulnerabilities | Project | Tracks the number of security vulnerabilities found in the codebase. | Count of security vulnerabilities. | SonarQube, Snyk, GitHub Security |
InnerSource Focused Metrics
| Metric | Area | Description | Calculation | Tool Used to Obtain Metric |
|---|---|---|---|---|
| Downloads | Project | Tracks the number of times the InnerSource code or submodule has been downloaded or forked | Downloads | Github, Bitbucket |
| InnerSource Contributors | Project | Tracks the number of InnerSource contributors | Number of non-core team code contributors | Github, Bitbucket, JIRA |
| Reuse Factor | Project | Tracks the number of times the InnerSource code or submodule has been reused | number of time reused | Github, Bitbucket |
Other tools that can provide data
- SCANOSS
- Backstage
- Slack
Reporting Tools
- 8Knot
- CHAOSS Augur
- CHAOSS GrimoireLab
These metrics are specifically chosen for their ease of measurement using common tools in the financial industry. Each metric also mention tools like Jira, GitHub, Bitbucket, SonarQube, and popular CI/CD platforms such as Jenkins and GitLab CI/CD. These tools provide extensive data and reporting features that can be used to track and analyze the metrics effectively.
From InnerSource Commons a space for us to update https://innersourcecommons.gitbook.io/managing-innersource-projects/measuring/goals
https://chaoss.github.io/grimoirelab/
https://eightknot.osci.io/
This work is great!