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

Draft of InnerSource Ambassador pattern #740

Open
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

spier
Copy link
Member

@spier spier commented Dec 21, 2024

Implements #738

I used the following prompt in ChatGPT as the starting point.

By writing this pattern I would also like to learn how to write better prompts for ChatGPT.
We could then use this prompt to especially help first time pattern authors to create a quick draft, and then iterate from there.

Describe the concept of  "InnerSource Ambassadors" in the format of an InnerSource Pattern. Use the template for an InnerSource Pattern provided below.

# The concept:

A large  organization consist of multiple different departments, which are all developing various software components. The organization has decided to invested in InnerSource, to improve collaboration between these departments. An InnerSource Program Office (ISPO) has been established, to drive InnerSource best practices into the whole organization.

However the people working in the ISPO can obviously not be everywhere at the same time. i.e. they are not involved in all departments, regions, and teams of the company. Therefore the ISPO team cannot know how InnerSource is being implemented in the different areas of the company, what challenges the different areas have, what support they need, etc.

Therefore the ISPO decides to look for local InnerSource Ambassadors:

volunteer people drawn from across the organization that are assigned to do a part of supporting InnerSource in their area and across their organization (alongside their regular role in that part of the organization)

Eyes, ears, and voice on the ground for the ISPO and supporting its goals in their particular area of the organization.

Report back to advise the ISPO on what is working and what is not so ISPO is better informed on future actions it takes.

# Template

## Title

Short Title Here

## Patlet

A two sentence description of the problem and solution.
The first sentence describes the problem you are looking to solve, while the second sentence describes the solution.
The first sentence of the Patlet should not mention anything about the solution.

Readers may quickly review dozens of these patlets to discover and browse the larger library of patterns.

## Problem

What is the problem - crisp definition of the problem.

Short description, usually not more than a couple sentences, that describes what the issues and challenges are.

Be careful not to morph into information found in other sections below.

## Story (optional)

Sometimes there is a story that helps people understand the pattern better.

## Context

Where does the problem exist?

What are the pre-conditions?

**Unchangeable** before the solution goes into place.

The content here is often tied to the applicability of the pattern for other readers: "Do I have this same particular situation?"

Use bullet points for this section, so that readers can quickly check if this applies to them.

## Forces

What makes the problem difficult?

What are the trade-offs?

These are constraints that **can be changed** at a cost.

The solution might change one or more of these forces in order to solve the problem, while also in-turn changing the context.

Use bullet points for this section.

## Sketch (optional)

visual illustration

## Solutions

Verified resolutions and possible resolutions to the problem.

## Resulting Context

What is the situation after the problem has been solved?

The original context is changed indirectly by way of the solution.

Often this section can include discussion of the next possible Patterns/problems introduced.

This section can be short in content - the solution may not introduce new problems or change much context.

## Rationale (optional)

Explains why this is the right solution; using totally different words WHY this solution balances these forces and this context to solve this problem.

Can expand on what-if's or theories.

## Known Instances (optional)

Where has this been seen before?

Helps to reinforce that this is a REAL pattern and that you match the context.

May mention:

* A particular business

* Anonymized instances ex: "3 companies have proven that this is a good solution" or "A large financial services org...".

## Status (optional until merging)

General pattern status is stored in GitHub's Label tagging - see any pull request.

Note that this GitHub label tagging becomes less visible once the pattern is finalized and merged, so having some information in this field is helpful.

You might store other related info here, such as review history: "Three of us reviewed this on 2/5/17 and it needs John's expertise before it can go further."

## Author(s) (optional)

Often, this is yourself.

If you need to, find someone in the InnerSource Commons to be the nominal author (As Told To).

Could also be no-one if you do not want to take on authorship (common with a donut looking for a solution).

## Acknowledgments (optional)

Include those who assisted in helping with this pattern - both for attribution and for possible future follow up.

Though optional, most patterns should list who helped in their creation.

## Alias (optional)

If this pattern is also known under a different name than what is listed unter **Title**, please list those alternative titles here.

e.g. if the pattern is named after the problem it solves, a helpful alias might be one that describes the solution that is applied.

@spier spier added 1-initial Donuts, Early pattern ideas, ... (Please see our contribution handbook for details) 📖 Type - Content Work Working on contents is the main focus of this issue / PR labels Dec 21, 2024

- Identify and recruit volunteer ambassadors from across the organization who are enthusiastic about InnerSource. They support InnerSource goals while maintaining their primary organizational roles.
- Train ambassadors on InnerSource principles, tools, and the goals of the ISPO.
- Establish clear expectations for ambassadors, including acting as a liaison, promoting InnerSource practices, and providing feedback to the ISPO.
Copy link
Member Author

Choose a reason for hiding this comment

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

This here might be the most valuable part of the Solution, maybe of the whole pattern.

Can we describe specific tasks that we expect the ambassador to perform?

Some ideas:

  • consult local engineering managers when they are looking to make one of their projects ready for InnerSource
  • help teams in the discovery phase when starting a major new implementation task - is there any existing project in the org that the team could reuse and contribute to, instead of building something entirely new? (this might require collaboration with other roles like Architects / Principals)

@michael-basil
Copy link

This is a beautiful pattern and was what we were aiming for during my time at SAP. In my upcoming role I could see utilizing or introducing this pattern depending on how things play out.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1-initial Donuts, Early pattern ideas, ... (Please see our contribution handbook for details) 📖 Type - Content Work Working on contents is the main focus of this issue / PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants