finos / finos/InnerSource

InnerSource metrics for Financial Industry

Open
#119 5 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
37
Forks
19
PR merge metrics
No merged PRs in 30d

Description

## Feature Request

### Description of Problem:
What InnerSource metrics would be valuable to measure around each InnerSource project in the Financial Industry to understand:

1. The value of the project from the perspective of cost saved through reuse or otherwise ( USD saved ideal )
2. How much each InnerSource contributor is contributing to the project transparently to recognise then
3. The Engineering health of the project from the perspective of maintainability, security and quality
4. How InnerSource is enabling better collaboration on engineering / engineering efficiency
5. Understand the adoption by versions to minimise support costs
6. Open Source behaviours in organisation - Russel

Requirements
1. 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
1. Is the project successful and what is the business value of the project -
2. Social component of developer experience delivered by InnerSource - Georg
3. Contribution to better Innovation - Russel
4. 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

1. SCANOSS
2. Backstage
3. Slack

Reporting Tools

1. 8Knot
3. CHAOSS Augur
4. 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.

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the issue's proposed metric categories, requirements, and listed data sources, including GitHub, GitLab CI/CD, SonarQube, Jira, and DevOps tools. Done would require an agreed metric scope and a defined implementation or reporting plan; the issue does not name repository files, tests, or entry points.

Written by the indexing model from the issue text.

Assessment

Tech stack
github, gitlab
Domain
analytics, developer-experience
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.