-
Notifications
You must be signed in to change notification settings - Fork 202
pattern/junkyard-styled-innersourcing #61
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
Conversation
A bunch of thoughts:
|
|
||
* SW component not designed for reuse because the schedule was too tight and did not allow for the extra effort needed | ||
* Did not have the knowledge or training to create components that can b reused. | ||
|
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.
See other suggestion to pick one context. [test]
Merging in comments to this point except for the one to split this into two patterns based on the two situations listed in the context.
Merged before workshop at Fall Summit. |
## Context | ||
Two situations: | ||
|
||
* SW component not designed for reuse because the schedule was too tight and did not allow for the extra effort needed |
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 would argue that the effort for designing SW for reuse should only be spent, if it is crystal clear that it in fact will be reused. Otherwise, YAGNI applies. So either it was clear that it would be reused and it wasn't designed that way for the reasons you mentioned, or it wasn't clear and therefore not designed for reuse (and rightly so).
* Did not have the knowledge or training to create components that can b reused. | ||
|
||
## Problem | ||
* How do you encourage people to share whatever code they write? |
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, the pattern title suggests to me that people are sharing, just not stuff that is ready to be reused. How about we rephrase the problem statement to s.th. like Shared code is not reused because it was not written with reuse in mind or is not reusable.
* A developer might be a person who likes to share their code; one that likes others to read it (and maybe comment on it. But mostly they like to write code. "Hey, I wrote this nifty gzorp and you might like it (but its no skin off my nose if you don't)" | ||
* the code is crap | ||
* the code doesn't address any of the company's problems (at the moment anyway) | ||
* How does the person let others know that the code exists? |
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 was wondering if this is a force ... as an idea: The less effort is spent on publicising shared code the less likely it is that it will be found and reused.
## Problem | ||
* How do you encourage people to share whatever code they write? | ||
|
||
## Forces |
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.
@rshanmer : Some of the forces in this pattern are formulated as questions, rather than e. g. tradeoffs. Is this a valid way to phrase forces?
* How do we politely take their freely offered code and harden it or otherwise prepare it for production without having the original contributor feel like we are saying their code is crap? | ||
|
||
## Solution | ||
* Support all contributions to the shared repository. |
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 like the idea behind this but I feel this needs to be fleshed out a little. Here are some ideas:
- Support the users in writing proper
readme.md
andcontribute.md
files, e. g. by providing templates - Announce new shared repositories in a weekly/monthly blog post and give the authors a chance to make themselves and their SW known to others
* How does the person let others know that the code exists? | ||
* We want the person to contribute code, so what roadblocks need to be removed so that they continue making their code available? | ||
* How do we politely take their freely offered code and harden it or otherwise prepare it for production without having the original contributor feel like we are saying their code is crap? | ||
|
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.
Suggestion for additional force: The more responsive the original author is to requests for changes coming from potential re-users of her code, the more likely it is that it will be reused.
People don't share something so others can use it; they only share it for the sake of sharing. They wouldn't mind if no one uses it (a bit of a graveyard: "InnerSource is where modules go to die")