How Non-Software Vendors Fail and How Inner Source Can Help

Slowly but surely, non-software vendors have been waking up to realize that Silicon Valley, specifically, software vendors, are out to eat their lunch. In 2011, Marc Andreessen stated that software is eating the world, in 2015, Geoffrey Immelt said that GE is in the information business, and now in 2020, Volkswagen declared itself to be(come) a software-driven automobile vendor. However, this is more easily said than done, and the path to taking charge of your software future is fraught with possibly serious mistakes. One such mistake is to create your own internal software organisation. A better choice is to leave developers close to the products, but set-up an inner source program to connect them across the organization. Let me revisit this topic.

Continue reading “How Non-Software Vendors Fail and How Inner Source Can Help”

Is Inner Source Collaboration Like Shipping Boxes Between Companies? (Hint: No!!)

Most corporate compliance departments believe developer collaboration in inner source projects is like shipping boxes with stuff (products) between the involved parties, for example, companies in a holding. Therefore, they don’t have to change anything about tax accounting and transfer pricing.

They couldn’t be more wrong.

Continue reading “Is Inner Source Collaboration Like Shipping Boxes Between Companies? (Hint: No!!)”

Inner Source and Work-from-Home

Inner source is the use of open source best practices inside companies to develop shared components for use in the company’s products. Inner source software doesn’t have to become open source (but might). Like open source software development, inner source software development is inherently asynchronous, distributed, and multi-timezone.

Inner source is a match made in heaven for the new world of work-from-home.

All signals are clear: Many people love working from home, and developers are no exception. They will only return to the office, if forced, and it will come with a price for the company. Hence, those companies will be better off which can make work-from-home work out for their developers. This is in clear conflict with agile methods practices of co-location, regular stand-ups, etc.

Continue reading “Inner Source and Work-from-Home”

Escalating Levels of Complexity in Inner Source Projects

Yesterday, I discussed what makes a good pilot project in inner source. The main thrust of the suggestion was not to start with a big bang but rather to choose a relevant but not too large project. This begs the question of complexity of projects, specifically viewed from an inner source perspective. How should you escalate and grow your ambition for inner source projects? I see a 1 + 3 structure of levels.

Continue reading “Escalating Levels of Complexity in Inner Source Projects”

Upcoming Talk on Ten Years of Inner Source Case Studies at UC Santa Cruz

Abstract

Inner sourcing is the use of open source best practices within companies to improve engineering productivity. In 2006, I introduced inner source to SAP. After becoming a professor, my group helped further companies introduce inner source to their engineering organizations. Using three generations of projects, we report about our experiences and how we are turning those into a practical handbook for inner source governance.
Continue reading “Upcoming Talk on Ten Years of Inner Source Case Studies at UC Santa Cruz”

Internal Component Marketplaces vs. Transfer Pricing of Inner Source

I was recently asked why I argue against company-internal marketplaces for software components yet emphasize the need for pricing components that cross company boundaries within the same holding company (also known as transfer pricing). The answer is simple: Setting up an internal marketplace is a managerial choice and pricing the movement of code (IP) across company boundaries is a taxable event that you need to deal with: It is not a choice.

Let me take it in steps.

Continue reading “Internal Component Marketplaces vs. Transfer Pricing of Inner Source”

Agile Feature Teams vs. Inner Source

Agile methods reacquainted developers with the idea of working from business value rather than focusing on technical concerns only. Agile methods are therefore often equated with feature-driven development, in which work is driven by features prioritized by business value irrespective of technical consequences. This thinking can create code silos and wreak havoc on software architecture and component quality. Developer complaints are legion, in particular for never getting the time to fix things or do them right in the first place.

Continue reading “Agile Feature Teams vs. Inner Source”