Skip to content

Pattern idea: Operational Model for InnerSource #367

@dicortazar

Description

@dicortazar

This issue opens the discussion about the need for an InnerSource operational model. This is based on past authors experiences.

The following is a draft of the pattern to move this forward as a PR.

InnerSource Operational Model

Title

InnerSource Operational 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.

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 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 be seen as well as the glue for other patterns willing to make sense from a development lifecycle perspective.

Story (optional)

Context

The content here is often tied to the applicability of the pattern for other readers: "Do I have this same particular 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.

Forces

As the software production chain involves roles with different goals, this way of working has to be part of everyone involved. Business related people as Product Owners may be reluctant to move into a more collaborative and transparent way of producing software. And this may happen with others as well.

Sketch (optional)

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

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:
a) Inception where the idea is discussed and specified (e.g., as user story),
b) Build where the developer collaboration takes place with other developers, where the user story is translated into code, and
c) usage as the moment in time the software is producing value at the final end users even in other business units or departments.

These three main areas should at the same time comply with the InnerSource principles (transparency, collaboration, community, etc.).

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.

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 (optional until merging)

Initial status, opening discussion.

Author(s) (optional)

Igor Zubiaurre
Daniel Izquierdo Cortázar

Acknowledgements (optional)

Alias (optional)

Metadata

Metadata

Assignees

No one assigned

    Labels

    1-initialDonuts, Early pattern ideas, ... (Please see our contribution handbook for details)📖 Type - Content WorkWorking on contents is the main focus of this issue / PR

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions