Skip to content

Commit 9a56d1a

Browse files
committed
added new metric: contribution-distance
1 parent 939c3a4 commit 9a56d1a

File tree

2 files changed

+42
-1
lines changed

2 files changed

+42
-1
lines changed
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
[⬑ back to the overall graph](../use_gqm.md)
2+
3+
# **Metric:** Contribution Distance
4+
5+
**Synopsis**: Number of organizational hops from owning team to contributing team
6+
It can be useful to know not only when contributions to a repository are made, but the distance between the
7+
owning team and contributing individual in terms of organizational distance.
8+
9+
**Unit of Measurement**: manager levels
10+
This is measured in terms of number of managers you have to move up in the hierarchy before you can go down to
11+
the contribution team. For example, if the manager in common of both parties is two jumps up the chain,
12+
then the distance is 2. Most contributions will be in-team and therefore are 0 distance. For a contribution
13+
to be "InnerSource", it has to be at least 1 distance.
14+
15+
**Interpretation**: Contribution distance is a measurable proxy for collaboration
16+
A repository with a pull request that has a high contribution distance is likely to be reflective of a
17+
repository with more impact and more effective set up for collaboration. Repositories that have pull requests
18+
with a high contribution distance are on average probably more likely to be useful to others than repositories
19+
with only a single short distance collaboration.
20+
21+
Collaboration distance and counts combined can also tell you something about the type of value a repository provides.
22+
A repository with many pull requests of 1-2 distance is likely to be reflective of partner teams working closely
23+
together to solve a shared problem. A repository with many pull requests of 3-4 distance but only a single
24+
pull request from each contributor is likely to be reflective of a repository that is being used for information
25+
sharing or as a reference. Contribution distance is a metric that can be combined with others to build up
26+
a picture of the community around each repository where InnerSource contribution behaviors are occurring.
27+
28+
**Measuring**
29+
30+
Measuring this metrics requires a mapping of your organization's hierarchy and a way to define whether the person
31+
that submits each issue or pull request is a member of the owning team or not. There are likely multiple
32+
ways to do each of these tasks and the best way will depend on your organization.
33+
34+
As an example, Microsoft determines if an individual is on the "owning team" by finding the individual that approved
35+
the majority of pull requests and then finding the manager that is accountable for that individual.
36+
37+
One possible pitfall is that manager and team relationships change over time. For this reason, it can be preferred
38+
to measure contribution distance soon after the pull request is merged and then store the distance as
39+
manager relationships will change over time degrading the data quality.

measuring/use_gqm.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,13 @@ graph LR;
3636
who-contributes.md[<a href='https://github.com/InnerSourceCommons/managing-inner-source-projects/blob/main/measuring//questions/who-contributes.md'>Who contributes to the InnerSource project?</a>]
3737
who-uses.md[<a href='https://github.com/InnerSourceCommons/managing-inner-source-projects/blob/main/measuring//questions/who-uses.md'>Who uses the InnerSource project?</a>]
3838
code-contributions.md[<a href='https://github.com/InnerSourceCommons/managing-inner-source-projects/blob/main/measuring//metrics/code-contributions.md'>Code contributions</a>]
39+
contribution_count.md[<a href='https://github.com/InnerSourceCommons/managing-inner-source-projects/blob/main/measuring//metrics/contribution_count.md'>Code contributions</a>]
3940
usage-count.md[<a href='https://github.com/InnerSourceCommons/managing-inner-source-projects/blob/main/measuring//metrics/usage-count.md'>Usage count</a>]
4041
find-projects.md-->who-uses.md
4142
find-projects.md-->who-contributes.md
4243
reduce-duplication.md-->who-uses.md
4344
who-contributes.md-->code-contributions.md
45+
who-contributes.md-->contribution_count.md-
4446
who-uses.md-->usage-count.md
4547
end
4648
subgraph Legend
@@ -57,7 +59,7 @@ graph LR;
5759
class question,who-contributes.md,who-uses.md questions
5860
5961
classDef metrics stroke:purple,stroke-width:2px;
60-
class metric,code-contributions.md,usage-count.md metrics
62+
class metric,who-contributes.md, code-contributions.md,usage-count.md metrics
6163
end
6264
6365
```

0 commit comments

Comments
 (0)