Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 70 additions & 0 deletions gig-marketplace.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
## Title

* Gig Marketplace

## Patlet

Establish a marketplace by creating an intranet website that lists specific InnerSource project needs as "Gigs" with explicit time and skill requirements. This will enable managers to better understand their employee’s time commitment and professional benefits thereby increasing the likelihood of garnering approval to make InnerSource contributions.

## Problem

Neither managers nor employees understand how they might benefit from getting involved in an InnerSource project.

It is difficult for employees to communicate to their management what commitment of time they will need to make to an InnerSource project.

Managers have no uniform way of keeping track of or rewarding their employee’s involvement in InnerSource projects.

## Story

You’ve successfully created an InnerSource program at your company and have buy-in from senior management, middle-management and developers. However, after nearly a year there have been few actual contributions made to any InnerSource projects outside of the teams that originally created them. After interviewing all the parties involved the main sticking point seems to be that it is difficult to know the time commitment developers will be asked to make if they choose to get involved in an InnerSource project and how they will personally benefit. There is also no uniform way of advertising what opportunities for contributors exist, what they’ll be asked to do and approximately how long it might take. Managers are supportive and want their employees to participate but so far have lacked a way accounting for or rewarding their employees’ activities within InnerSource projects. What can be done to improve this situation for all the parties involved (InnerSource project owners, potential contributors and development managers)?

## Forces

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I feel like some of these Forces are written as lack-of-the-solution. I'd advocate for thinking of what is the underlying force that causes a solution to be needed and write that as the Force.

e.g. instead of

It is difficult for managers to approximate what the time/effort commitment will be for employees taking on InnerSource project tasks.

something like

Managers need to plan and account for employees time commitments

or instead of

The less insight a manager has into the effort and accomplishment of their employees in InnerSource projects, the more unlikely it is that he can reward their employees for their InnerSource work.

something like

Managers and employees both want inner source contributions to be rewarded.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Great point. Will go back and rephrase these to follow this more succinct phrasing.


* InnerSource projects at your company are finding it difficult to attract contributors
* Employees would prefer an easier way to discover what InnerSource opportunities exist and how contributing might benefit them professionally
* Managers who can't approximate the required time/effort for InnerSource project tasks are less likely to commit their employees to doing them


## Context

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Oooh, these look like Forces to me. They are not going to change based off of the application of the pattern.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

We may have an opposite understanding of what is a Force and what is Context? 🤷‍♂️

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

OK. Will consider rewording so that these better describe forces. These are potentially better expressed as forces that make people act in a certain way or take certain actions.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Well, I think the bullet points on tacid acceptance and corporate policy are in fact proper elements of the context. The other ones I would also try to move to the forces section as they are all relevant for the core of this pattern.

From past discussions, I remember you brought up some more aspects that helped you set up the Gig Marketplace, @stephenmccall . Something related to you being part of an org that was capable and experienced in setting up tools like the Gig Marketplace. Those should be added in the context, as well, if they help a reader decide, whether or not this pattern might help them.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Good point. Yes. The two divisions responsible for standing up the InnerSource portal and the Gig Marketplace were both under the umbrella of Enterprise Architecture. This is important to point out as their central role is understood across the firm as one that should be providing centralized tooling to the rest of the organization. It would be more difficult to imagine, for example, a Marketing or HR division garnering the funding or support to create such tools for the rest of the company.


* InnerSource project owners need to attract contributors to achieve their goal.
* Employees desire exposure to activities going on within other areas of the company without leaving their current positions
* Managers need to plan and account for employees' time commitments
* Managers and employees both want InnerSource contributions to be rewarded


## Solutions

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

You mentioned in the first sentence that individuals can advertise their skills. I was wondering if the marketplace automatically matches contributors with gigs automatically. Something like "Hey Stephen, here are some gigs you might be interested in" or "We found these contributors which might help you with your gig, Stephen". If that's the case, I propose to make it part of the solution.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This is the case in our implementation. When setting up their profiles developers are able to opt in to receive email updates whenever gigs are posted that match their areas of interests of skills. I'll include some language in the pattern call attention to this as a suggested feature for any Gig Marketplace.


Create a “Gig” based intranet site where individuals can advertise their skills and areas of interest and InnerSource project owners can advertise opportunities for collaboration.

Employees should be able to create a profile within the application in which they can list their skills and areas of interest. The system should leverage this information by proactively informing individuals (via email or some other means) when a Gig is posted that matches one or more of those criteria.

Each Gig posted by an InnerSource project owner should include the estimated skill and time requirements so those can be easily matched to an available employee and clearly communicated to their direct management. The description should also include a rationale as to how it will benefit the person taking on the task in order to make it as attractive as possible.

A points based system should be created to reward and track an employee’s involvement in a Gig. For instance, 10 points awarded to the Gig owner for posting a Gig once it is completed and 100 points for a developer who completes a Gig. Points accrued by completing Gigs could then be used as a gamification mechanism and as performance management criteria to garner insight in to the areas of expertise that exist within an organization.

Those wishing to accept a Gig should first be vetted by the Gig owner to determine that the employee has the prerequisite skills and allotted time from their manager to complete the Gig.

The transparency of contributions made via Gigs can help a contributor build (or detract from) her reputation thereby creating a greater likelihood that the quality of the contribution will be high. Completion of Gigs can also act as proof of expertise in a particular area.

The nature of Gigs posted to the marketplace can include both hard and soft skills such as organizing a group event, writing a report or requests for mentorship etc.

The creation of the Gig Marketplace should ideally be taken on by a team within an organization with the responsibilities to provide company-wide infrastructure and capabilities.

## Resulting Context

The InnerSource Gig Marketplace has vastly increased the number of InnerSource projects as well as the number of employees involved in them. The self-directed nature of the Gig Marketplace has enhanced job satisfaction amongst employees by allowing them a level of choice in the work they perform and with whom they can partner across the company. Employees understand exactly what they are signing up for and what they can expect from the experience. Managers are better able to estimate and track their employee’s time commitments with respect to InnerSource projects, recognize their individual efforts and use the completion of Gigs as a way of validating their specific skillsets. Managers are also able to leverage any existing downtime their employees may be experiencing by allowing them to pivot to work available in the Gig Marketplace. The data generated by the interactions within the Gig Marketplace is also helping to drive hiring and training decisions across all departments.

When used in combination with the InnerSource Portal pattern, the Gig Marketplace provides a finer level of context and detail in addition to the links to the code repositories and documentation for the project to which the Gig relates.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Seems like there should be a linkage/mention of the InnerSource Portal and an explanation of how the Gig Marketplace and InnerSource portal relate to each other.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

OK. The two patterns could be used independently though. Would it be enough to mention that the two patterns can be used to better effect in combination?


## Known instances

* A large financial services organization has used the creation of an InnerSource Gig Marketplace website to foster their InnerSource program.
* The Gig Marketplace pattern has been proven to work extremely well with the associated InnerSource Portal pattern in this context. The InnerSource Portal increases awareness of specific projects currently underway while the Gig Marketplace advertises tasks of a certain type available to be worked on within those projects.




## Author(s)
* Stephen McCall
54 changes: 54 additions & 0 deletions innersource-portal.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
## Title

* InnerSource Portal

## Patlet

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I propose to shorten the patlet. If I remember Bob right, the rule of thumb is to limit a patlet to two sentences.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Got it. Will do.


Create an intranet website that indexes all available InnerSource project information. This will enable potential contributors to more easily learn about projects that might interest them and for InnerSource project owners to attract an outside audience.

## Problem

InnerSource projects at your company are increasing but potential contributors have no easy way of discovering them.

InnerSource project teams are finding it difficult to attract outside contributions.


## Story

You are attempting to establish an InnerSource practice within your organization. You are aware of some projects being run using an InnerSource model, but their existence is only being communicated via word of mouth, email or sidebar conversations with other employees. As a result InnerSource project owners are finding it difficult to attract contributors. There is no single, shared resource for employees across the organization to access which will allow them to easily discover all ongoing InnerSource projects. This is severely limiting the growth potential of every InnerSource project. What can be done to help all InnerSource projects raise their visibility to as large an audience as possible and attract contributors organization-wide?

## Forces

* The full potential for separate engineering teams to partner on shared challenges is not being realized
* It is difficult for individuals to discover what InnerSource projects exist
* It is difficult for InnerSource project owners to attract an audience of external contributors


Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Should there be a force around different repositories that might exist across the larger organization? Having multiple repositories could make searching for InnerSource projects more difficult.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Yes. There is a supposition here that a common source control system is in place and that it is permissible for groups within an organization to provide global read access to that source code. This may not exist in some organizations but even if access is restricted to a specific sub-group it does not preclude the usefulness of a portal in that limited context.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Putting on the developer hat for a moment: if I have no visibility into the project which is offering gigs and specifically the sources and the past collaboration, I am less likely to commit to a gig for that project.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

True, however remember that the premise is that developers are expected to be searching across the Gigs in the Marketplace to identify projects where they can either demonstrate existing or obtain new skills/experiences. Not necessarily to find opportunities to contribute to projects of which they are already aware.

## Context

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Tools like GitHub and Bitbucket offer limited support for discovering projects, if the overall number of projects is very high. GitHub offers a few marketing tools, but nothing like what you propose. I feel that should go in the context as well.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Good point. This is a bit of an unspoken truth. If popular tools like these did allow for such easy discovery based on similar criteria then that would obviate the need to create a bespoke Gig Marketplace application in the first place. There might still be a need for this pattern but the implementation recommendations would be more akin to suggestions to leverage these features within popular SCM tools.


* Managers have given tacit acceptance that their employees should take part in InnerSource projects
* InnerSource project owners are seeking a way to increase participation in their projects
* A shared source control management system is in use which provides programmatic access to the contents of the repositories it hosts
* The source control management application in use has limited search capabilities
* There is a department within the organization with the responsibility of promoting InnerSource collaboration

## Solutions

Create an InnerSource Portal intranet website where InnerSource project owners can easily advertise the availability of their projects.

Visitors to the InnerSource portal should be able to see all available projects as well as search for specific projects based on various criteria such as project name, technologies in use, contributor names, sponsoring business unit etc. The information displayed via the InnerSource portal should be under the full control of the InnerSource project owners at all times. Preferably, by sourcing this information directly from a specific data file or meta-data stored in the project repository itself. Project owners should include all relevant information concerning their projects within those data files including the project name, trusted contributors names, a brief description and links to the code repository or any supporting documentation.

A communications campaign promoting the addition of InnerSource data files or meta-data to code repositories should also be considered in order to bolster the number of projects displayed within the portal.

## Resulting Context

The InnerSource Portal has enabled InnerSource project owners to advertise their projects to an organization-wide audience. Due to this increased visibility they are attracting much larger communities of contributors than ever before. For those looking to get involved in InnerSource projects, the InnerSource portal has allowed them to discover exactly the kind of opportunities they are interested in by searching across all available InnerSource projects simultaneously based on their specific criteria. Satisfying the needs of both of these audiences has helped establish InnerSource as a viable and attractive option for all areas of the organization to leverage to accomplish things together they could not have separately.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

It seems like there should be some linkage (and mention) of the Gig Marketplace and how it integrates with the InnerSource Portal.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

OK. The two patterns could be used independently though. Would it be enough to mention that the two patterns can be used to better effect in combination?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Yes, I think this would work.


## Known instances

* A large financial services organization has used the creation of an InnerSource Portal to provide a mechanism of advertising and discovering InnerSource projects in existence across different business units
* The InnerSource Portal pattern has been proven to work extremely well with the associated InnerSource Gig Marketplace pattern in this context

## Author(s)
* Stephen McCall