Möglichkeiten zur Optimierung von Geschäftsprozessen Schnittstellen als zentrales Werkzeug
Ein wesentliches Ziel von IT-Projekten in Organisationen, egal ob gemeinnützig oder gewinnorientiert, ist die Optimierung von Geschäftsprozessen. Das klingt in der Theorie (und in Agenturpräsentationen) immer sehr gut, aber die Umsetzung und der konkrete Anwendungsfall bleiben oft schwammig. In diesem Beitrag präsentieren wir ein tatsächlich bei wegewerk durchgeführtes internes Projekt, das Schnittstellen nutzt, um einen etablierten Datenbestand besser nutzbar zu machen.
Schnittstelle/API - was ist das eigentlich?
Eine Schnittstelle oder API (von Application Programming Interface) ist nichts anderes als ein standardisierter Kontrakt für den Datenaustausch zwischen Anwendungen. In anderen Worten, die Schnittstelle definiert, wie Programme auf Ressourcen anderer Programme zugreifen können und welches Format und welche Struktur diese Daten besitzen. Im Kontext von Webanwendungen sind dabei meist HTTP-basierte Schnittstellen gemeint, die über das Internet bereitgestellt werden.
Ausgangslage
Wenn es um die interne Organisation von Datenbeständen geht, haben viele Unternehmen, Verbände und Institutionen ähnliche Probleme:
- Es liegt eine heterogene und historisch gewachsene IT-Landschaft vor. Jegliche Änderungen daran sind aufwändig und kosten Zeit und Ressourcen.
- Mehrere Tools sind parallel voneinander im Einsatz statt miteinander (möglicherweise gibt es z.B. ein CMS mit der Webseite, ein CRM für das Kund*innenmanagement und zusätzlich Social Media-Konten auf diversen Plattformen).
- Prozesse verlaufen mangels Kommunikation zwischen diesen Tools nur manuell und kosten viel Zeit. Beispielsweise müssen neue Kund*innendaten per Hand in das CMS übertragen werden oder Artikel, die auf Social Media und der Webseite veröffentlicht werden sollen, müssen mehrfach für die Zielumgebung aufbereitet werden.
- Informationen werden nicht strukturiert an einem Ort gebündelt, sondern liegen inkonsistent und verteilt vor.
Wie können APIs hier helfen?
Eine oder mehrere Schnittstellen können helfen, diesen Zustand aufzulösen. Anwendungen können dann direkt miteinander sprechen, ihren Datenbestand abgleichen und dafür sorgen, dass jederzeit ein konsistentes Gesamtsystem vorliegt.
Konzeption der Schnittstelle
Der Konzeptionsphase kommt im Ablauf eines Softwareprojekts eine Schlüsselrolle zu. Bevor auch nur eine einzige Zeile Code geschrieben werden kann, muss das Problem in seiner Gesamtheit durchdrungen und verstanden worden sein. Dafür ist es unabdinglich, die richtigen Fragen zu stellen:
- wo liegen unsere Daten derzeit?
- wenn Daten jetzt schon an mehreren Stellen vorliegen, welche soll dann in Zukunft das führende System sein?
- welche Daten wollen wir überhaupt wie darstellen? Ein neues Projekt ist immer auch ein guter Anlass, Dinge zu hinterfragen, insbesondere in bereits sehr lang bestehenden IT-Landschaften. Gibt es womöglich Ineffizienzen oder Redundanzen, denen bisher keine Beachtung geschenkt wurde?
Konkreter Anwendungsfall
Auf das Wesentliche reduziert: wegewerk setzt Projekte (Webseiten und Anwendungen, meist basiert auf TYPO3 CMS) um und hostet diese auf Servern. Es ist von entscheidender Bedeutung, dass beides dokumentiert und überwacht wird, um jederzeit Informationen über den aktuellen Stand abrufen zu können.
Grundsätzliche Fragen:
- Welche Projekte haben wir?
- Welche Projekte werden wo gehostet?
- Welche Versionen der verschiedenen Softwarekomponenten werden eingesetzt?
Konzeption
Wir haben uns also genau die o.g. Fragen gestellt und sind zu folgendem Ergebnis gekommen.
Wo liegen unsere Daten derzeit?
- Schriftliche Projektdokumentation wird manuell erstellt und steht in einem Wiki.
- Monitoring-Daten (welche Webseiten sind jetzt gerade online) befinden sich in einem externen Tool mit eigener Datenbank.
- einzelne Daten sind gar nicht dokumentiert (welche Versionen von Software sind aktuell)
Wenn Daten jetzt schon an mehreren Stellen vorliegen, welche soll dann in Zukunft das führende System sein?
- Für die reine Dokumentation soll das Wiki bestehen bleiben. Es ermöglicht einen niedrigschwelligen Zugang zu kritischen Informationen für das gesamte Team.
- Monitoring-Daten, die sich automatisiert generieren lassen (also keine menschliche Bearbeitung erfordern), sollen aus dem Wiki verschwinden und nur noch automatisiert angezeigt werden.
- Beide Typen von Informationen sollen an einer Stelle gebündelt werden, die aber eine reine Anzeige sein soll, keine führende Stelle für die Datenhaltung.
Welche Daten wollen wir überhaupt wie darstellen? Wir wollen wissen:
- welche Projekte wir haben
- auf welchem Server diese liegen
- welche Server-Software dort installiert ist (z.B. PHP-Version)
- welche Software das Projekt verwendet
- welche Versionen diese Software hat
Umsetzung
Für die Erfüllung dieser Anforderungen haben wir ein eigenes kleines Tool programmiert. Dieses setzt drei Schnittstellen gleichzeitig ein und bereitet die Daten exakt so auf, wie sie für unseren konkreten Geschäftsprozess benötigt werden:
- Die Schnittstelle zu get.typo3.org/api/doc wird regelmäßig abgerufen, um jederzeit zu wissen, welche Version von TYPO3 CMS gerade aktuell ist.
- Die Schnittstelle zu unserem bestehenden Monitoring wird abgerufen, um eine Gesamtliste aller Projekte zu generieren. Da diese direkt auf Serverdaten basiert, ist diese Liste stets aktuell.
- Die Projekte selbst werden einzeln per Schnittstelle angesprochen, um den aktuell ausgerollten Stand jederzeit in Echtzeit verfügbar zu haben.
-
Die zusammengeführten Ergebnisse wurden in einer Weboberfläche dem gesamten Team zur Verfügung gestellt.
Ergebnis/Fazit
- Das Projekt führte zu einer gemessenen Zeitersparnis von 12 Minuten pro Tag pro Mitarbeiter*in der Digital-Unit, was eine Amortisation von nur 3,5 Wochen bedeutet. Dies zeigt sehr gut, dass Investitionen in eigene Prozesse sich unmittelbar positiv auf die wirtschaftliche Situation auswirken können.
- Ein weniger gut messbarer, aber definitiv vorhandener Effekt war bei den betroffenen Teammitgliedern zu beobachten: manuelle zeitraubende Prozesse wie die Aktualisierung mehrerer Wiki-Seiten fielen weg, was direkt zu einer erhöhten MA-Zufriedenheit führte.
- Die Wartbarkeit wurde erhöht: durch die automatisierte Verarbeitung sind an wesentlichen Stellen manuelle Fehler nicht mehr möglich. Wenn dagegen Fehler in den technischen Prozessen passieren, fallen sie durch Monitoring sofort auf, statt dauerhaft zu inkonsistenten Datenbeständen zu führen.
Gibt es auch bei euch Bedarf nach Optimierungen der Geschäftsprozesse? Gerne beraten wir euch zu den Einsatzmöglichkeiten von APIs und unterstützen bei der Umsetzung.