You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+14-16Lines changed: 14 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,5 @@
1
+
# InnerSource Patterns
2
+
1
3
This repository contains the InnerSource Patterns collected by the [InnerSource Commons][isc-website]. These patterns are InnerSource best practices codified in a specific format to make it easy to understand, evaluate, and reuse them.
2
4
3
5
Below you find [what a pattern is][gh-what-are-patterns], a [list of known patterns][gh-list-of-patterns], and [how to use these patterns][gh-how-to-use-patterns] in your organization.
@@ -10,18 +12,17 @@ You are already using InnerSource in your company and want to share your ideas a
- Collect and document agreed upon best practices of how to do InnerSource - in the form of patterns
17
19
- Continuously publish the most mature patterns as an ebook
18
20
19
-
20
-
# List of Patterns
21
+
## List of Patterns
21
22
22
23
The below lists all known patterns. They are grouped into four stages of maturity.
23
24
24
-
####Reviewed Patterns (proven and reviewed)
25
+
### Reviewed Patterns (proven and reviewed)
25
26
26
27
*[30 Day Warranty](30-day-warranty.md) - *a pattern for getting a reluctant code-owning team to accept code submissions from outside their team.*
27
28
*[Common Requirements](common-requirements.md) - *Common code in a shared repository isn't meeting the needs of all the project-teams that want to use it; this is solved through requirements alignment and refactoring.*
@@ -36,12 +37,12 @@ The below lists all known patterns. They are grouped into four stages of maturit
36
37
possible to either deploy the same service in independent environments with separate escalation chains in the event of service downtime or factor a lot of shared code out into one library and collaborate on that.*
37
38
*[Trusted Committer](project-roles/trusted-committer.md) - *Many inner-source projects will find themselves in a situation where they consistently receive feedback, features, and bug-fixes from contributors. In these situations project maintainers seek ways to recognize and reward the work of the contributor above and beyond single contributions.*
38
39
39
-
####Reviewed Pattern Ideas (not yet proven but reviewed)
40
+
### Reviewed Pattern Ideas (not yet proven but reviewed)
40
41
41
42
*[Modular Code](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.*
42
43
*[Improve Findability](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.*
43
44
44
-
####Pattern Drafts (proven, not yet fully reviewed)
45
+
### Pattern Drafts (proven, not yet fully reviewed)
45
46
46
47
*[Assisted Compliance](https://github.com/InnerSourceCommons/InnerSourcePatterns/pull/74) - *Helping repo owners be compliant by writing their CONTRIBUTING.md for them as a pull request.*
47
48
*[Cross-Team Project Valuation](crossteam-project-valuation.md) - *It's hard to sell the value of cross-team, inner sourced projects that don't provide a direct impact on company revenue. Here's a data-driven way to represent your project that both articulates its value and amplifies it.*
@@ -54,7 +55,7 @@ possible to either deploy the same service in independent environments with sepa
54
55
*[Start as Experiment](start-as-experiment.md) - *An inner source initiative is considered but not started, because management is unsure about its outcome and therefore unwilling to commit to the investment.*
55
56
*[Include Product Owners](https://github.com/InnerSourceCommons/InnerSourcePatterns/pull/71) - *Key Performance Indicators (KPIs) for Product Owners are primarily product focused, and don't consider areas such as collaborative development. This results in a lower level of engagement with inner source projects.*
56
57
57
-
####Pattern Ideas (not yet proven; brainstormed)
58
+
### Pattern Ideas (not yet proven; brainstormed)
58
59
59
60
*[Discover Your InnerSource](discover-your-innersource.md)
@@ -64,7 +65,7 @@ possible to either deploy the same service in independent environments with sepa
64
65
*[Share Your Code to Get More Done - Likely Contributors Variant](share-your-code-to-get-more-done.md)
65
66
*[Introducing Metrics in InnerSource](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.*
66
67
67
-
####Pattern Donuts (needing a solution)
68
+
### Pattern Donuts (needing a solution)
68
69
69
70
*[How to Defeat the Hierarchical Constraints](defeat-hierarchical-constraints.md)
70
71
*[Project Management Time Pressures](https://github.com/InnerSourceCommons/InnerSourcePatterns/pull/47)
@@ -73,8 +74,7 @@ possible to either deploy the same service in independent environments with sepa
73
74
*[Bad Weather For Liftoff](bad-weather-for-liftoff.md)
Patterns are a way of describing a repeatable, proven solution to a problem with a context. They follow a simple form that helps people wanting to implement the solution to understand the constraints on the problem, the forces that must be balanced and the resulting context (the situation you are left with after the solution is applied). In inner sourcing, patterns can provide a way for the InnerSource Commons participants to concisely share information with each other, improving the practice of inner sourcing. Each of the patterns are divided into Title, Problem Statement, Context, Forces, and Solutions as their main sections.
80
80
@@ -83,27 +83,25 @@ Patterns are a way of describing a repeatable, proven solution to a problem with
83
83
*[Pattern Template File](meta/pattern-template.md) - View a skeleton inner source pattern to get an idea on what goes into a new pattern!
84
84
*[Introduction to InnerSource Patterns (2016 Fall Summit presentation)](https://drive.google.com/open?id=0B7_9iQb93uBQbnlkdHNuUGhpTXc) - *Tim Yao and Padma Sudarsan* (PDF). Detailed pattern background and examples -- Get a detailed understanding of why and how to interact with our patterns. Also see the [Introduction to InnerSource Patterns (2017 Fall Summit)](https://drive.google.com/open?id=0B7_9iQb93uBQWmYwMFpyaGh4OFU)*Tim Yao and Bob Hanmer* (PDF).
85
85
86
-
# How can you use InnerSource Patterns?
86
+
##How can you use InnerSource Patterns?
87
87
88
88
Patterns must be used in a thoughtful manner. They cannot be blindly applied. In most cases, you will need to adapt the given solution to your own situation; but the information given in the pattern, defining the context (immovable constraints) and forces (constraints that can be changed and balanced against each other), should help you do this. Note that you will also need to determine if there are additional constraints (company context and company forces) that apply to your particular company/organization that must be added to the pattern (as a kind of filter). These additional constraints may require additional solution steps to be applied.
89
89
90
90
The pattern form is useful for describing proven patterns but it can also be used for *brainstorming solutions* where patterns are not yet established, since the form gives a structured way for thinking about a problem. You could also create a *donut pattern* (filling in the problem, context, forces and resulting context fields but leaving the solution blank) as a way of asking the InnerSource Commons community for help (to find a proven solution or to brainstorm things to try).
91
91
92
-
93
-
# How to Contribute?
92
+
## How to Contribute?
94
93
95
94
See our [CONTRIBUTING.md](CONTRIBUTING.md) for details on getting involved. To learn how we define, operate, and upkeep this collection of patterns, take a look at [Pattern Meta Info](./meta).
96
95
97
96
We encourage beginners seeking answers to jump in by creating **donuts** (problems without solutions). We encourage experts to pad their experience - these are hoped to become part of a book one day. Anyone can offer reviews and comments for [in-progress patterns](https://github.com/InnerSourceCommons/InnerSourcePatterns/pulls).
98
97
99
98
We work together via Github, Webex, Slack, etc. Do not hesitate to join the [#innersourcecommons](https://isc-inviter.herokuapp.com/) or #innersource-patterns slack channels and ask to be included in the [patterns meetings](/meta/meetings.md) (there is an email list).
100
99
101
-
102
-
# Related References
100
+
## Related References
103
101
104
102
*[A pattern language for pattern writing](http://hillside.net/index.php/a-pattern-language-for-pattern-writing), Meszaros and Doble
0 commit comments