p.blog
Unternehmenskultur, Softwareentwicklung und Architektur

16. Dezember 2020

Wir spielen API – API-Management zum Anfassen

6 Minuten Lesedauer

Eine kleine Anmerkung vorweg: Das Event in diesem Blogeintrag liegt schon eine ganze Weile in der Vergangenheit. Die Bilder zeigen eine Realität, wie wir sie zum derzeitigen Zeitpunkt leider nicht leben können, da wir der aktuellen Pandemie entsprechend klare Kontaktbeschränkungen vorgeben und leben. Und jetzt zum eigentlichen Thema:

“We love APIs.” – Das ist einer unserer Leitsätze bei pentacor. Das bedeutet für uns vor allem zwei Dinge:

  • Wir sind mit Leidenschaft und Spaß bei der Sache.

  • Wir möchten, dass jeder Pentacornese ein Verständnis von APIs und API-Management hat und darüber Auskunft geben kann.

Es mag für ein IT-Consulting-Unternehmen, das sich auf Cloud-Anwendungen spezialisiert, eigenartig erscheinen sich das eigene Kerngeschäft in einem besonderen Event ganz gezielt näherzubringen. APIs sind schließlich Grundvoraussetzung von Cloud-Anwendungen und elementarer Bestandteil der Arbeit. Stimmt, volle Zustimmung. Aber: Wenn wir sagen “jeder Pentacornese …”, dann meinen wir wirklich jeden Pentacornesen in unserem bunten Haufen.

 

Zielgruppe

Zu dieser Zielgruppe gehören an erster Stelle unsere lieben Backoffice-Kolleginnen, die am liebsten weit weg von diesem ganzen Technik-Kram bleiben. Mit unseren Stundenabrechnungen, der Frühstücks- und Getränkeversorgung, Organisation von Reisen und Events, Bestellungen, Marketing, Unterstützung bei der Vorbereitung von Rollenspielen und all den unzähligen anderen Dingen, die uns die Arbeit und das Leben angenehm machen, haben sie ja mehr als genug zu tun. Sie sind immer mit dabei, wenn wir durch die API-Welt reisen – und bevor wir sie abhängen, wollten wir sie lieber abholen, um uns zu begleiten.

Mit an Bord sind daneben die jüngeren Kollegen, die vielleicht frisch von der Uni kommen oder sogar noch studieren und entsprechend auf der einen Seite viele neue Impulse im Gepäck haben, anderseits mit vielen Themen, die uns begeistern und bewegen, bisher kaum oder gar keinen Kontakt hatten. Auch sie sollen fit gemacht werden, um früher oder später das Steuer übernehmen zu können.

Der erste Schritt dabei ist die Implementierung von APIs. Legt man seinen persönlichen Fokus auf die Entwicklung, kommt man mit vielen Komponenten des API-Managements in intensiven Kontakt, ist sich dessen aber manchmal gar nicht so bewusst und erkennt das große Ganze und seine Zusammenhänge vielleicht nicht.

Auch wer fließend API spricht, im API-Management zu Hause ist und den ganzen Tag fast nichts anderes macht, wird trotzdem immer wieder an Punkte gelangen, die nicht ganz klar sind. Viele Wege führen zum Ziel – auf jeder Reise müssen sie neu gewählt werden. Da tut ein Perspektivwechsel gut!

Eines ist ganz klar: APIs, API-Management … Das ist ein weites Feld! Und alle Pentacornesen starten mit verschiedenen Voraussetzungen. Wie können wir also gemeinschaftlich an einem [gemeinsamen] Bild arbeiten und dabei jeden gleichermaßen in die Diskussion einbeziehen? Eine Metapher muss her! Wir müssen API-Management aus seinem Bedeutungszusammenhang holen und in einen anderen übertragen, wir brauchen ein Bild und müssen das Ganze spielerisch angehen.

Wir spielen. Mit Rollen. Wir machen ein Rollenspiel. Wir spielen API!

 

Rollenspiel in der Praxis – über Vorbereitung und Realisierung

Ein Szenario muss her, wir brauchen ein Drehbuch und eine Handlung, Rollen, Daten und Funktionen. Und dann sollte es am besten auch noch jedem von uns bestens vertraut sein …

Lange brauchten wir jedoch nicht zu suchen – ein Thema, das uns alle verbindet und auf unterschiedliche Weise betrifft, war schnell gefunden: Zeiterfassung, Stundenbuchung, Leistungsnachweise. Wir erfassen unsere Arbeitszeit und buchen Stunden für Projekte und interne Aufgaben, zum Ende des Monats muss das fertig sein, Kunden interessieren sich für ihr Projekt-Budget, Leistungsnachweise und Rechnungen wollen erstellt werden. So ganz reibungslos läuft das eigentlich nie, irgendwas geht immer schief, irgendwer bucht immer falsch, übermittelt seine Stunden zu spät oder erst auf Nachfrage. Es ist alles fast so wie im wahren API-Leben – ideale Voraussetzungen, um es nachzuspielen!

Der Kontext ist abgesteckt. Was brauchen wir nun für eine API? Wir brauchen Daten, eine Funktionalität und jemanden, der sich dafür interessiert. Gebuchte Stunden sind unsere Daten, abgelegt im Zeiterfassungs-Tool als “Datenbank” oder “Backend-System”, vor das wir unsere API “Anke” stellen. Los geht’s!

Über mehrere Wochen hinweg treffen wir uns immer wieder, um Szenarien für das Rollenspiel durchzusprechen und vorzubereiten. Vom ursprünglichen Plan, Ankes Arbeit in der Offline-Welt in die API-Welt zu übertragen, sind wir dabei schnell abgerückt. Hilfe, war das kompliziert, auch ganz ohne in die Tiefen des API-Managements abzutauchen. Buchhaltung werden wir so schnell nicht verstehen, konzentrieren wir uns lieber auf unsere vertraute Welt der APIs mit einem ganz simplen Use Case: “Ich möchte bitte die Stunden für Projekt X im Monat Y haben. Vielen Dank!”

Was soll da schon schief gehen?

Oh, so einiges!

Stundenzettel werden falsch ausgefüllt, Abrechnungen für fremde Projekte werden abgefragt, oder immer wieder kommt jemand, der nicht so richtig weiß, was er eigentlich will. Wenn alles gut läuft, schreibt Anke eine Stundenabrechnung und sagt “200 OK”, immer öfter muss sie jedoch auch sagen “401, ich kenne dich nicht” und “403, das darfst du nicht”. Es ist nur eine Frage der Zeit bis es auch mal heißt “500, mein Kaffee ist alle.”

Nach und nach betreten also ein Türsteher (Gateway), Security (Authorization Server), Personenkontrolle (Identity Provider), Türsteher-Gehirn (API-Management-Backend), ein böser Bot und Hacker (stellvertretend für alle unauthorisierten Zugriffe) und weitere die Bühne (Consumer Portal, Reporting, Client Apps, End User). Beobachteten anfangs noch (fast) alle das Treiben aus der oberen Etage, sind später alle mittendrin statt nur dabei. Die Sofortbildkamera surrt, wenn Passier- und Darfscheine ausgestellt werden, Sauklauen (Schlüssel) werden ausgetauscht und immer wieder API-Spezifikationen kopiert, verteilt und angepasst. In all dem bunten Treiben hüpft Chrizzy, unser General Care Taker (Monitoring) umher und fragt, wie es so geht (“Geht’s dir gut? … Aha!” – Alarming kommt erst noch).

Was für ein Durcheinander!

Drei Stunden lang spielen wir im Grunde immer wieder die gleichen Abläufe, jedes Mal mit kleinen Ergänzungen und Modifikationen. Auf dem Plan stehen mehr als ein Dutzend Szenarien, und Köpfe und Backlog sind voller weiterer Ideen.

Bei der Vorbereitung und Verteilung der Rollen haben wir versucht, jedem Charakter eine passende Rolle zuzuweisen, mit der sie oder er sich identifizieren kann. Schon dabei haben wir uns ausgemalt, wie er oder sie die Rolle ausfüllen und spielen könnte. Was hatten wir allein damit für einen Spaß! (An dieser Stelle möchten wir uns in aller Form für das Lachen aus dem Konferenzraum und die eventuell entstandenen Unannehmlichkeiten entschuldigen! Spaß bei der Arbeit – das wird nicht wieder vorkommen!)

Dann zu sehen, dass es auch genauso umgesetzt und ausgeführt wird, wie wir uns das vorher ausgemalt haben, ohne irgendwelche Vorgaben dahingehend zu machen, ist der größte Lohn für all den Aufwand der Vorbereitung! Doch hat es sich auch sonst gelohnt?

 

Fazit und Feedback

Auf jeden Fall! Schon im Vorfeld des Aufführungstermins waren alle sehr gespannt und voller Vorfreude und dann später mit vollem Eifer dabei. Die eine oder andere Überraschung war ja auch mit eingebaut. Mit Sicherheit war das ein lehrreicher Vormittag der etwas anderen Art! Doch was hat es gebracht?

Grundtenor: verständlich, logisch, gut, super vorbereitet und es hat Spaß gemacht.

Sowohl die API-Muttersprachler als auch die Einsteiger haben so einiges Neues aus dem Rollenspiel mitgenommen und konnten ihr Verständnis von API-Management vertiefen und vor allem auch spielerisch mit viel Humor auf die Probe stellen. Selbst denen, die mit dem Thema vertraut sind, wurde deutlich vor Augen geführt, was alles dazugehört, um eine Anfrage zum richtigen Service zu leiten, und was alles noch so nebenbei und gleichzeitig passiert – ein Aspekt, den man doch leicht aus den Augen verlieren kann.

Zusammenhänge gemeinsam auszuprobieren und zu verstehen, Berührungsängste abzubauen, einen Überblick zu gewinnnen, standen im Fokus und dieses Ziel haben wir wohl auch erreicht.

In anderen Worten (O-Ton): “Ich konnte meiner Mutti erklären, womit wir uns beschäftigen. Und sie hat es auch verstanden, denke ich.

 

Rollenspiel als Methode

Ohne dass es unbedingt im Mittelpunkt gestanden hätte, haben wir praktisch nebenbei auch noch eine Methode für Workshops und Diskussionen für uns erprobt. Wir haben für uns entdeckt, dass die Veranschaulichung und Abstraktion von komplexen Themen unglaublich wichtig ist und in Form eines Rollenspiels super funktionieren kann und gleichzeitig ein echtes Team-Event ist. Eine Rolle einzunehmen sorgt für einen Perspektivwechsel, der frischen Wind in den thematischen Austausch bringt und die Interaktion mit den anderen in einer Spielwelt macht ungeheuer viel Spaß.

Werden wir uns wieder mal zum Rollenspiel treffen? Bestimmt: “Das war total geil! Ich würde es definitiv wieder machen!” Regelmäßig und im großen Stil bedeutet ein Rollenspiel aber sehr viel Aufwand und ist daher nicht ideal in speziellen Kontexten und im kleineren Kreis. Mit Fokus sehen wir es als tolle Methode!

Natürlich muss die Zielgruppe aufgeschlossen dafür sein, sich ein Thema auf diese Weise zu erschließen. Ein großes und komplexes Szenario (wie APIs) kann schnell überfordern und dafür sorgen, dass die Teilnehmer den Überblick verlieren, insbesondere wenn sie selbst eine Rolle innehaben und aktiv am Geschehen teilhaben. Wer lange zuschauen und beobachten kann, ist hier klar im Vorteil.

Das Feedback hat uns dennoch gezeigt, dass alle Beteiligten, unabhängig von ihren individuellen Ausgangspunkten, mindestens ein Grundverständnis gewinnen konnten. Der erste Schritt für weitere Entdeckungen ist damit getan.

 

Was danach geschah

Immer wieder haben wir Pausen eingelegt, um das Gesehene und Gespielte technisch einzuordnen. Dabei kamen in den Details schnell Fragen und Klärungsbedarf auf, dem wir in einer weiteren, technisch fokussierteren Runde begegnen wollten.

So sah der ursprüngliche Plan (eigentlich) vor, an einem zweiten Tag nach kurzer Zusammenfassung und Einordnung einen Schritt weiter und technisch mehr ins Detail zu gehen. Verschiedene OAuth-Flows hätten gespielt werden können – oder Konstellationen aus unseren Projekten. Dazu kam es nicht. Inspiriert von den Eindrücken des Rollenspiels ging die Zusammenfassung nahtlos über in eine angeregte Diskussion zu Einzelheiten des API-Managements. Was gehört alles dazu? Welche Rollen und Funktionalitäten gibt es? Eine ganze Menge, das konnten alle am eigenen Leib erfahren. Und wo passiert eigentlich was? Ist das immer so, muss dass immer so sein? Oder gibt es auch Situationen und Setups, in denen ganz gezielt davon abgewichen wird?

Schnell tauchten wir wieder ganz tief ein – und stellten fest, dass es noch ganz viel mehr zu entdecken gibt. APIs und API-Management … Das ist ein sehr weites Feld!