Skip to content

Commit 72e6427

Browse files
spiergruetter
andauthored
Cleanup overview of patterns in Level 1 (#254)
* Remove the extra group "Reviewed Pattern Ideas (not yet proven but reviewed)". Also adapt status in the patterns accordingly. Rational: by definition the 1-Initial patterns don't have a Known Instance yet, i.e. they are not proven. Therefore we don't need an extra group to state this. * Move all patterns that have a patlet already out of the extra group "Pattern Ideas (not yet proven; brainstormed)". Those pattern are similar in quality to the ones that we already list in "### Maturity Level 1: Initial", so they don't have to be in an extra group. * Move remaining patterns from sub-group "Pattern Ideas (not yet proven; brainstormed)" to "Maturity Level 1: Initial". Also updating the Status in the patterens themselves. Rational: * These patterns were not all that different from the ones directl in "Maturity Level 1: Initial". * Often times they don't have a solution yet, or just a brainstormed solution. * Many of them don't have a Patlet, likely because they were written at a time when the Pattern Template didn't ask for that yet * update links to point to files, rather than to PRs * port the Donut pattern from old PR #38 into this, so that we can link to the Donut pattern directly, rather than to the PR. Also adapted pattern slightly to fit the current Pattern template better. * various other smaller fixes Co-authored-by: Georg Grütter <[email protected]>
1 parent 366314d commit 72e6427

14 files changed

+209
-95
lines changed

README.md

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -58,34 +58,28 @@ possible to either deploy the same service in independent environments with sepa
5858
### Maturity Level 1: Initial
5959

6060
* [Transparent Cross-Team Decision Making using RFCs](patterns/1-initial/transparent-cross-team-decision-making-using-rfcs.md) - *InnerSource projects that want to achieve high participation rates and make the best possible decisions for everybody involved need to find ways to create participatory systems throughout the full software lifecycle. Publishing internal Requests for Comments (RFCs) documents allows for discussions early on in the design process, and increases the chances to build solutions with a high degree of commitment from all involved parties.*
61-
62-
#### Reviewed Pattern Ideas (not yet proven but reviewed)
63-
6461
* [Modular Code](patterns/1-initial/modular-code.md) - *Management does not want to spend the extra resources needed to develop modular components and make them available in a visible repository for others to use.*
6562
* [Improve Findability](patterns/1-initial/improve-findability.md) - *People can't find the internally developed solutions that they need due to poor naming conventions. This causes frustration in finding inner source solutions and a reduction in code reuse.*
6663
* [Overcoming Project Management Time Pressures](patterns/1-initial/overcoming-project-management-time-pressures.md) - *Project management believes timeline pressure and commitments on feature content does not allow for developers to spend the time needed to develop shareable code and provide support.*
67-
68-
#### Pattern Ideas (not yet proven; brainstormed)
69-
64+
* [Introducing Metrics in InnerSource](patterns/1-initial/introducing-metrics-in-innersource.md) - *Involve all stakeholders in designing and interpreting metrics to measure the current status in terms of health and performance of the InnerSource initiative.*
65+
* [Shared Code Repo Different from Build Repo](patterns/1-initial/shared-code-repo-different-from-build-repo.md) - *Deal with the overhead of having shared code in a separate repository that isn't the same as the project-specific one that is tied to production builds.*
7066
* [InnerSource Portal - Hygiene](patterns/1-initial/innersource-portal-hygiene.md) - *Allow generation of an official badge for projects intending to be recognised as InnerSource project within your company.*
7167
* [Overcome Acquisition Based Silos - Developers](patterns/1-initial/overcome-acquisition-based-silos-developer.md)
7268
* [Overcome Acquisition Based Silos - Managers](patterns/1-initial/overcome-acquisition-based-silos-manager.md)
7369
* [Discover Your InnerSource](patterns/1-initial/discover-your-innersource.md)
7470
* [Junkyard Styled Inner Sourcing](patterns/1-initial/junkyard-styled-innersourcing.md)
75-
* [Shared Code Repo Different from Build Repo](patterns/1-initial/shared-code-repo-different-from-build-repo.md) - *Deal with the overhead of having shared code in a separate repository that isn't the same as the project-specific one that is tied to production builds.*
7671
* [Incentive Alignment](patterns/1-initial/developer-incentive-alignment-for-innersource-contribution.md)
7772
* [Change the Developers Mindset](patterns/1-initial/change-the-developers-mindset.md)
7873
* [Share Your Code to Get More Done - Likely Contributors Variant](patterns/1-initial/share-your-code-to-get-more-done.md)
79-
* [Introducing Metrics in InnerSource](patterns/1-initial/introducing-metrics-in-innersource.md) - *Involve all stakeholders in designing and interpreting metrics to measure the current status in terms of health and performance of the InnerSource initiative.*
8074
* [Code Consumers](patterns/1-initial/code-consumers.md)
8175

82-
#### Pattern Donuts (needing a solution)
76+
#### Donuts (needing a solution)
8377

8478
* [How to Defeat the Hierarchical Constraints](patterns/1-initial/defeat-hierarchical-constraints.md)
85-
* [Project Management Time Pressures](https://github.com/InnerSourceCommons/InnerSourcePatterns/pull/47)
79+
* [Project Management Time Pressures](patterns/1-initial/overcoming-project-management-time-pressures.md)
8680
* [Organizational Mindset Change](patterns/1-initial/organizational-mindset-change.md)
8781
* [Bad Weather For Liftoff](patterns/1-initial/bad-weather-for-liftoff.md)
88-
* [Get Contributions Despite Silo Thinking](https://github.com/InnerSourceCommons/InnerSourcePatterns/pull/38)
82+
* [Incentive mechanisms to foster voluntary contribution](patterns/1-initial/incentive-mechanisms-for-voluntary-contribution.md)
8983

9084
## What are InnerSource Patterns?
9185

patterns/1-initial/change-the-developers-mindset.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,11 @@ TBD
5151

5252
## Status
5353

54-
Unproven
55-
56-
Old status: Pattern Idea
54+
* Initial
55+
* Old status: Unproven
56+
* Old status: Pattern Idea
5757

5858
## See Also
5959

60-
This pattern has been moved for discussion at https://github.com/InnerSourceCommons/InnerSourcePatterns/issues/39
60+
This pattern has been moved for discussion at
61+
https://github.com/InnerSourceCommons/InnerSourcePatterns/pull/63

patterns/1-initial/code-consumers.md

Lines changed: 57 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,57 @@
1-
# Title
2-
3-
Code Consumers
4-
5-
# Patlet
6-
7-
TBD
8-
9-
# Problem
10-
11-
There's several reasons why we might want to know who's using (consuming) our code. We can't do the following:
12-
13-
* notify downstream users/projects of found (fixed?) vulnerabilities
14-
* audit flow of IP
15-
* kill off code - knowing where (or if) it is used
16-
* encourage others to use a project - by showing how many users there already are
17-
* survey users for feedback
18-
19-
# Context
20-
21-
This is a general issue that affects potentially all InnerSource (and open source!) projects.
22-
The act of opening code allows people to use it without letting you know.
23-
24-
# Forces
25-
26-
* The harder it is to download/integrate the project, the less it will be adopted (forcing people to give information when they use it adds barriers)
27-
* Not all projects may want you to know what they're using (tightly closed source/top secret downstream project)
28-
* Putting in callback/call home routines into projects may introduce distrust in downstream projects and users
29-
30-
# Solutions
31-
32-
The following are potential solutions that have been proposed to this problem:
33-
34-
* Scan all output artifacts for known signatures (manifests/npm/includes etc)
35-
* Voluntary disclosure/signup upon installation/using
36-
* Search for identifiers/markers in source control
37-
* Audit code clones/artifact downloads
38-
* Incentivise/Offer users a mailing list/update stream to which they can subscribe
39-
40-
# Resulting Context
41-
42-
_needs work..?_
43-
44-
# Known Instances
45-
46-
_needs work...?_
47-
48-
# Authors
49-
50-
* Georg Grütter (Robert Bosch GmbH)
51-
* Raimund Hook (EXFO Inc)
52-
* Katrina Novakovic (RedHat)
53-
54-
# Status
55-
56-
Drafted at the 2019 Spring InnerSource Commons Summit in Galway - 10 April 2019
1+
# Title
2+
3+
Code Consumers
4+
5+
# Patlet
6+
7+
TBD
8+
9+
# Problem
10+
11+
There's several reasons why we might want to know who's using (consuming) our code. We can't do the following:
12+
13+
* notify downstream users/projects of found (fixed?) vulnerabilities
14+
* audit flow of IP
15+
* kill off code - knowing where (or if) it is used
16+
* encourage others to use a project - by showing how many users there already are
17+
* survey users for feedback
18+
19+
# Context
20+
21+
This is a general issue that affects potentially all InnerSource (and open source!) projects.
22+
The act of opening code allows people to use it without letting you know.
23+
24+
# Forces
25+
26+
* The harder it is to download/integrate the project, the less it will be adopted (forcing people to give information when they use it adds barriers)
27+
* Not all projects may want you to know what they're using (tightly closed source/top secret downstream project)
28+
* Putting in callback/call home routines into projects may introduce distrust in downstream projects and users
29+
30+
# Solutions
31+
32+
The following are potential solutions that have been proposed to this problem:
33+
34+
* Scan all output artifacts for known signatures (manifests/npm/includes etc)
35+
* Voluntary disclosure/signup upon installation/using
36+
* Search for identifiers/markers in source control
37+
* Audit code clones/artifact downloads
38+
* Incentivise/Offer users a mailing list/update stream to which they can subscribe
39+
40+
# Resulting Context
41+
42+
_needs work..?_
43+
44+
# Known Instances
45+
46+
_needs work...?_
47+
48+
# Authors
49+
50+
* Georg Grütter (Robert Bosch GmbH)
51+
* Raimund Hook (EXFO Inc)
52+
* Katrina Novakovic (RedHat)
53+
54+
# Status
55+
56+
* Initial
57+
* Drafted at the 2019 Spring InnerSource Commons Summit in Galway - 10 April 2019

patterns/1-initial/developer-incentive-alignment-for-innersource-contribution.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,9 +72,9 @@ TBD
7272

7373
## Status
7474

75-
Unproven
76-
77-
Old status: brainstormed solution
75+
* Initial
76+
* Old status: Unproven
77+
* Old status: brainstormed solution
7878

7979
## Author
8080

patterns/1-initial/discover-your-innersource.md

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
Discover Your InnerSource
44

5+
## Patlet
6+
7+
TBD
8+
59
## Also Known As
610

711
* Not looking for stuff internally
@@ -53,7 +57,7 @@ Make it easy to find the reusable code.
5357
* Encourage (and reward) owners of reusable code to use the same search engine to continually search for products that are candidates for use and adoption of the reusable code but not currently doing so.
5458
* Consider creating a marketplace for marketing InnerSource programs (management can use this mechanism to know which InnerSource projects to fund, but seeing how the marketplace reacts).
5559

56-
## Known instances
60+
## Known Instances
5761

5862
## Resulting Context
5963

@@ -66,11 +70,12 @@ Make it easy to find the reusable code.
6670

6771
## Status
6872

69-
Brainstormed pattern idea in progress
73+
* Initial
74+
* Brainstormed pattern idea in progress
7075

7176
## Authors
7277

73-
* Georg Grutter
78+
* Georg Gruetter
7479
* Erin Bank
7580
* Padma Sudarsan
7681
* Tim Yao

patterns/1-initial/improve-findability.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,13 +57,12 @@ None known as of yet---this is a pattern idea until it is proven.
5757

5858
## Status
5959

60-
Unproven
61-
62-
Brainstormed pattern idea reviewed 2017-03-11.
60+
* Initial
61+
* Brainstormed pattern idea reviewed 2017-03-11.
6362

6463
## Authors
6564

66-
- Georg Grutter (Robert Bosch GmbH)
65+
- Georg Gruetter (Robert Bosch GmbH)
6766
- Diogo Fregonese (Robert Bosch GmbH)
6867
- Erin Bank (CA Technologies)
6968
- Padma Sudarsan (Nokia)
Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
## Title
2+
3+
Incentive mechanisms to foster voluntary contribution
4+
5+
## Patlet
6+
7+
TBD
8+
9+
## Problem
10+
11+
In hierarchical and silo-organized organizations, getting voluntary contributions in InnerSource
12+
projects can be challenging. It is crucial to create mechanisms to incentivize managers to foster
13+
voluntary contributions. Consider the following story:
14+
15+
Company A has started an InnerSource initiative. Their InnerSource concept expected to have
16+
associates voluntarily contributing to InnerSource projects, regardless of topic and regardless of
17+
home-business-unit alignment.
18+
19+
After some time in activity, the core team realizes that their InnerSource project is not getting
20+
voluntary contributions. While engaging with potential individual contributors, the
21+
core team (pattern link) has consistently learned that the contributors in question were
22+
not allowed to contribute or have their participation in InnerSource projects rejected by
23+
their respective line managers. The reasons presented by management are:
24+
25+
- the lack of strategic alignment between the InnerSource project goal and the business unit product/service portfolio,
26+
- managers have planned their developer's capacity 100% to the home business units projects.
27+
28+
So, the management is not motivated to provide their scarce developer capacity to the
29+
InnerSource project.
30+
31+
As a result, the total number of contributors remained restricted to the core team and the
32+
project cannot build a community of developers. Furthermore, contributions mostly originated
33+
in the same business unit the Dedicated Community Leader (link to Dedicated Community Leader)
34+
belonged to. Innovation did not happen in the expected scale. Top management is no longer
35+
convinced that InnerSource yields the expected benefits and abandons the initiative altogether.
36+
37+
## Context
38+
39+
- The InnerSource initiative is sponsored (budget) by top level management.
40+
- The managers (middle-management) have their bonus directly depending
41+
only on business units results under their responsibility
42+
- The capacity of every associate is usually planned by their superiors
43+
and 100% allocated to the home business unit projects
44+
- Cross organizational collaboration is not the norm.
45+
- Contributions to InnerSource projects are expected to be made during working
46+
hours.
47+
48+
## Forces
49+
50+
- Managers of business units are held accountable for their results. Reducing
51+
the capacity of an associate contributing to an InnerSource project rather
52+
than the goals of the business unit will make it harder for them to reach or
53+
exceed their goals.
54+
- The more time an associate spends on contributions to an InnerSource project
55+
which does not benefit his day-to-day work, the more will the workload for
56+
his teammates in his business unit increase.
57+
- The individual contributor would like to participate to enhance his
58+
professional network within the company and gain knowledge and experience
59+
with both the InnerSource method and the technical area he makes a
60+
contribution to.
61+
62+
## (Possible) Solution
63+
64+
- The top management sets and communicates a corporate strategy where development
65+
capacity are to be planned and committed to a maximum of 85% to home business units projects
66+
- A central funded formal contracting mechanisms, where line managers get
67+
refunded by the percentage of associates work time in InnerSource is in place.
68+
- Managers (middle-management) have a percentage of their bonus associated to
69+
contribution and the results of InnerSource projects not directly related/sponsored
70+
by their business units.
71+
- Utilize any existing engineering-wide bonus that allots some percentage of each employee's
72+
bonus to be aligned with Inner Source interactions. It could be # of commits, or commits +
73+
issues + documentation + chat interaction, etc. Utilize some kind of personally-linked
74+
statistic to fill, for example, 15% of each employees bonus. Note that this encourages
75+
after-hours type work more-so than regular work-week hours, but if combined with other
76+
solutions above, could hit the issue from multiple angles. (used partially @ RedHat)
77+
78+
## Resulting Context
79+
80+
- The top management communication of the strategic decision to plan and commit
81+
85% of developers capacity and have 15% buffer for other company initiatives,
82+
for instance InnerSource projects, shows their support and sets a clear sign
83+
that InnerSource is part of the corporate goal and get executive air cover.
84+
- Allocation of corporate funds to business units for reimbursement of
85+
development capacity makes easier for business units to contribute to InnerSource
86+
projects without to commit their cost center budget.
87+
- Setting the bonus of middle-management partially depending on contributions and the success
88+
of InnerSource projects, motivates managers to encourage their developers participate on those
89+
projects
90+
- With a stable group of contributors, it is more likely that some of them will
91+
eventually achieve trusted committer status and the InnerSource project will be able
92+
to establish a healthy community around their project.
93+
94+
## Status
95+
96+
* Initial
97+
98+
## Authors
99+
100+
* Diogo Fregonese (Robert Bosch GmbH)
101+
* Georg Gruetter (Robert Bosch GmbH)
102+
* Robert Hansel (Robert Bosch GmbH)
103+
* Nick Yeates
104+
105+
## Alias
106+
107+
Get Contributions Despite Silo Thinking

patterns/1-initial/introducing-metrics-in-innersource.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ Continued monitoring of these metrics will help middle management and developers
7878

7979
## State
8080

81-
Unproven
81+
Initial
8282

8383
## Authors
8484

patterns/1-initial/junkyard-styled-innersourcing.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@
33
* Junkyard styled inner sourcing
44
* Finding but deciding not to use the internal component
55

6+
## Patlet
7+
8+
TBD
9+
610
## Context
711

812
Two situations:
@@ -31,11 +35,12 @@ Two situations:
3135

3236
## Status
3337

34-
Brainstormed pattern idea in progress
38+
* Initial
39+
* Brainstormed pattern idea in progress
3540

3641
## Authors
3742

38-
* Georg Grutter
43+
* Georg Gruetter
3944
* Erin Bank
4045
* Padma Sudarsan
4146
* Tim Yao

patterns/1-initial/modular-code.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,6 @@ Time is spent making the shared code modular so it can be reused.
5151

5252
## Status
5353

54-
Unproven
54+
Initial
5555

5656
## Author

0 commit comments

Comments
 (0)