Skip to content

Commit e094908

Browse files
gruetterNewMexicoKidnyeatesspier
authored
Contained InnerSource (#84)
(2017) Added pattern “Contained InnerSource Enables Collaborative Product Development” from Tim Yao (#12) (2017) Rewrote and partially restructured pattern, triggered by Tim's comments (2020) Moved to Initial and merging PR to share with a broader audience. Co-authored-by: NewMexicoKid <nmk@teiru.net> Co-authored-by: Nick Yeates <nyeates1@umbc.edu> Co-authored-by: Sebastian Spier <github@spier.hu>
1 parent bbd335d commit e094908

2 files changed

Lines changed: 50 additions & 0 deletions

File tree

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ The below lists all known patterns. They are grouped into three [maturity levels
7373
* [Assisted Compliance](patterns/1-initial/assisted_compliance.md) - *Helping repo owners be compliant by writing their CONTRIBUTING.md for them as a pull request.*
7474
* [Open Source Trumps InnerSource](patterns/1-initial/open-source-trumps-innersource.md) - *Developers disregard InnerSource projects because they consider open source projects to be superior. Introducing a required evaluation of InnerSource projects before choosing an open source project increases the likelihood of the InnerSource projects to be adopted.*
7575
* [Transparent Governance Levels](patterns/1-initial/governance-levels.md) - *There are projects in multiple stages of InnerSource adoption. Contributors get confused when working with projects that are at different stages.*
76+
* [Contained InnerSource](patterns/1-initial/contained-innersource.md) - *Apply InnerSource methods to facilitate collaboration in a cross-divisional project but don't invest in soliciting contributions from outside of that project.*
7677
* [Good First Project](patterns/1-initial/good-first-project.md) - *An InnerSource program has been launched at an organization, and to get off to a successful start it requires some good first projects that lend themselves to InnerSource-style development. Assessing the InnerSource-readiness (fitness) of the candidate projects can help in selecting projects that have the potential to help demonstrate the power of InnerSource.*
7778

7879
#### Donuts (needing a solution)
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
## Title
2+
3+
Contained InnerSource
4+
5+
## Patlet
6+
7+
Apply InnerSource methods to facilitate collaboration in a cross divisional project but don't invest in soliciting contributions from outside of that project.
8+
9+
## Problem
10+
11+
Traditional development practices do not work as effectively for cross divisional projects as do InnerSource style practices. However, Management does not support adopting InnerSource practices because it regards efforts for soliciting and facilitating contributions from outside of the project as detrimental for the required efficiency.
12+
13+
## Context
14+
15+
* The company plans to develop a new software-intensive product; multiple business units (BUs) are involved in the development of this product
16+
* There is not one single BU which has the required resources or knowledge to do the development on its own.
17+
* An InnerSource program and required tools exist.
18+
* The InnerSource program advocates using the full spectrum of InnerSource practices (we call this _Full Scale InnerSource_ for the purposes of this pattern).
19+
20+
## Forces
21+
22+
* The product's importance to company revenue and the committed feature content and dates require a development paradigm that provides known, stable development resources (headcount).
23+
* _Full Scale InnerSource_ includes substantial effort for soliciting and managing contributions as well as onboarding new contributors, which is hard to plan for and may have some effect on the ability to control the timeline for completion and deployment.
24+
25+
## Solution
26+
27+
The BUs involved in the development of the new product each dedicate development resources to develop the new product, apply the InnerSource working model and adopt InnerSource tooling to facilitate collaborative development but limit the scope of InnerSource practices to the project. No effort will be spent on facilitating and managing contributions from outside of the project.
28+
29+
The application of InnerSource is _contained_ to the project. The project may share the developed artifacts outside the project but is not required to do so.
30+
31+
## Resulting Context
32+
33+
_Contained InnerSource_ effectively allows and facilitates the
34+
development collaboration of multiple BUs where existing traditional development infrastructure and processes would not have worked efficiently.
35+
36+
Product development can be successfully completed. Even though _Full Scale InnerSource_ was not implemented and the full benefits from InnerSource practices, such as exemplary documentation which facilitates reuse beyond the project context, are not realized, the project's success still achieves several benefits that wouldn't have been possible through traditional development. In addition, it lends credibility to the concept of InnerSource.
37+
38+
## Known Instances
39+
40+
* Large Company
41+
42+
## Status
43+
44+
* Initial
45+
46+
## Author
47+
48+
* Tim Yao
49+
* Georg Grütter

0 commit comments

Comments
 (0)