Inner Source: Open Source für die kommerzielle Software-Entwicklung

Image of Marina Schallermayer

Open Source-Entwicklungsprinzipien können das unternehmensinterne Software Development nachhaltig verändern. Die Vorteile liegen auf der Hand: teamübergreifende Zusammenarbeit, Transparenz und Zugang zu Projekten für alle Entwickler – zu verstehen als Einladung an jeden Interessierten oder Verantwortlichen sich einzubringen. Doch funktioniert solch ein offener, demokratischer Umgang mit Sourcecode und Expertenwissen auch innerhalb von Unternehmensgrenzen und von fest etablierten Prozessen?

Auf der diesjährigen Noah Conference, gingen wir genau dieser Frage nach. Im Interview, das Lilli Seyther-Besecke, unsere Enterprise Account Managerin (@lillisebe), mit Isabel Drost-Fromm, der Inner Source-Strategin von Europace, führte, kamen wichtige Fragen zum Thema Innersourcing zur Sprache. Isabel und ihre Europace-Kollegen waren maßgeblich an der Entstehung eines Inner Source-Manifests beteiligt, welches die unternehmensübergreifende Initiative innersourcecommons.org entwickelte.

Open Source-Prinzipien auf Inner Source übertragen

Die Vorteile der Open Source-Grundsätze lassen sich auf die unternehmensinterne Entwicklung übertragen, wenn sie entsprechend angepasst werden: Das heißt vor allem, die Community auf die Unternehmensgrenzen zu beschränken. Während also beispielsweise die Projektartefakte, wie Code und Dokumentation, bei der Open Source-Entwicklung typischerweise öffentlich verfügbar sind, beschränkt sich diese Transparenz nun auf die Mitarbeiter des Unternehmens.

Für Unternehmen bedeutet das, sich von den klassischen, oft von festen Strukturen und langfristig geplanten Release-Zyklen geprägten Development-Prozessen zu lösen. Quellcode und Dokumentation stehen nun einer deutlich breiteren Audience zur Verfügung – praktisch jeder Unternehmensangehörige kann daran weiterarbeiten, kommentieren oder anderweitig nutzen. Der Prozess überwindet räumliche und zeitliche Distanzen, jegliche Kommunikation findet asynchron statt. Wie bei der Open Source-Entwicklung nimmt auch beim Innersourcing das Continuous Testing einen besonderen Stellenwert ein: Um die Qualität des Codes sicherzustellen, wird das Schreiben von Test-Routinen idealerweise zu einem festen Development-Task für jedes neue Feature.

Vorteile von Inner Source für das Inhouse Development

Isabel erläuterte im Interview die Effekte, die Europace bei der Umsetzung von Inner Source erzielen konnte. Vor allem, so sagte sie, wird die Software-Entwicklung effektiver. Durch die engere und für alle transparente Zusammenarbeit gelingt es zum einen, auch größere Teams, die remote und verteilt arbeiten, zusammen zu bringen. Zum anderen wird der generierte Code für neue Projekte besser genutzt. Die Qualität des Codes ist hoch, auch weil Kollegen anderer Bereiche, wie etwa Sales oder UX-Design frühzeitig ihre Anforderungen und Lösungen einbringen.

Schließlich verkürzen sich die Release-Zyklen deutlich. Denn asynchron arbeiten bedeutet, die Tasks zu erledigen, wenn sie da sind und nicht wenn ein Projektplan sie festlegt. Das Feedback kommt schnell und direkt, andere Entwickler können sofort dort ansetzen. Ganze Programmteile – laufend getestet und von hoher Qualität – können wiederverwendet werden, was Entwicklungszeit spart. Expertenwissen steht allen zur Verfügung und sorgt für eine bessere Weiterentwicklung jedes Einzelnen. Die Arbeitszeit wird besser genutzt, da jeder flexibel mehr oder weniger Zeit im Projekt verbringen kann, ohne auf Abstimmungs-Meetings zu warten.

Agile Development und Inner Source schließen sich nicht aus

Der Team-, Zeitzonen- und Grenzen-übergreifende Ansatz von Inner Source steht auf den ersten Blick den Prinzipien des Agile Development entgegen. Diese wurden für kleinere Teams entwickelt, die sich in kurzen Abständen Face-to-Face untereinander und mit anderen Stakeholdern abstimmen und deshalb idealerweise in einem Büro zusammenarbeiten. Das funktioniert in kleinen Start-ups sehr gut und beschleunigt die Entwicklung stark. Werden die Teams jedoch größer, wird dies schwieriger. Agile und Inner Source können einander ergänzen, wenn agile Teams beispielsweise mehr dokumentieren und Einfluss von außerhalb noch mehr integrieren.

Warum GitHub?

Collaboration braucht eine Plattform. Auf die Frage, warum Europace mit GitHub zusammenarbeitet, nannte Isabel wichtige Gründe: Die meisten Entwickler kennen die Entwicklungsplattform GitHub aus dem Open Source-Bereich. Diese Erfahrungen lassen sich für eine Inner Source-Strategie nutzen. Im Tech-Blog von Europace findet ihr einige Erfahrungsberichte, zum Beispiel auch darüber, wie sich die GitHub Enterprise Cloud für Inner Source nutzen lässt.

Wie ließe sich das konkret in eurem Unternehmen umsetzen? Gern teilen wir mit euch Best Practices, kreative Ideen und viel Erfahrung. Genauso gern diskutieren wir mit euch kontrovers einzelne Detail-Aspekte – für mehr Zusammenarbeit und Transparenz im gesamten Unternehmen. Für mehr Informationen empfehlen wir euch das Buch “Adopting InnerSource – Principles and Case Studies”, welches die Initiative innersourcecommons.org kostenlos zum Download zur Verfügung stellt.

Hier könnt ihr das vollständige Interview ansehen:

 

Kontakt:
Wenn ihr mehr erfahren möchtet kontaktiert uns auf https://enterprise.github.com/contact oder meldet euch direkt für ein GitHub Enterprise Free-Trial an: https://enterprise.github.com/trial