Skip to content

New pattern proposal: InnerSource Hackathon #700

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

Merged
merged 10 commits into from
Jul 1, 2024
84 changes: 84 additions & 0 deletions patterns/1-initial/innersource-hackathon.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
## Title

InnerSource Hackathon
Copy link
Member

Choose a reason for hiding this comment

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

Just brainstorming:
If you could not use "InnerSource" in the title, how might you call this pattern?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I am not sure. The closest I can think off is - 'Hackathon: Safe experiment space', but I feel it doesn't sound right. I took inspiration from other patterns - InnerSource Portal and InnerSource License, which give the user a good understanding of what to expect in the pattern, just by the title.

Please feel free to suggest one :)

Copy link
Member

Choose a reason for hiding this comment

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

Naming things is hard, as we know ;)

I don't have a better idea right now idea.

I asked about this because all of these are InnerSource patterns, so naturally the word InnerSource will appear in a lot of places. Therefore we try to not overuse the word in the pattern titles, to distinguish the patterns from each other a bit more.

For now:
Let's just keep the title as is.
Once the patterns matures more through feedback from other organizations, maybe we have an idea for a different title.

Copy link
Member

Choose a reason for hiding this comment

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

Maybe it would help to include something that the Hackathon achieves in the title?

Something that expresses the gained practical experience?

Though I can follow the argument of @spriya-m referring to InnerSource Portal and -License as examples.


## Patlet

In a company, initially only InnerSource enthusiasts are interested and practicing InnerSource during the early stages of InnerSource adoption; not all engineering teams are willing or have enough time and resources to adopt InnerSource. In this scenario, it is good to provide a safe space to try and adopt InnerSource through an InnerSource Hackathon event within the company.
Copy link
Member

Choose a reason for hiding this comment

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

I love this pattern because it ties into the crossing the chasm pattern: It's a lovely way to get people to practice instead of only learn or hear about best practices.


## Problem

The company wants to adopt InnerSource as software development methodology but only those familiar with open source principles or those who understand the benefits of InnerSource, adopt it. It results in just a handful of InnerSource projects and is difficult to scale beyond that.
Copy link
Member

Choose a reason for hiding this comment

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

Would you do that purely as a Hackthon targeted at learning about InnerSource best practices?

I'm asking because reading your suggested pattern, made me remember some of the very early InnerSource days at my employer: There was a yearly hackathon established already. Participating teams decided to try out InnerSource best practices there early on - come to think of it, that was one of the occasions where best practices spread across team boundaries.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes, the goal is to make the engineering community learn about InnerSource best practices. When ISPO or sometimes OSPO (driving InnerSource as well) is not able to reach the entire engineering community, then such an event would help draw some attention.

Just out of curiosity, the yearly hackathon that you mentioned - was it specific to InnerSource? If so, can we quote it as a known instance?

Copy link
Member

Choose a reason for hiding this comment

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

The one I mentioned wasn't specific to InnerSource - it had been established long before the InnerSource initiative.

What happened was that some Hackathon teams would naturally adopt InnerSource for those few days to try it out. As a result the practice was adopted by new teams afterwards.

I think this shows just how strong a Hackathon as a pattern is: Even if it is not focused 100% on spreading the practice of InnerSource it still helps teams adopt those new ways of working. We could extend the pattern such that there are two Hackathon options - those organised by ISPO/OSPO and 100% geared towards InnerSource exercises plus more generic Hackathons than we can of course include my employer as well.


## Context

### Scenario 1: Challenges in scaling beyond the early adopters

The senior leadership believes in InnerSource and wants to drive it throughout the company. The engineers who are familiar with open source principles and/or understand the benefits of InnerSource are the early adopters. There is success with these initial pilot project and teams. Now the next step is to drive it across the company. There might be reluctance from engineering teams due to various factors like:

* not familiar with InnerSource and being ignorant to know about it
* not enough time to prioritize InnerSource, given the regular work deliverables
* relunctance to changing ways of working when everything works well already
* perception that InnerSource requires more work and responsibilities

### Scenario 2: Challenges in getting contributions and building community around InnerSource projects

Teams slowly start adopting InnerSource and open up their repositories. Some new projects are started as InnerSource projects from the start (that is open for contributions). However, there are not many contributors. It is also challenging to build a community around those projects, in spite of publishing the projects in an InnerSource Portal. This could be due to various reasons like:

* engineers do not have time to explore new InnerSource projects and contribute, outside regular work deliverables
* no additional incentive to this effort apart from being acknowledged
* lack of motivation by middle management

## Forces

Apart from the reasons listed in the Context section, there are other factors from different entities that prevent teams from adopting InnerSource like:

* From middle management: perception of no direct benefit to the team apart from team upskilling and individual growth; eventually resulting in no motivation by the middle management to the engineers in trying out InnerSource ways of working.
Copy link
Member

Choose a reason for hiding this comment

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

@spier we already have some patterns addressing push back like that - do you think it would make sense to link to those from here?

E.g.: Change middle management mindset, Developer incentive alignment, Incentivise voluntary contributions, Overcome time constraints?

Copy link
Member

Choose a reason for hiding this comment

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

Nice thought! We certainly could link to some of these, yes.

Just note that those other patterns have not reached the "Structured" maturity level yet. i.e. they may have not bee confirmed by an organization that used these patterns.

Copy link
Member

Choose a reason for hiding this comment

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

Oh, right. Is there another good place to track these links?

Copy link
Member

Choose a reason for hiding this comment

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

Have no good yet, no.

Will just leave this conversation open, while already going ahead and merging the PR.

* From engineers: investing time to try new ways of working when there is already time and resource constraint for regular work deliverables; it is also challenging to balance both and show outcomes in both; this curbs motivation from the engineers as there is little safe space to experiment.
* From senior leadership: not prioritizing investment in InnerSource ways of working such as it being part of long term goals or OKRs.

For those new to InnerSource or any technology/methodology, there is a need for safe space to try and experiment without definite outcomes in the initial stages. These factors and forces hinder such an experiment ground.

## Solution

Organize a company-wide hackathon focused on InnerSource. An InnerSource hackathon provides a safe space for engineers to try and contribute to InnerSource projects without any presumption and prejudice. It could be a 1 or 2 day event.

It can preferrable be organized by InnerSource Program Office (ISPO), if it exists in the organization or by the Open Source Program Office (OSPO), if OSPO also drives InnerSource within the company. It can also be organized by other common service organizations too, if need be. Basically a central team or a group of individuals, who believe in InnerSource, can organize the hackathon.
Copy link
Member

Choose a reason for hiding this comment

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

Would piggy-backing on an existing hackathon work as well?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

IMO, piggy-backing with another hackathon would dilute the focus on InnerSource. Having said that, it depends on each company too. For a company in early stages of InnerSource with not many InnerSource practitioners, it is better to have it focused just on InnerSource.

Copy link
Member

Choose a reason for hiding this comment

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

Now that I read this: In my case, where piggy-packing did happen, it occured at a later stage where several engineers already had experience. Essentially we started with the "get started as an experiment", scaled in a sub org after that and crossed towards other departments through the hackathon.

So maybe the piggy-backed version of this pattern would then work better for companies that already have several practitioners to carry adoption further. Maybe also to carry learnings concerning the practice between teams.


All engineers in the organization can participate in the hackathon. The participants can be new to InnerSource, or InnerSource practitioners already. They can participate individually or as a team. Participating as a team also provides a safe environment, for example, those are new to InnerSource can team up InnerSource practitioners.

There could be one or more categories to participate as follows:

* Start a new InnerSource project: It could be either starting a new project from scratch as InnerSource or making a existing project InnerSource ready.
* Contribute to the existing InnerSource project: InnerSource project owners can list down the features in GitHub issues as a pre-requisite before the hackathon and the participants can contribute to it during the hackathon.
* Participate as an InnerSource mentor: Participants can also mentor new InnerSource practitioners and provide knowledge transfer or coaching during the event.

The event could be held virtually or physically in different locations in the organization based on the cost and budget involved. A virtual event will have best ROI but it could depend on each organization.

The winners and participants should be recognized and acknowledged in a company-wide forum at the end of the hackathon. This is important as it keeps motivating them and more engineers to adopt and practice InnerSource going forward.

Such an event provides a safe space for the engineers who want to adopt or contribute to InnerSource but didn't have the time and motivation to do it or for those who kept deprioritizing due to high priority work deliverables. From middle management point of view, 1 or 2 days for such an event is not much of an ask and hence they are more likely to accept.

## Resulting Context

* There is increased adoption of InnerSource by providing such a safe platform to try and experiment combined with recognition and support by the senior leadership and middle management.
* More InnerSource projects are published within the company.
* The InnerSource projects receive more contributions.
* Communities start to form around these InnerSource projects.
* This happens not only during the event but continues after the event too, with the hackathon participants acting as InnerSource ambassadors in their teams.
* It also helps ISPO and OSPO spread awareness about InnerSource best practices quickly, across the whole engineering community in the organization.
* Such an event also gives more exposure to projects that were developed to solve the needs of a specific team but turns out that many teams have similar requirements.

All these help scale InnerSource in the organization.

## Known Instances

* Retail company in northern Europe

## Status

* Initial

## Author

* Shanmugapriya Manoharan