Das 3-Schritte-Framework für die Einführung einer internen Entwicklerplattform

Eine interne Entwicklerplattform (IDP) kann deinen Entwicklern dabei helfen, sich voll auf die Bereitstellung von Software zu konzentrieren, ohne sich um Deployment-Pipelines, Konfigurationsmanagement oder die Umgebungsbereitstellung kümmern zu müssen. Als Engineering Manager ist das vielleicht genau das, wonach du suchst. Aber zu wissen, dass du eine interne Entwicklerplattform benötigst, und eine einzuführen, sind zwei völlig verschiedene Dinge.

Während verschiedene Plattformen unterschiedlich viel Aufwand für Einrichtung und Wartung erfordern, sorgt ein methodischer Ansatz bei der Einführung dafür, dass dein Unternehmen den bestmöglichen Start hat. Wenn du die richtige interne Entwicklerplattform wählst und sie erfolgreich einführst, können deine Entwicklern viel Zeit und Ressourcen sparen.

In diesem Artikel stellen wir ein dreistufiges Framework für Engineering Manager vor, die bereit sind, vom IDP-Konzept zur konkreten Umsetzung überzugehen.

Folgendes wird behandelt:

  • Veröffentlichung einer Ausschreibung zur Identifizierung möglicher Anbieter

  • Bereitstellung des ausgewählten Tools, um die Akzeptanz sicherzustellen

  • Erfolgsmessung und Verfolgung von Fortschritten bei der Entwicklererfahrung

So erstellst du eine Ausschreibung für eine interne Entwicklerplattform

Der erste Schritt zur Einführung einer IDP ist die Erstellung einer Ausschreibung (RFP, request for proposal). Eine Ausschreibung vermittelt genau, was dein Unternehmen von einer internen Entwicklerplattform erwartet. Anbieter werden mit Vorschlägen antworten, die zeigen, wie sie diese Anforderungen erfüllen können, zum Beispiel durch geführte Demos und kostenlose Testversionen der Software. So hat dein Team auch eine klare Bewertungsgrundlage, anhand derer es die Vorschläge beurteilen kann.

Alles angeben, was deine IDP bieten soll

In deinen Ausschreibungen solltest du drei Hauptbereiche berücksichtigen:

  1. Herausforderungen: Vor welchen Herausforderungen stehen deine Entwicklerteams derzeit, bei deren Bewältigung eine interne Entwicklerplattform helfen kann? Wahrscheinlich gibt es mehrere wichtige Herausforderungen, die du lösen möchtest.

  2. Ziele: Welche Ergebnisse musst du durch die Einführung einer internen Entwicklerplattform erreichen?

  3. Produktanforderungen: Welche Funktionen und Funktionalitäten benötigst du, um diese Ziele zu erreichen?

Zum Beispiel:

Wenn dir Wissen verloren geht, wenn Entwickler Teams beitreten oder diese verlassen, könnte dein Ziel darin bestehen, das Onboarding von Entwicklern zu beschleunigen. Du könntest Funktionen priorisieren, die Self-Service ermöglichen und manuelle Schritte bei der Konfiguration reduzieren, etwa durch Self-Service-Workflows und die Integration einer Wissensdatenbank.

Wenn dein Entwicklerunternehmen wächst und mehr Best Practices und Standards befolgt werden müssen, ist dein Ziel vielleicht, die Sicherheit zu verbessern und Schwachstellen zu reduzieren. Möglicherweise benötigst du Funktionen zur Integration mit Sicherheitsplattformen und zur Überwachung der Compliance mit Scorecards.

Wenn es für dich schwierig ist, deinen Entwicklern zu mehr Produktivität zu verhelfen und ihnen mehr Zeit für die Arbeit zu geben, die sie am besten erledigen, könnte dein Ziel darin bestehen, die Einrichtungszeit zu verkürzen, damit Teams Services schneller aufsetzen können. Möglicherweise benötigst du Infrastrukturautomatisierung und -Templating.

Klarheit über deinen aktuellen Stand verschaffen

Um deine Herausforderungen besser verstehen und deine Ziele effektiver bestimmen zu können, bewerte den aktuellen Stand der Entwicklererfahrung in deinem Unternehmen. Geh nicht einfach davon aus, dass du den aktuellen Stand bereits kennst – versuche stattdessen, Umfragen unter Entwicklern durchzuführen, bestehende Prozesse zu prüfen und Fokusgruppen mit Entwicklern abzuhalten, um herauszufinden, wo Verbesserungen erforderlich sind. Erkläre die nächsten Schritte, die du unternehmen wirst, und halte die Teams über deinen IDP-Fortschritt auf dem Laufenden.

Unser Bericht zum Stand der Entwicklererfahrung hat ergeben, dass weniger als die Hälfte der Entwickler der Meinung ist, dass ihr Unternehmen der Entwicklererfahrung Priorität einräumt. Zwei von drei Entwicklern vergeuden immer noch mindestens acht Stunden pro Woche durch Ineffizienzen in ihren Rollen.

So führst du eine interne Entwicklerplattform ein

Sobald ihr euch für eine interne Entwicklerplattform entschieden habt, plant gemeinsam den Einführungsprozess und verfolgt die Akzeptanz. Eine sofort einsatzbereite interne Entwicklerplattform verringert den Aufwand, den die Einführung von den einzelnen Personen in eurem Team erfordert. Zum Beispiel benötigt Compass deutlich weniger technische Ressourcen als eine Open-Source-Plattform wie Backstage, für deren ordnungsgemäße Einrichtung und Wartung 4 Full-Stack-Entwickler erforderlich sind. Mit Compass kannst du deine Tools zur Quellcodeverwaltung verbinden, deine Repositorys importieren und deinen Softwarekomponentenkatalog so in nur 10 Minuten füllen.

Einen Lenkungsausschuss einrichten

Damit die Einführung noch reibungsloser verläuft, bilde einen Lenkungsausschuss aus einigen wichtigen Stakeholdern. Diese Experten werden dann Support leisten, den Prozess überwachen und bei Bedarf Entscheidungen zu Anpassungen treffen.

Wir empfehlen, dich an folgende Personen zu wenden:

  • Einen Executive Sponsor: Die ranghöchste Person, die die Bemühungen rund um die Entwicklerplattform federführend vorantreibt. Der Chief Technology Officer, VP of Engineering oder Head of Platforms könnte gut für diese Rolle geeignet sein.

  • Einflussreiche Entwickler: Wähle eine kleine Gruppe einflussreicher Entwickler aus deinem gesamten Unternehmen aus, die dabei hilft, die Einführungspläne für deine interne Entwicklerplattform zu entwerfen oder zumindest darüber auf dem Laufenden gehalten wird.

  • Ein Plattformteam oder DevOps Engineers: Da Integrationen entscheidend dafür sind, wie interne Entwicklerplattformen Wert liefern, müssen die Verantwortlichen für diese Tools wichtige Partner bei der Einführung sein.

  • Verantwortliche für Richtlinien oder Governance-Teams: Interne Entwicklerplattformen machen es Engineering-Teams leichter, Standards und Best Practices einzuhalten. Deshalb kann es bei der Planung hilfreich sein, mit den Verantwortlichen für diese Standards zusammenzuarbeiten.

Einen Rollout-Zeitplan erstellen

Wenn dein Lenkungsausschuss feststeht, erstelle einen Zeitplan für die Einführung deiner internen Entwicklerplattform. Teile diesen Zeitplan allen Teams mit, die die neue interne Entwicklerplattform nutzen werden, und bitte um weiteres Feedback zur Machbarkeit deines Plans, damit du ihn bei Bedarf anpassen kannst. Halte während der Umsetzung des Zeitplans regelmäßig Rücksprache, um Fortschritte und Akzeptanz bewerten und Unterstützung bieten zu können.

Wir haben einen Implementierungsleitfaden für Compass erstellt, damit dir der Einstieg noch leichter fällt.

So misst du den Erfolg einer internen Entwicklerplattform

Um deinen Fortschritt zu messen, kehre zu den Zielen zurück, die du notiert hast, als du dein Ausschreiben zum ersten Mal erstellt hast. Überlege dir sowohl qualitative als auch quantitative KPIs (Key Performance Indicators), die ein vollständiges Bild davon vermitteln, ob deine interne Entwicklerplattform den Wert liefert, den du dir davon versprochen hast. Mit Compass kannst du benutzerdefinierte Scorecards erstellen, um deine KPIs zu definieren und sicherzustellen, dass deine Entwicklerteams dieselben Standards anstreben.

Oft werden KPIs als "harte Zahlen" oder "objektive Messungen" betrachtet, was bei quantitativen Konzepten wie Umsatz oder Fehlerraten auch durchaus funktioniert. Die Entwicklererfahrung ist jedoch subjektiv. Das bedeutet, dass ihre KPIs teilweise qualitativ sind, z. B. die empfundene Einfachheit bei der Bereitstellung von Software, die wahrgenommene Produktivität sowie das Engagement oder die Zufriedenheit der Mitarbeiter.

Die richtigen Messwerte für dein Unternehmen finden

Hier sind einige Beispiele dafür, was du je nach Ziel verfolgen könntest:

  • Wenn dein Ziel das Verbessern der Sicherheit ist, könntest du darauf abzielen, die Anzahl offener Schwachstellen pro Quartal um einen bestimmten Betrag zu reduzieren.

  • Wenn du dich daranmachst, die Produktivität zu verbessern, könnte dein KPI darin bestehen, die Vorlaufzeit für die Bereitstellung der Infrastruktur von 5 Tagen auf 2 Stunden zu verkürzen.

  • Wenn schnelleres Onboarding dein Ziel ist, könntest du die Zeit bis zur Produktivität neuer Entwickler nachverfolgen und darauf hinarbeiten, sie zu verkürzen.

  • Wenn die Verbesserung der Entwicklererfahrung am wichtigsten ist, solltest du höhere Zufriedenheitswerte von Entwicklern in Entwicklerumfragen anstreben.

Werte langfristig weiter verfolgen

Es kann einige Zeit dauern, bis sich die Auswirkungen deiner internen Entwicklerplattform bemerkbar machen. Behalte den Fortschritt im Blick und nutze Rücksprachen und Retrospektiven mit deinen Teams, um zu besprechen, ob die interne Entwicklerplattform im Laufe der Zeit die gewünschten Ergebnisse liefert.

Team-Retrospektiven geben Entwicklern und Führungskräften die Möglichkeit, darüber nachzudenken, was gut läuft und was nicht. Grundlegende Anweisungen und Vorlagen für Retrospektiven sowie Varianten für bestimmte Situationen findest du im Retrospektiven-Play des Atlassian Team-Playbooks.