Inner Sourcing – Code im Unternehmen teilen

Inner Sourcing überträgt die Prinzipien der Open-Source-Entwicklung auf Unternehmen, um Silodenken aufzubrechen und eine offene, kollaborative Entwicklungsumgebung zu fördern.

Probleme der isolierten Entwicklung

Die isolierte Arbeit in geschlossenen Repositories führt zu folgenden Problemen:

  • Getrennte Entwicklungsteams: Verschiedene Teams arbeiten an Backend, Suche oder individuellen Modulen, ohne den Überblick über den Gesamtzusammenhang.
  • Fehlende Transparenz: Dokumentation und Kommunikation bleiben hinter den Erwartungen zurück.
  • Unklare Schnittstellen: Unterschiedliche Funktionsweisen und mangelhafte Zusammenführung der Komponenten.
  • Mechanistische Zusammenarbeit: Austausch erfolgt nur über Tickets statt direkter Kollaboration.

Nachteile isolierter Arbeitskulturen

  • Falsche Schuldzuweisungen: Teams weisen sich gegenseitig Fehler zu.
  • Verweigerung von Verantwortungsübernahme: Jeder versucht, eigene Mängel zu kaschieren.
  • Blockierte Problemlösung: Fehlende Flexibilität verhindert schnelle Korrekturen und Optimierungen.

Open Source als Vorbild

Die Open-Source-Bewegung zeigt, wie Offenheit und Transparenz in der Entwicklung den Grundstein für erfolgreiche Projekte legen:

  • Offener Code: Jeder kann den Code einsehen, anpassen und weiterentwickeln.
  • Einfacher Beitrag: Externe und interne Entwickler können Ideen einbringen.
  • Zentralisierte Kollaboration: Plattformen wie GitHub und GitLab erleichtern die Zusammenarbeit.

Code of Conduct
Ein klar definierter Verhaltenskodex fördert die Zusammenarbeit und sorgt dafür, dass alle Beteiligten konstruktiv mitwirken. Weitere Infos unter opensource.guide/code-of-conduct oder contributor-covenant.org.

Der Weg zum Inner Sourcing

Der Übergang zu Inner Sourcing erfolgt in klar definierten Schritten:

1. Offenlegen der Projekte

  • Transparenz schaffen: Code allen zugänglich machen.
  • Sensible Daten entfernen: Keine hart kodierten Passwörter oder sicherheitskritischen Informationen.
  • Sicherheitsüberprüfung: Konfigurationen des Betriebsteams gründlich prüfen.

2. Zentralisierung der Repositories

  • Kollaborationsplattform einrichten: Alle Projekte an einem Ort zusammenführen.
  • Übergang organisieren: Repositories migrieren und Schnittstellen neu konfigurieren.

3. Dokumentation erstellen

  • Build-Guide: Anleitung zum lokalen Aufbau des Projekts.
  • Deployment-Strategie: Schritt-für-Schritt-Anleitung für den Rollout in Produktionsumgebungen.

4. Kollaboration via Code-Review

  • Merge bzw. Pull Requests: Beiträge durch Code-Reviews evaluieren.
  • Qualitätssicherung: Unabhängige Überprüfung verbessert die Codequalität.

Vorteile von Inner Sourcing

Effizientere Entwicklung

  • Schnelle Abstimmungen: Direkte Änderungsvorschläge und schnelle Umsetzung statt langwieriger Ticket-Systeme.
  • Geringere Wartezeiten: Überwindung organisatorischer Hürden führt zu kürzeren Entwicklungszyklen.

Förderung von Innovationen

  • Wiederverwendbare Lösungen: Gemeinsame Projekte vermeiden Doppelentwicklungen.
  • Unternehmensweite Nutzung: Projekte, die intern entwickelt werden, können auch als Open-Source Projekte freigegeben werden – und von externen Beiträgen profitieren.

Verbesserte Codequalität

  • Mehr Augen sehen mehr: Unterschiedliche Perspektiven führen zu frühzeitiger Fehlererkennung.
  • Konstruktives Feedback: Regelmäßige Reviews und Rückmeldungen heben die Qualität des Codes.

Höhere Mitarbeiterzufriedenheit

  • Offene Kommunikation: Weniger Hürden beim Austausch fördern ein positives Arbeitsumfeld.
  • Motivation: Ein transparenter und offener Entwicklungsprozess steigert die Freude an der Arbeit.

Warnung vor Fehlentwicklungen
Ist Inner Sourcing gesellschaftlich nicht gewünscht und hilfreiche Beiträge werden zurückgewiesen, scheitert der Ansatz. Die Kultur und Mentalität des Unternehmens sind entscheidend.

Fazit

Inner Sourcing erfordert ein Umdenken und gezielten Aufwand. Die Vorteile – von effizienterer Entwicklung über Innovationsförderung bis hin zu höherer Mitarbeiterzufriedenheit – überwiegen jedoch deutlich und legen den Grundstein für eine zukunftsorientierte DevOps-Kultur.

Devops-Overview