Many technology organizations have come to regard internal dependencies as a regrettable part of developer life. "We just to wait for this other team to change their software before we can move forward," I've heard many a developer sigh. For organizations who struggle with communication issues, this mindset becomes even further entrenched: Teams become compartmentalized and siloed, unaware of what's possible through collaboration and blocked by their own peers.
If the above describes your reality, then here's good news: You don't have to work like that anymore. Use InnerSource, which applies the open source collaboration model to internal development. With InnerSource, teams maintain ownership of their repos but open them to collaboration from other teams. Teams store their repositories on a centralized, shared platform and include contributor guidelines, attach "Help Wanted" labels to outstanding bugs and issues, and promote their collaboration opportunities over their internal communications channels.
InnerSource is not a silver bullet solution, and it won't work for all teams. But it's worked at Zalando.
Why We InnerSourced
Zalando's tech organization has undergone rapid growth in recent years, with the addition of new international technology hubs, initiatives, and teams. This growth generated some complexity around our processes. It became challenging to develop, test, and deploy changes, complex to communicate with stakeholders, and achieve consensus on what to build. Much of our development remained in privately stored repositories, so teams couldn't browse and discover each other's work. A change of approach was needed, and InnerSource looked to solve a lot of these issues.
Last summer, a colleague and I kicked off an InnerSource pilot program with the support of our tech leadership and 25 volunteer development teams. Participating teams committed to opening up at least one repository to contributions from other teams, or contributing to another team's work. For internal development Zalando uses GitHub Enterprise (GHE), and GitHub for public open source development. GitHub Enterprise has become popular among forward-thinking organizations who want to leverage all the advantages of open source's collaboration model behind their corporate firewall.
In keeping with the standard practices adopted by GitHub's 20 million users worldwide, our pilot participants made their repositories contributor-friendly. They made their repositories open...