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 new pattern: Group Support #527

Merged
merged 16 commits into from
Apr 4, 2023
Merged

Create new pattern: Group Support #527

merged 16 commits into from
Apr 4, 2023

Conversation

rrrutledge
Copy link
Contributor

View the document.

@rrrutledge
Copy link
Contributor Author

@jeffabailey interested to review.

@spier spier added 2-structured Patterns with existing instances (Please see our contribution handbook for details) 📖 Type - Content Work Working on contents is the main focus of this issue / PR labels Feb 27, 2023
@spier spier changed the title Create support-as-a-group.md Create new pattern: Support as a Group Feb 27, 2023
@jeffabailey
Copy link
Contributor

@jeffabailey interested to review.

Added some. I will add more this evening.

@rrrutledge
Copy link
Contributor Author

Added some

Like you have a review in progress with comments queued up? Nice!

@lenucksi
Copy link
Member

lenucksi commented Mar 2, 2023

Nice document, only addition I would have is that communication and expectation setting should be made absolutely clear that this is "best-effort inner source" and so demands and expectations by others are out of place and "pull request welcome" is the standard answer. Failing to do so and accepting your average corporate "yesterday" deadline will lead to fast burnout of the new maintainer group.

@rrrutledge
Copy link
Contributor Author

Thanks for this feedback, @lenucksi. Let me look at incorporating that.

@rrrutledge
Copy link
Contributor Author

@jeffabailey let us know if you have some comments/feedback?

Copy link
Member

@spier spier left a comment

Choose a reason for hiding this comment

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

Super interesting @rrrutledge!

The pattern write-up looks great already, in terms of following the pattern template and all.

I left specific comment inline in the pattern.

One general thought that kept coming up when reading the pattern:

Can this model of InnerSource support only work as an absolute exception in a company?

As if this were to become the norm, rather than the exception, I would be worried that it would paint the wrong picture of InnerSource. As in some people might reason "we don't need to find/staff a team for this component. Some InnerSource folks will just pick it up because they like the project". So in that sense that might even lead to an anti-pattern of sort?

Looking forward to the conversation, and again thanks a lot for sharing this!


## Status

Structured
Copy link
Member

Choose a reason for hiding this comment

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

Would you be ok to share this pattern as "Initial" to get started?
That way it won't be published in our online book immediately, and gives us a bit more time to harden the content.

I admit that this is likely a flaw in our maturity process but somehow it makes me nervous to publish a pattern straight from zero into our book.

Would be honestly great to get your thoughts on this topic, as I feel like I am stuck in my own head here.

Copy link
Member

Choose a reason for hiding this comment

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

Adding on to this:
We can decide at the very end whether we want to publish this as Initial or Structured.
So don't worry about this too much for now.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

OK we'll see at the end. Reading the definition of Maturity Levels it does say that we need multiple instances before it can be included as Structured.

Copy link
Member

Choose a reason for hiding this comment

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

Hmm. I am reading this for Structured:

Is validated by at least 1 (one) known instance

For the most part this has meant that patterns with one Known Instance will be moved to Structured. But of course we can make our own choice.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Oh I see. Only one required for structured. I think that this is why I submitted this as Structured initially - it's something that I am using at WellSky.

Copy link
Member

Choose a reason for hiding this comment

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

Yeah. I think we should stick to the definition as outlined in our Maturity Levels.
That means that the pattern is Structured, as it has 1 Known Instance, and also meets all other requirements for that level.

I still think that it might be a flaw in our maturity process, as a single org can publish a pattern straight from zero into our book (with themselves as a known instance).

We (as the patterns working group) should possibly review this in the future but for now let's move on and get this PR merged :)

Copy link
Member

Choose a reason for hiding this comment

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

FYI I will also post something similar as my review comment, so that this does not get lost in this thread.

patterns/2-structured/support-as-a-group.md Outdated Show resolved Hide resolved
patterns/2-structured/support-as-a-group.md Outdated Show resolved Hide resolved
## Context

* Popular InnerSource project.
* No one is actively supporting it.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
* No one is actively supporting it.
* No one is actively supporting it.
* The company cannot assign a new maintainer to the project because ...

Suggesting to add the reason for not assigning a new maintainer here, or maybe a list of possible reasons.

This bit got me confused, as it didn't seem logical to me.
The library has a lot of users (50 projects).
The migration cost away from this library is high.
50 x high migration cost = super high cost :)

So why wouldn't the company assign a new maintainer?
Wouldn't it be in their best interest?

It is entirely possible that I am misunderstanding the scenario/context here.
And if yes that's great, so that we can clarify this :)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The company cannot assign a team to support.

What are the reasons? Could be varied. The point is we are not getting a team for it.

Copy link
Member

Choose a reason for hiding this comment

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

I see. Still confused by this, I have to admit :)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The company is probably short-staffed in general.

patterns/2-structured/support-as-a-group.md Outdated Show resolved Hide resolved
patterns/2-structured/support-as-a-group.md Outdated Show resolved Hide resolved
patterns/2-structured/support-as-a-group.md Outdated Show resolved Hide resolved
patterns/2-structured/support-as-a-group.md Outdated Show resolved Hide resolved
patterns/2-structured/support-as-a-group.md Outdated Show resolved Hide resolved
patterns/2-structured/support-as-a-group.md Outdated Show resolved Hide resolved
patterns/2-structured/support-as-a-group.md Outdated Show resolved Hide resolved
@jeffabailey
Copy link
Contributor

@jeffabailey let us know if you have some comments/feedback?

Finished submitting a review.

@fioddor
Copy link
Contributor

fioddor commented Mar 15, 2023

It might be difficult to find known InnerSource instances. If so we can argue that this pattern is applied in open source, for example in Debian.

@fioddor
Copy link
Contributor

fioddor commented Mar 15, 2023

I wonder if we should extend this pattern to cover Special Interest Groups (SIG). Perhaps it's better to just create the SIG pattern and link it. SIGs have a broader scope than just sharing maintenance effort, but the underlying concept is pretty much the same: "Alone I can't, with friends yes".

@spier
Copy link
Member

spier commented Mar 16, 2023

I wonder if we should extend this pattern to cover Special Interest Groups (SIG). Perhaps it's better to just create the SIG pattern and link it. SIGs have a broader scope than just sharing maintenance effort, but the underlying concept is pretty much the same: "Alone I can't, with friends yes".

Have you seen a SIG-like concept in the context of InnerSource? Would be great to hear more about it :)

And yes, I would keep this separate from the pattern in this PR as well.
This PR seems to be about the maintenance of an individual project.

@spier
Copy link
Member

spier commented Mar 21, 2023

@rrrutledge wanted to check if you had any questions about the feedback I left in the review, or if there is anything else that you need to push this forward?

Also while reading other patterns, I found that this one here as some overlap with your "Support as a Group":
https://github.com/InnerSourceCommons/InnerSourcePatterns/blob/main/patterns/1-initial/explicit-shared-ownership.md

@rrrutledge
Copy link
Contributor Author

if you had any questions about the feedback I left in the review, or if there is anything else that you need to push this forward?

Just need to spend time going through the feedback and updating. I will take a look.

rrrutledge and others added 2 commits March 28, 2023 13:37
Co-authored-by: Jeff Bailey <776901+jeffabailey@users.noreply.github.com>
rrrutledge and others added 2 commits March 28, 2023 13:52
Co-authored-by: Jeff Bailey <776901+jeffabailey@users.noreply.github.com>
Copy link
Contributor Author

@rrrutledge rrrutledge left a comment

Choose a reason for hiding this comment

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

Thanks for the feedback! Have a look!

patterns/2-structured/support-as-a-group.md Outdated Show resolved Hide resolved
patterns/2-structured/support-as-a-group.md Outdated Show resolved Hide resolved
patterns/2-structured/support-as-a-group.md Outdated Show resolved Hide resolved
patterns/2-structured/support-as-a-group.md Outdated Show resolved Hide resolved
patterns/2-structured/support-as-a-group.md Outdated Show resolved Hide resolved

## Status

Structured
Copy link
Contributor Author

Choose a reason for hiding this comment

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

OK we'll see at the end. Reading the definition of Maturity Levels it does say that we need multiple instances before it can be included as Structured.

patterns/2-structured/support-as-a-group.md Outdated Show resolved Hide resolved
patterns/2-structured/support-as-a-group.md Outdated Show resolved Hide resolved
patterns/2-structured/support-as-a-group.md Outdated Show resolved Hide resolved
## Context

* Popular InnerSource project.
* No one is actively supporting it.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

The company cannot assign a team to support.

What are the reasons? Could be varied. The point is we are not getting a team for it.

@spier
Copy link
Member

spier commented Mar 30, 2023

@rrrutledge I am curious to hear your thoughts and experience on this angle:

Can this model of InnerSource support only work as an absolute exception in a company?

As if this were to become the norm, rather than the exception, I would be worried that it would paint the wrong picture of InnerSource. As in some people might reason "we don't need to find/staff a team for this component. Some InnerSource folks will just pick it up because they like the project". So in that sense that might even lead to an anti-pattern of sort?

Looking forward to the conversation, and again thanks a lot for sharing this!

Also want to second the possible risk of maintainer burnout, that was raised here.

If you haven't seen any these risk materialize, or don't share these concerns, then of course we should not add it to the pattern though. This pattern should reflect the reality of how you have experienced it "in action".

@rrrutledge
Copy link
Contributor Author

curious to hear your thoughts

I think it's good to note that actually staffing the project is a preferable avenue (e.g. Core Team) for the reasons that folks have brought up. Is there a Caveats or Disclaimers section where we can put things like that?

@spier
Copy link
Member

spier commented Apr 1, 2023

I think it's good to note that actually staffing the project is a preferable avenue (e.g. Core Team) for the reasons that folks have brought up. Is there a Caveats or Disclaimers section where we can put things like that?

@rrrutledge you can create a Caveat or Disclaimers section in this pattern, if you like. It isn't part of our standard pattern template though.

Personally I would integrate this extra info into the Resulting Context, as using this pattern creates new risks in your org. i.e. those risks are a result of using this pattern. One could say sth along the lines of:

While this pattern can provide a solution for the short to medium term, in the long term it has the following risks <A, B, ... D>. Therefore it should always be the preferable avenue to actually staff the project e.g. by means of a Core Team, or a regular host team that maintains the project.

@rrrutledge
Copy link
Contributor Author

integrate this extra info into the Resulting Context

Done.

Copy link
Member

@spier spier left a comment

Choose a reason for hiding this comment

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

Thank you for sharing this pattern with us @rrrutledge!
Also a great win for the ISPO Working Group 👍

The content of this pattern looks great and I am happy to merge this.

The last point we discussed was whether the pattern should be marked as Initial or Structured.

The consideration was whether a single org should be able to publish a pattern straight from zero into our book (with themselves as a known instance). Being able to do that may negatively impact the quality of the pattern, as the pattern has little time to get confirmed and improved by the experience of other orgs applying a similar approach.

However as this is how we have currently defined the Maturity Levels for our pattern, we should go ahead and merge this PR.

We (as the patterns working group) should possibly review this in the future but for now let's move on and get this PR merged :)

Please note that this discussion isn't saying anything about this particular pattern, it is mostly a contemplation about the process in which we publish patterns to our online book in general.

@spier spier merged commit b3bb4f7 into main Apr 4, 2023
1 check passed
@spier spier deleted the rrrutledge-patch-1 branch April 4, 2023 21:41
@spier
Copy link
Member

spier commented Apr 4, 2023

This pattern is live in our book now!
https://patterns.innersourcecommons.org/p/group-support

@rrrutledge
Copy link
Contributor Author

Woah! Nice! Thank you!

@spier spier changed the title Create new pattern: Support as a Group Create new pattern: Group Support May 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2-structured Patterns with existing instances (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.

None yet

5 participants