Skip to content

Commit bd6960b

Browse files
authored
Merge pull request #134 from spier/issues/132-move-wiki-to-markdown
Move patterns from wiki to markdown
2 parents ead08cd + 819aded commit bd6960b

10 files changed

+568
-10
lines changed

README.md

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ possible to either deploy the same service in independent environments with sepa
3030
* [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.*
3131
* [Reluctance to Receive Contributions](https://docs.google.com/document/d/13QDN-BpE_BixRFVGjao32n4Ctim0ROXAHbBWMBOijb4/edit) - *Core owner of shared asset is reluctant to take contributions due to the required maintenance that comes with them.*
3232
* [What Before How or Services Documentation](https://docs.google.com/document/d/1_N1wsQeDusfIcNy-O2ZXenY3PL7ZbvkUDRZxGUuegZw/edit?usp=drive_web) - *A lack of common understanding between different management tiers creates funding barriers and increases the risk that solutions will not deliver required business outcomes.*
33-
* [Overcome Acquisition Based Silos - Developers](https://github.com/InnerSourceCommons/innersourcecommons.org/wiki/Overcome-Acquisition-based-Silos)
34-
* [Overcome Acquisition Based Silos - Managers](https://github.com/InnerSourceCommons/innersourcecommons.org/wiki/Overcome-Acquisition-based-Silos)
33+
* [Overcome Acquisition Based Silos - Developers](overcome-acquisition-based-silos-developer.md)
34+
* [Overcome Acquisition Based Silos - Managers](overcome-acquisition-based-silos-manager.md)
3535
* [Open Source Trumps InnerSource](https://github.com/InnerSourceCommons/InnerSourcePatterns/pull/46) - *People find the InnerSource project but, after all things are considered, even if the InnerSource component meets their needs, they still go with the open source component.*
3636
* [Overcoming Project Management Time Pressures](https://github.com/InnerSourceCommons/InnerSourcePatterns/pull/47) - *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.*
3737
* [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.*
@@ -41,19 +41,19 @@ possible to either deploy the same service in independent environments with sepa
4141

4242
* [Don't Bother Looking](https://github.com/InnerSourceCommons/InnerSourcePatterns/pull/60)
4343
* [Junkyard Styled Inner Sourcing](junkyard-styled-innersourcing.md)
44-
* [Shared Code Repo Different from Build Repo](https://github.com/InnerSourceCommons/innersourcecommons.org/wiki/Shared-Code-Repo-Different-from-Build-Repo) - *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.*
45-
* [Incentive Alignment](https://github.com/InnerSourceCommons/innersourcecommons.org/wiki/Donut:-Creating-Developer-Incentive-Alignment-for-InnerSource-Contribution)
46-
* [Change the Developers Mindset](https://github.com/InnerSourceCommons/innersourcecommons.org/wiki/Pattern:-change-the-developers-mindset)
47-
* [Share Your Code to Get More Done - Likely Contributors Variant](https://github.com/InnerSourceCommons/innersourcecommons.org/wiki/Pattern:-Share-Your-Code-to-Get-More-Done---Likely-Contributors-Variant)
44+
* [Shared Code Repo Different from Build Repo](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.*
45+
* [Incentive Alignment](developer-incentive-alignment-for-innersource-contribution.md)
46+
* [Change the Developers Mindset](change-the-developers-mindset.md)
47+
* [Share Your Code to Get More Done - Likely Contributors Variant](share-your-code-to-get-more-done.md)
4848
* [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.*
4949

5050
#### Pattern Donuts (needing a solution)
5151

52-
* [Donut 3: How to Defeat the Hierarchical Constraints](https://github.com/InnerSourceCommons/innersourcecommons.org/wiki/Donut-3%3A-how-to-defeat-the-hierarchical-constraints)
53-
* [Donut 5: Project Management Time Pressures](https://github.com/InnerSourceCommons/innersourcecommons.org/wiki/Donut-5:-project-management-time-pressures)
54-
* [Donut 6: Organizational Mindset Change](https://github.com/InnerSourceCommons/innersourcecommons.org/wiki/Donut-6:-organizational-mindset-change)
52+
* [How to Defeat the Hierarchical Constraints](defeat-hierarchical-constraints.md)
53+
* [Project Management Time Pressures](https://github.com/InnerSourceCommons/InnerSourcePatterns/pull/47)
54+
* [Organizational Mindset Change](organizational-mindset-change.md)
5555
* [Donut 8: Not Invented Here](https://github.com/InnerSourceCommons/innersourcecommons.org/wiki/Donut-8:-Not-invented-here)
56-
* [Donut: Bad Weather For Liftoff](https://github.com/InnerSourceCommons/innersourcecommons.org/wiki/Donut:-Bad-weather-for-liftoff)
56+
* [Bad Weather For Liftoff](bad-weather-for-liftoff.md)
5757
* [Get Contributions Despite Silo Thinking](https://github.com/InnerSourceCommons/InnerSourcePatterns/pull/38)
5858

5959

@@ -97,6 +97,7 @@ The topics below cover information about how we define, operate, and upkeep this
9797
* [Meetings](meta/meetings.md) - Become involved with the people and communications of the Inner Source Patterns group
9898

9999
# Related References
100+
100101
* [A pattern language for pattern writing](http://hillside.net/index.php/a-pattern-language-for-pattern-writing), Meszaros and Doble
101102

102103
# Licensing

bad-weather-for-liftoff.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
## Title
2+
3+
Bad weather for liftoff
4+
5+
## Patlet
6+
7+
TBD
8+
9+
## Problem
10+
11+
- The team is not able to demonstrate any increases in quality or speed, because they did not adopt any of the principles of OSS development.
12+
- As a result, the InnerSource approach is discredited.
13+
14+
## Context
15+
16+
- Company A would like to start an InnerSource initiative in order to increase development speed and quality of software artifacts.
17+
- There are not many developers in company A, which are experienced in OSS development practices.
18+
- The company was not able to contract or hire an experienced InnerSourcerer.
19+
- Company A has put together a small team of software developers to work on a single project InnerSource style. The project has tight deadlines to meet.
20+
21+
## Forces
22+
23+
- By default, humans will be resistant to change if they have no compelling reason to change.
24+
- Pressure (in this case induced by the project being a pilot and also induced by the deadline) reduces the ability to change and explore new ways of working.
25+
- There is a natural tendency to pick low hanging fruits (e. g. tooling) and stop there.
26+
- For InnerSource to blossom, a critical mass of experienced developers which can walk the talk is required.
27+
28+
## Sketch (optional)
29+
30+
## Solution
31+
32+
TBD
33+
34+
## Resulting Context
35+
36+
## Rationale (optional)
37+
38+
## Known Instances (optional)
39+
40+
## Status
41+
42+
Donut
43+
44+
## Author(s)
45+
46+
* Georg Grütter, Wyane DuPont, Michael Dorner
47+
48+
## See Also
49+
50+
This pattern was originally created in this wiki and then ported here.
51+
Original wiki page:
52+
https://github.com/InnerSourceCommons/innersourcecommons.org/wiki/Donut:-Bad-weather-for-liftoff

change-the-developers-mindset.md

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
## Title
2+
3+
Change the developers mindset
4+
5+
## Patlet
6+
7+
TBD
8+
9+
## Problem
10+
11+
* Change developer mindset, it's difficult to push developers to do things.
12+
* Developers are resisting the change, they are in their comfort zone and it's hard to go out.
13+
* Developer organizations maturity is high, so people are used to being in some hierarchy/rules
14+
* Developers are formed in agile, the shift from agile is difficult
15+
16+
## Context
17+
18+
* Top-down inner source support
19+
* 3k population of developers
20+
* Middle Management is not supporting inner source
21+
* There's already a successful group in the early stages
22+
* Code visibility is product dependent
23+
24+
## Forces
25+
26+
* Manager are previous developers, so they like the way they were promoted and they want to proceed in similar ways
27+
* Manager restrict where developers can spend time on
28+
* Top-down approach to the inner source
29+
* Different teams within the company have to decide to proceed with inner source
30+
* No formal training
31+
* Processes are not clear
32+
33+
## Sketch (optional)
34+
35+
## Solution
36+
37+
* Showing reward/recognition of the developer team
38+
* Formalize training
39+
* Clarify more processes
40+
* Give middle management specific objectives to make inner source successful
41+
* Listen to manager complaints and fears and count on them
42+
43+
## Resulting Context
44+
45+
* Use of the several projects across the several development teams
46+
* Collaboration within the same developer team (mentorship and so on)
47+
48+
## Rationale (optional)
49+
50+
## Known Instances (optional)
51+
52+
## Status
53+
54+
Unproven
55+
56+
Old status: Pattern Idea
57+
58+
## See Also
59+
60+
This pattern has been moved for discussion at https://github.com/InnerSourceCommons/InnerSourcePatterns/issues/39
61+
62+
This pattern was originally created in this wiki and then ported here.
63+
Original wiki page:
64+
https://github.com/InnerSourceCommons/innersourcecommons.org/wiki/Pattern:-change-the-developers-mindset

defeat-hierarchical-constraints.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
## Title
2+
3+
Defeat Hierarchical Constraints
4+
5+
## Patlet
6+
7+
TBD
8+
9+
## Problem
10+
11+
Corporate culture constrains people to hierarchical goals.
12+
13+
## Context
14+
15+
In strongly hierarchical organizations, developers want to please their managers. Their managers may not support their people spending time on inner sourcing even if someone higher up does. In some countries, there is a strong cultural force to respect and obey authority.
16+
17+
## Forces
18+
19+
To make inner sourcing work, you need to allow some developers outside your org to participate in your development.
20+
Managers have deadlines and they don’t see how having their people will help them achieve *their* goals and objectives. They may feel it slows them down.
21+
Even if there is nominal higher support for the goals, developers may still feel afraid to take that step.
22+
23+
## Solutions
24+
25+
TBD
26+
27+
## Resulting Context
28+
29+
Developers feel empowered to spend at least 20% of their time on inner sourcing
30+
31+
## Status
32+
33+
Donut
34+
35+
## Author(s)
36+
37+
## See Also
38+
39+
This pattern was originally created in this wiki and then ported here.
40+
Original wiki page:
41+
https://github.com/InnerSourceCommons/innersourcecommons.org/wiki/Donut-3%3A-how-to-defeat-the-hierarchical-constraints
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
## Title
2+
3+
Developer Incentive Alignment for InnerSource Contribution
4+
5+
## Patlet
6+
7+
TBD
8+
9+
## Problem
10+
11+
* The organization needs to adopt a more collaborative, open-source like workstyle, but its developers are not properly incentivized or extrinsically motivated to participate in the company’s InnerSource processes.
12+
* There is a prevailing attitude in the developer culture that helping or contributing to others' success and learning is a “time sink” or "not my job."
13+
* Credit and kudos are not consistently shared with developers who help or contribute to others' success.
14+
* Prevailing developer culture is such that many believe the way up the organizational ladder - via increases in title or compensation - depends on one’s performance on quantitative metrics such as lines of code output, deadlines met, ownership of product releases or updates, and so forth.
15+
* Developers aren’t moving up the ‘organizational ladder’ because it is perceived as a path toward people management and direct reports, rather than a path of deepened respect or capabilities in engineering.
16+
17+
## Context
18+
19+
* There is a need to foster team-centric behaviour and limit instances of [ego-driven development](http://deliberate-software.com/ego-driven-development/) or idolizing a 'star developer.'
20+
* There are multiple developers within the organization or business unit with the same or related areas of expertise, such as front-end development, devops, testing, etc.
21+
* Mid-to-top level management either do not have a technical background or their technical backgrounds and experiences are many years out of date; organizational emphasis is therefore on quantitative output of development team.
22+
* The organization wants to create more alignment between work efforts and external motivation without relying directly on financial rewards or quotas.
23+
* The organization is comfortable with a personnel management and/or professional development style that is organic or “bottom-up” as opposed to traditional training or development programs run through HR (even as task management or velocity is managed in a more top-down fashion).
24+
25+
## Forces
26+
27+
1. Existing attitudes and developer culture
28+
* Team-centric behaviour is not evident. Developers of all levels tend to focus mostly on their own contributions. When stories are assigned, work is often done ‘locally’ and not pushed up or checked in until the end of the sprint.
29+
* Asking developers to push code early and often is met with extreme resistance, accusations of micro-management, or claims that such a practice would slow velocity.
30+
* Existing practice commonly leads to duplicated work, missed requirements, or frequent gaps in the software or process.
31+
32+
2. Need to retain developer talent
33+
* Managers focus heavily on tasks or velocity for developers rather than providing mentorship. Developers view helping or mentoring others as the job of Management, or something “I don’t get paid to do.” Career progression, or other ‘upward mobility paths’ (to receive a raise, for example) are not clearly identified in the organization.
34+
* Existing job descriptions, promotion tracks or compensation bands are opaque or hard to get from the organization’s HR department, resulting in a mixed understanding of job responsibilities. This puts additional pressure on performance review or improvement plans because HR, developers and managers don’t have shared a shared understanding of roles or expectations.
35+
* 'Home growing' developer talent - encouraging career growth within the company - is far cheaper for organizations in the long run than hiring from outside. Studies show employee retention increases as new opportunities, challenges, and paths for learning are introduced.
36+
37+
3. Maintaining the product development lifecycle
38+
* Keeping the status quo is encouraged or reinforced with existing product/project management processes and expectations. Developers and managers are reticent to make changes for fear of putting deadlines or product/business unit goals at risk (note that these often have financial implications for the company and individual). Working on one’s own individual contributions is seen as doing one’s part to protect this lifecycle; efforts outside one’s own individual contributions is seen as disruptive.
39+
* Product/Business unit pressures
40+
* HR - existing resource allocation plans & patterns
41+
42+
## Sketch (optional)
43+
44+
![Table of roles goes here]
45+
![or maybe the pyramid]
46+
47+
## Solution
48+
49+
***Resolution to the problem***
50+
51+
* Job Descriptions/Roles on the engineering title ladder are allocated mentorship and "Open Source Time" as fits their level (i.e. 0% expectation for jrs, 100% expectation for Principals)
52+
* Moving up the ladder requires taking on more responsibility for mentoring, reviewing code, and bringing in contributions
53+
* Developers may choose not to move up the ladder because of a preference for certain types of contributions ("I like just writing code" vs "I want to have a bigger impact on the team")
54+
* relevant Skills & experience are associated with advancing titles/roles - Moving up the ladder also requires developing the social skills necessary for mentorship
55+
* Job Descriptions/Roles can be easily associated/assimilated into employee review systems or other HR programs (comp/bonus structures, etc)
56+
57+
## Resulting Context
58+
59+
* culture has been shifted from contribution culture to learning culture
60+
* devs & pms believe time spent mentoring and reviewing is equally, if not more so, valuable to time spent coding
61+
* job descriptions include mentorship & contribution language to set expectations up front & make it easier to assess if candidates have requisite skills/experience required
62+
* org is retaining and better utilizing existing talent
63+
* devs take on professional mentorship responsibilities for their peers rather than leaving it to non-technical management
64+
* career progression clearly identified & understood by engs and management
65+
66+
## Rationale (optional)
67+
68+
## Known Instances (optional)
69+
70+
## Status
71+
72+
Unproven
73+
74+
Old status: brainstormed solution
75+
76+
## Author
77+
78+
Jory Burson
79+
80+
## See Also
81+
82+
This pattern was originally created in this wiki and then ported here.
83+
Original wiki page:
84+
https://github.com/InnerSourceCommons/innersourcecommons.org/wiki/Donut:-Creating-Developer-Incentive-Alignment-for-InnerSource-Contribution

organizational-mindset-change.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
## Title
2+
3+
Organizational Mindset Change
4+
5+
## Patlet
6+
7+
TBD
8+
9+
## Problem
10+
11+
How do you effect an organizational mindset change to support inner sourcing?
12+
13+
## Context
14+
15+
Upper management, middle management and developers are not convinced to fully support inner sourcing. They are used to doing software development in the old way.
16+
17+
## Forces
18+
19+
Changing an organizational mindset takes time and effort, which most organizations (feel they) cannot afford.
20+
Inner sourcing could bring about a lot of desirable benefits, but it takes time to ramp up to deliver them.
21+
Changing executive mindsets usually requires hype which then is hard deliver on.
22+
KPIs to prove the benefits are often required early but choosing the wrong KPIs can severely warp the program.
23+
Pressure from competitors and the market place makes management less willing to try significant change (deemed too risky).
24+
25+
## Solutions
26+
27+
TBD
28+
29+
## Resulting Context
30+
31+
All of the company heartily adopts inner sourcing! Cake for everyone!
32+
33+
## Status
34+
35+
Donut
36+
37+
## Author(s)
38+
39+
## See Also
40+
41+
This pattern was originally created in this wiki and then ported here.
42+
Original wiki page:
43+
https://github.com/InnerSourceCommons/innersourcecommons.org/wiki/Donut-6:-organizational-mindset-change

0 commit comments

Comments
 (0)