Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create governance-based-project-setup.md #699

Open
wants to merge 8 commits into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
86 changes: 86 additions & 0 deletions patterns/1-initial/governance-based-project-setup.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
## Title

Governance Level Guided Project Setup
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Found that title hard to understand. Need to think about a suggestion for a better one.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I fully agree - and: naming is hard :)

Hmm. I think I need help brainstorming here.

Something that puts "capabilities" into the title?

What this pattern does is to pull several separate patterns together into a subsystem. I'm sure there is a term for that kind of text. Maybe @kjstol or @NewMexicoKid can provide some information for that?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe something like "governance level drives maturity needs"?


## Patlet
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We typically sugggest to make the Patlet 2 sentences:

  • 1st sentence for the problem
  • 2nd setence for the solution

The current Patlet uses a lot more than that. Wondering if we can somehow shorten it?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tried to shorten the patlet further, I don't get it down below three sentences.


A team wants a project to be InnerSource ready. They want to choose a [Governance Level](../1-initial/governance-levels.md) but need more information on how each level impacts processes.

Following our list of best practices, recommended patterns and maturity levels to reach helps address this problem.

## Problem

A team has decided that they want to publish an InnerSource project. They are trying to decide on a governance level. However lacking practical experience they need further guidance on the impact each of the levels will have on their daily doing.

## Context

- The team has experience working as contributors to other InnerSource projects.
- The team would like to publish an InnerSource project themselves but has only limited InnerSource Trusted Committer experience.
- The team does have enough autonomy to decide on how much time they can invest into supporting the resulting InnerSource project.

## Forces

- Contributors need clarity on what to expect from an InnerSource project in terms of transparency and collaboration opportunities.
- New Trusted Committers need an understanding of the level of work the future governance level entails.
- New Trusted Committers may need to communicate expected impact for capacity planning.

## Solution

Support new Trusted committers with a list of resources targeted at each of the three governance levels.

### Level: "Bug reports and Issues welcome"

Ideally the host team goes through the InnerSource Learning Path to get a first understanding of the concepts and roles involved.

To reach this level, a team needs to make their source code readable. They need to give write access to their issue tracker.

For the maturity model, the relevant levels needed are at least:

PP-1, DP-1, DC-1, RS-1, ST-1, CF-1, LS-1, OF-2, CB-2, SP-2, PA-2, RW-1, MP-1, SM-1, CL-1, RO-1

For InnerSource patterns, start by looking at the following ones:

* [Base Documentation](../2-structured/base-documentation.md)
* [Communiation Tooling](../2-structured/communication-tooling.md)
* [Issue Tracker](../2-structured/issue-tracker.md)
* [Praise Participants](../2-structured/praise-participants.md)
* [Standard Release Process](../2-structured/release-process.md)
* [Trusted Committer](../2-structured/trusted-committer.md)
* [Improve Findability](../1-initial/improve-findability.md)

spier marked this conversation as resolved.
Show resolved Hide resolved
### Level: "Contributions Welcome"

To reach this level, a team needs to give contributors the option to submit pull requests. In addition, contributors need to have clear options to follow the development of the project in order to better understand project direction and established best practices. In addition the host team needs to set aside time for mentoring contributors and giving timely feedback.

For the maturity model, the relevant levels needed are at least:

PP-2, DP-2, DC-2, RS-3, ST-3, CF-2, LS-2, OF-2, CB-2, SP-2, PA-2, RW-2, MP-2, SM-2, CL-3, RO-2

For InnerSource patterns, start by looking at the following ones (in addition to the ones above):

* [30-day warranty](../2-structured/30-day-warranty.md)
* [Extensions for Sustainable Growth](../2-structured/extensions-for-sustainable-growth.md)
* [Review Committee](../2-structured/review-committee.md)
* [Service vs. Library](../2-structured/service-vs-library.md)
* [Transparent cross team decision making](../2-structured/transparent-cross-team-decision-making-using-rfcs.md)
* [Cross team retrospectives](../1-initial/cross-team-retrospectives.md)
* [Incentive Mechanisms](../1-initial/incentive-mechanisms-for-voluntary-contribution.md)
* [Include Product Owners](../1-initial/include-product-owners.md)
* [Reluctance to accept contributions](../1-initial/reluctance-to-accept-contributions.md)

### Level: Shared Ownership

To reach this level the host team mixed of members of different teams in the organisation needs to understand that they are to act as one virtual team. There needs to be alignment of where the project is headed and increased trust between Trusted Committers.

All project decisions need to be taken where they can not only be seen by others but influenced by the entire team of Trusted Committers - even if not all can make it to all meetings.

For the maturity model, the relevant levels needed are at least:

PP-3, DP-3, DC-3, RS-3, ST-3, CF-3, LS-3, OF-3, CB-3, SP-3, PS-3, RW-3, MP-3, SM-3, CL-3, RO-3

For InnerSource patterns, start by looking at the following ones (in addition to the ones above):

* [Group Support](../2-structured/group-support.md)
* [Explicit Shared Ownership](../1-initial/explicit-shared-ownership.md)
* [Modular Code](../1-initial/modular-code.md)
* [Source Repo different from deployment chain](../1-initial/shared-code-repo-different-from-build-repo.md)