-
Notifications
You must be signed in to change notification settings - Fork 183
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
Adding first draft of InnerSource Operational Model #417
base: main
Are you sure you want to change the base?
Changes from 4 commits
1b59f73
59972b4
f64e1fc
0a8097e
2ea3c78
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
@@ -0,0 +1,71 @@ | ||||||||||||||
## Title | ||||||||||||||
|
||||||||||||||
An InnerSource Lifecycle Model | ||||||||||||||
|
||||||||||||||
## Patlet | ||||||||||||||
|
||||||||||||||
InnerSource is key across all of the software production chain. This includes from idea to delivery to customer. This pattern defines the software development life cycle from an InnerSource perspective. | ||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The Patlet does not describe the problem yet that this pattern looks to solve. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We typically suggest to format the Patlet like this:
|
||||||||||||||
|
||||||||||||||
## Problem | ||||||||||||||
|
||||||||||||||
InnerSource is typically focused on letting developers work together. There are several patterns focused on specific roles as the Trusted Committer or from a more organization level as the Review Committee. However, it is still not clear how all of this works together. | ||||||||||||||
|
||||||||||||||
This pattern aims at providing an overview to management and Chief level of how the software life cycle may be managed in a more InnerSource way with the goal of having a place where InnerSource principles may apply to the several people involved: from Product Owners to Contributors. | ||||||||||||||
|
||||||||||||||
This may help provide a helpful framework for connecting patterns to help practitioners make better sense of InnerSource from a development lifecycle perspective. | ||||||||||||||
|
||||||||||||||
## Story (optional) | ||||||||||||||
|
||||||||||||||
## Context | ||||||||||||||
|
||||||||||||||
Visitors to InnerSource patterns may often wonder about the applicability of a given pattern to their own situation. | ||||||||||||||
|
||||||||||||||
The problem initially exists at the management level where the several business units are defining their needs, tuning the product, and suggesting next steps. A general overview of this process and key moments in the chain where they can influence (e.g., POs discussions) are part of this. | ||||||||||||||
|
||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This context feels a bit vague. Is the problem that the management of several business units are investigating the adoption of InnerSource as a means of optimizing their SW development and they don't know where to start or how to organize/apply the many patterns that exist in the InnerSource Patterns repository? Then this probably should be stated here in the context. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Not exactly this. I've added a small paragraph after this in the new commit. The idea with this pattern is that InnerSource works at several levels in the organization. As an example, product owners are sometimes left out of the InnerSource discussions once InnerSource is working, but POs are the ones deciding on next features and next steps. This model takes into account that they exist and how to grow them into this scenario. |
||||||||||||||
As InnerSource brings a more transparent and collaborative way of working, all existing processes at any level should move into that direction. How to create paths for collaboration across silos and how this software lifecycle looks like. | ||||||||||||||
|
||||||||||||||
## Forces | ||||||||||||||
|
||||||||||||||
As the software production chain involves roles with different goals, the InnerSource way of working has to be taken up by everyone involved in the software production chain. For example, business related people as Product Owners may be reluctant to move into a more collaborative and transparent way of producing software. And this reluctance may occur with other roles as well. | ||||||||||||||
|
||||||||||||||
|
||||||||||||||
## Sketch (optional) | ||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||||||
|
||||||||||||||
The following is an example of a tentative pattern solution related to this. Existing patterns are now part of this discussion for the software development life cycle. | ||||||||||||||
|
||||||||||||||
![OperationalModelForInnerSource](https://user-images.githubusercontent.com/469119/142229499-e05c60e8-0e8f-4f24-9578-ca05ba4cdab0.png) | ||||||||||||||
|
||||||||||||||
## Solutions | ||||||||||||||
|
||||||||||||||
The proposed solution is a simplified version of a Software Development Lifecycle. This pattern works on three main areas for the software development life cycle that are: | ||||||||||||||
|
||||||||||||||
1. Inception where the idea is discussed and specified (e.g., as user story), | ||||||||||||||
2. Build where the developer collaboration takes place with other developers, where the user story is translated into code, and | ||||||||||||||
3. Usage as the moment in time the software is producing value at the final end users even in other business units or departments. | ||||||||||||||
Comment on lines
+41
to
+43
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Formatting suggestion. |
||||||||||||||
|
||||||||||||||
These three main areas should at the same time comply with the InnerSource principles (transparency, collaboration, community, etc.). | ||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Do we have these principles in writing somewhere? We have this pattern but I don't think that this is what you are referring to here: |
||||||||||||||
|
||||||||||||||
## Resulting Context | ||||||||||||||
|
||||||||||||||
The resulting context is that the corporation has defined and is using an operational model to work in a more transparent and collaborative way. This model can be later extended to other projects within the corporation. | ||||||||||||||
|
||||||||||||||
This model is useful as well to compare to other existing models in the company, and check how InnerSource this is. For further reference please check the Maturity Model Pattern. | ||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. "how InnerSource this is" is hard to read. Can you elaborate on what you mean here? Do you mean something like this:
|
||||||||||||||
|
||||||||||||||
If applied, this model brings more transparency to any of the decision making process at the company, and it is clear to others the end-to-end process to build software. | ||||||||||||||
|
||||||||||||||
## Rationale (optional) | ||||||||||||||
|
||||||||||||||
## Known Instances (optional) | ||||||||||||||
|
||||||||||||||
## Status | ||||||||||||||
|
||||||||||||||
* Initial status | ||||||||||||||
|
||||||||||||||
## Author(s) | ||||||||||||||
|
||||||||||||||
* Igor Zubiaurre | ||||||||||||||
* Daniel Izquierdo Cortázar | ||||||||||||||
|
||||||||||||||
## Acknowledgements (optional) | ||||||||||||||
|
||||||||||||||
## Alias (optional) |
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.
If we rename the title, we should consider changing the filename as well.