-
Notifications
You must be signed in to change notification settings - Fork 174
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
Conversation
@jeffabailey interested to review. |
Added some. I will add more this evening. |
Like you have a review in progress with comments queued up? Nice! |
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. |
Thanks for this feedback, @lenucksi. Let me look at incorporating that. |
@jeffabailey let us know if you have some comments/feedback? |
There was a problem hiding this 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 |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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
.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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 :)
There was a problem hiding this comment.
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.
## Context | ||
|
||
* Popular InnerSource project. | ||
* No one is actively supporting it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* 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 :)
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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 :)
There was a problem hiding this comment.
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.
Finished submitting a review. |
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. |
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. |
@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": |
Just need to spend time going through the feedback and updating. I will take a look. |
Co-authored-by: Jeff Bailey <776901+jeffabailey@users.noreply.github.com>
Co-authored-by: Jeff Bailey <776901+jeffabailey@users.noreply.github.com>
There was a problem hiding this 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!
|
||
## Status | ||
|
||
Structured |
There was a problem hiding this comment.
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
.
## Context | ||
|
||
* Popular InnerSource project. | ||
* No one is actively supporting it. |
There was a problem hiding this comment.
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.
@rrrutledge I am curious to hear your thoughts and experience on this angle:
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". |
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:
|
Done. |
There was a problem hiding this 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.
This pattern is live in our book now! |
Woah! Nice! Thank you! |
View the document.