InnerSource is a series of strategies and tactics from the open source world that help companies share source code across teams. While it might seem odd at first, it turns out that the things that work for well-managed open source projects are really helpful for businesses that want to encourage a culture of collaboration and reuse.
A few years ago we noticed some emerging trends among our enterprise customers. This led us to provide specific advisement to these companies based on our long-running experience with open source methodologies and communities. We referred to it as Internal Open Source and then quickly discovered other engineers talking about InnerSource and realized that we were not alone in our observations. This blog breaks down our findings of scaling models that still create challenges for companies today.
Scaling development
The idea of scaling development and reusing code is often more theory than reality within many companies. This leads to a few interesting scaling models that, in fact, do not scale well at all over time.
Reinventing the wheel
This is the most common approach, where organizations run each team separately, with siloed goals, budgets and source code, and little motivation, if any, to collaborate. Some organizations even encourage this approach, with the idea being that competing teams will create better results over time, even if the efforts are duplicative.
The fork
This occurs when a development team leverages another team’s existing solution. They take the solution, modify and improve it but never merge the updates back into the work of the original team. Over time these changes end up with two very different approaches, and turn into another form of reinventing the wheel.
The bottleneck
From a partial understanding of the benefits of shared code, some organizations will create an Architecture or Tools team to promote the reuse of code. More often than not, a throw-it-over-the-wall mentality evolves and these teams quickly become inundated with tasks rather than pull requests. Because of this, the dedicated team’s time is eaten up by reviewing, cleaning up or coding requests, with little to no time allotted to maintain and improve the codebase. Teams send issues and requests to the centralized team, but are not encouraged to collaborate, which leads to code management inefficiencies and ultimately, the bottleneck.
Challenges Unique to Development Organizations
Along with the scaling models described above, problems compound when you add one or more of the following problems to the mix:
- Standards Inconsistencies. Different styles, testing and documentation standards across teams.
- Communication. Lack of communication and transparency around code governance and direction.
- Resource Allocation. Inefficiencies in resource allocation resulting in unreasonable expectations and timelines.
- Essential Processes. Lack of process implementation designed to guide and streamline tools for effective engineering.
- Bikeshedding. Focusing on minutia leads to a disconnect between company direction and engineering and consumes the potential for realizing sustainable benefits over time.
Onboarding InnerSource
InnerSource is a project methodology focused on finding the right processes and tools to help a company realize long-term benefits from structured development. Each organization has different challenges and the right solution often requires external forces to assess the development culture and implement change. With the right approach, InnerSource will improve how teams collaborate and think about code and code quality, with these improvements becoming ingrained in company culture for the benefit of all parties.
With a successful InnerSource strategy, an organization can expect to more efficiently meet its objectives, become more agile in its approach, and have more time to innovate in the medium to long-term. By truly incorporating the tenets of InnerSource into developer operations, organizations will enjoy an increase in the efficiency, sustainability and maintainability of their source code. Additionally, engaged developers, created by providing an environment through which it is clear that individual contributions are clearly and positively impacting the team’s objectives, will continue to benefit the entire company as a whole.
Resources
Walmart Labs and PayPal both talk openly about the benefits they have derived from InnerSource. SitePen has helped several organizations with their InnerSource strategy and we’re happy to help yours. Contact us for a complimentary consultation.