1
 
 
Profil
In deinem persönlichen Profilbereich kannst du den Status deiner Bewerbung einsehen, unvollständige Bewerbungen zwischenspeichern und aktuelle News und Events einsehen
28. Juli 2023

Warum API Guidelines eine coole Sache sind

Worum geht es in dem Artikel?

Nach einem Standard arbeiten? Echt jetzt? Software-Entwickler*innen wissen doch, wie man APIs baut. Außerdem wollen sie flexibel sein und haben weder Lust noch Zeit, sich durch ein langes Regelwerk zu arbeiten. Und selbst wenn man es gelesen hat, heißt das noch lange nicht, dass man auch damit einverstanden ist. Ja, fair. Aber in der Software-Entwicklung gibt's einige Herausforderungen zu meistern. Vor allem, wenn in autonomen Teams gearbeitet wird und man es mit Unternehmenswachstum zu tun hat.
Dieser Post gibt einen Einblick, wie wir bei OTTO zu API Guidelines gekommen sind und sie in die Umsetzung gebracht haben.

Die Herausforderung

„Ich sehe die Vorteile nicht. Das bremst mich nur aus.“
„Das funktioniert für mich nicht.“
Mit so ähnlichen Aussagen hatten wir zunächst zu tun, als wir die Initiative für API Guidelines gestartet haben.

Aber dann kamen wir im Austausch schnell an den Punkt, die Gemengelage genauer unter die Lupe zu nehmen, in der wir bei OTTO stecken:
• OTTO wandelt sich zum Marktplatz.
• Das Unternehmen wächst.
• Wir entwickeln Software in einer Vielzahl von autonomen Produktteams.

Wer das liest, kann die Herausforderungen, die das mit sich bringt, vielleicht mitfühlen und hat die unmittelbaren Auswirkungen und Folgen im täglichen Arbeitsumfeld auch schon mal gespürt.
Zur genaueren Einordnung: Viele kennen OTTO als Einzelhändler. Allein in dem Kontext gibt es eine Menge Schnittstellen. Mit dem Wandel zum Marktplatz kommen noch viele weitere Schnittstellen dazu, zusätzlich noch Marktplatzpartner. Da sind wir natürlich mit APIs unterwegs, um Business-Funktionalität bereitzustellen. Und das passiert in den unterschiedlichsten autonom-arbeitenden Teams und noch dazu in verschiedenen IT-Bereichen. Lass‘ das mal wirken!

Am Markt gibt es übrigens ähnliche Herausforderungen: Wir sitzen da z.B. mit Spotify, Atlassian oder Zalando in einem Boot.

Die Einsicht

Lass' uns mal kurz was knobeln: Stell dir eine API vor, die Zugang zu einer “Liste von Produktvarianten” und “einer Produktvariante” bietet. Welche URI würdest du wählen?

Abbildung 1: Quiz
Abbildung 1: Quiz

Abbildung 1: Quiz 

All diese Pfade sind aus reiner REST-Perspektive technisch korrekt, aber jede Antwort unterscheidet sich von den anderen. Diese Lösungen sind inkonsistent.
So ist das in der Produktentwicklung mit vielen Teams: Viele Menschen entwickeln APIs und jede*r macht’s anders. Uns war so glasklar, dass API Guidelines eine coole Sache sind und uns als einheitlicher Standard hier sehr helfen wird. Aber auch, dass wir auf dem Weg zu leicht verständlichen und einheitlichen APIs noch gut zu tun haben. Da mussten wir ran.

Die Umsetzung

An der Erarbeitung der API Guidelines sollten möglichst viele Kolleg*innen aus unterschiedlichen Teams mitwirken, um viele Bedarfe aus der Praxis einfließen zu lassen. Darüber hinaus schafft Mitarbeit und Mitspracherecht eine größere Akzeptanz bei der späteren Anwendung. Um Ressourcen für eine Arbeitsgruppe dieser Größe freizuräumen, haben wir unseren internen Priorisierungsprozess genutzt. Kaum war das durch, ging’s los mit Kickoff, gemeinsamer Themenerfassung, Aufteilung in Kleingruppen für Themenschwerpunkte und Einigung auf eine Arbeitsweise mit GitHub-Project-Board und Abstimmung über Daily Standups.

In dieser Phase haben wir auch direkt einen Technical Writer mit ins Boot geholt, um zu beleuchten: Ist das verständlich, was wir hier skizzieren? Versteht das auch ein Junior? Wir wollen schließlich Dokumentation rausgeben, die auch für alle Zielgruppen gut konsumierbar ist.

Durch Fokussierung und leichtgewichtige Prozesse hat die Arbeitsgruppe schnell Ergebnisse erzielt. So konnten wir direkt damit in der Organisation „hausieren“ gehen, Feedback einsammeln und einarbeiten. Im Anschluss haben wir uns die explizite Zusage der Teams eingeholt, zukünftig die API Guidelines beim API Design zu verwenden – mit dem ausdrücklichen Hinweis: Die Guidelines sind ein lebendes Dokument und können jederzeit erweitert werden.

Um übergreifende Zusammenarbeit zu fördern, haben wir zusätzlich mit einer Roadshow über unseren Meilenstein informiert und die API Guidelines auch über unsere Organisationseinheit hinaus bekanntgemacht.

Die Unterstützung

Jedem wird klar sein: Ein Dokument zu veröffentlichen und dann zu erwarten, dass sich alle danach richten, ist irgendwie unrealistisch und zum Scheitern verurteilt. Um unseren neuen Standard im Unternehmen zu etablieren und die Teams bei der Anwendung zu unterstützen, haben wir die Rolle des API Coaches eingeführt. Erfahrene Entwickler*innen begleiten bei Bedarf den API-Entwicklungsprozess von der Spezifikation zwischen API Provider und Konsument*innen über die Implementierung bis hin zum Go Live. Diese Rolle sollte Starthilfe sein und langfristig in den Teams und im Austausch mit einer aktiven API-Community gelebt werden.

Neben Hands-on Unterstützung haben wir einen Linter entwickelt, mit dem die API-Spezifikationen automatisch auf die Einhaltung der Richtlinien überprüft werden können. Das ist richtig cool!

Abbildung 2: Linter Ergebnisse
Abbildung 2: Linter Ergebnisse

Abbildung 2: Linter Ergebnisse

Zusätzlich ermöglichen wir einfachen Zugriff auf unsere Guidelines über unser API Portal. So können API-Konsument*innen direkt sehen, dass wir beim API Design nach einem Standard arbeiten und Wert auf Qualität legen.

Der Effekt

Nach mittlerweile über zwei Jahren mit etablierten API Guidelines können wir aus unserer Erfahrung sagen: API Guidelines SIND eine coole Sache! Immer mehr Teams sehen die Vorteile der Nutzung eines Standards, weil sie sich an etwas Vorhandenem bedienen können, statt Zeit aufzuwenden und sich selbst Gedanken zu machen. Gerade API Konsument*innen fordern nach API Guidelines entwickelte APIs explizit an, damit der Reibungsverlust bei der Einarbeitung nicht zu hoch ist.
Hochwertige, langlebige und vorhersagbare APIs sind wichtiger denn je und machen API Guidelines für uns unverzichtbar.

Sharing is caring

Ihr habt’s bis hierher geschafft und fragt euch jetzt: Wo finde ich die OTTO API Guidelines? Wir haben sie in einem öffentlichen GitHub Projekt abgelegt und sie sind im API Portal verfügbar. Ihr seid eingeladen, die API Guidelines als Standard für eure eigene API-Entwicklung zu verwenden und wir ermutigen euch, daran mitzuarbeiten, mit uns in den Austausch zu gehen und Feedback zu geben. Vielleicht helfen auch euch die Guidelines in eurem täglichen API Business und auf dem Weg zu konsistenten APIs.

Möchtest du Teil des Teams werden?

7 Personen gefällt das

1Kommentar

  • Franz Laage
    13.11.2023 11:12 Uhr

    Cool, zu sehen, wie reif die API Guidelines mittlerweile sind! Nit-pick: Auf Mobile ist es ziemlich schwierig, zwischen den einzelnen Sektionen zu navigieren. Links zur vorherigen und nächsten Sektion am Ende jeder Seite wäre vielleicht hilfreich.

Dein Kommentar
Antwort auf:  Direkt auf das Thema antworten

Geschrieben von

Birgit Bader
Birgit Bader
Senior Technical Writer

Ähnliche Beiträge

We want to improve out content with your feedback.

How interesting is this blogpost?

We have received your feedback.

Cookies erlauben?

OTTO und drei Partner brauchen deine Einwilligung (Klick auf "OK") bei einzelnen Datennutzungen, um Informationen auf einem Gerät zu speichern und/oder abzurufen (IP-Adresse, Nutzer-ID, Browser-Informationen).
Die Datennutzung erfolgt für personalisierte Anzeigen und Inhalte, Anzeigen- und Inhaltsmessungen sowie um Erkenntnisse über Zielgruppen und Produktentwicklungen zu gewinnen. Mehr Infos zur Einwilligung gibt’s jederzeit hier. Mit Klick auf den Link "Cookies ablehnen" kannst du deine Einwilligung jederzeit ablehnen.

Datennutzungen

OTTO arbeitet mit Partnern zusammen, die von deinem Endgerät abgerufene Daten (Trackingdaten) auch zu eigenen Zwecken (z.B. Profilbildungen) / zu Zwecken Dritter verarbeiten. Vor diesem Hintergrund erfordert nicht nur die Erhebung der Trackingdaten, sondern auch deren Weiterverarbeitung durch diese Anbieter einer Einwilligung. Die Trackingdaten werden erst dann erhoben, wenn du auf den in dem Banner auf otto.de wiedergebenden Button „OK” klickst. Bei den Partnern handelt es sich um die folgenden Unternehmen:
Google Inc., Meta Platforms Ireland Limited, elbwalker GmbH
Weitere Informationen zu den Datenverarbeitungen durch diese Partner findest du in der Datenschutzerklärung auf otto.de/jobs. Die Informationen sind außerdem über einen Link in dem Banner abrufbar.