Wie entsteht ein Plugin?

Von der Idee zur fertigen Erweiterung – Unsere Plugin-Entwicklung in fünf Schritten

Wahrscheinlich kennen Sie sie bereits: Plugins. Kleine Programme, die Sie in eine andere Software integrieren, um diese um eine ganz bestimmte Funktion zu erweitern. 

Auch wir entwickeln solche Erweiterungen, um Ihnen eine simple Möglichkeit zur Verfügung zu stellen, unsere Dienstleistungen in Drittanbieter-Software einzubinden. So können Sie sich ganz auf Ihr eigentliches Vorhaben konzentrieren und werden nicht dadurch abgelenkt, sich separat noch auf unserer Seite einloggen zu müssen. Ihr Erlebnis wird unkomplizierter und Sie sparen Zeit. Klingt gut? Ist es auch!

Wie wir die kleinen Helferlein entwickeln, möchten wir Ihnen in unserem heutigen Blogpost erzählen. Wir gehen dabei die einzelnen Schritte durch – von der Auswahl der Software bis bin zur Veröffentlichung und erzählen Ihnen zum Schluss noch, was unsere Entwickler wirklich glücklich macht… neben viel gutem Kaffee, natürlich.

Der erste Schritt: Welche Plugins werden gebraucht? 

Welche Plugins entwickelt werden, hängt von mehreren Faktoren ab. Erst einmal werden wir auf unterschiedliche Arten und Weisen auf Plattformen aufmerksam, für die wir Plugins entwickeln. In der Regel ermitteln selbst einen Bedarf in unserem Kundenstamm oder am Markt an sich. Immer wieder werden Erweiterungen und Add-Ons auch durch unsere Kunden angefragt. Unsere Entwickler halten darüber hinaus auf Plattformen wie GitHubReddit und bei Berichten über neue Software im Allgemeinen die Augen offen.

Es kommt außerdem vor, dass uns die Entwickler der Plattform selbst fragen, ob wir ein Modul beisteuern möchten. Gelegentlich entwickeln wir aber auch einfach eine Erweiterung, weil wir die Software selbst so toll finden. Wir denken, dass wir auf diese Art und Weise unseren Kunden eine vielfältige und sinnvolle Auswahl bieten können, die wir immer weiter ausbauen.

Sie wünschen sich, unser Gateway aus einer ganz bestimmten Software heraus nutzen zu können?
Erzählen Sie uns davon!

Der zweite Schritt: Formalitäten, Prototypen, Arbeitsaufwand

Es wird Sie nicht verwundern: Nicht ausnahmslos jede Plattform die angefragt wird, erhält am Ende auch tatsächlich ein Add-On von uns. Zunächst prüft der zuständige Entwickler den Aufwand und baut gegebenenfalls einen Prototypen. Danach wird der Aufwand gegen den Nutzen abgewägt. Eine Plugin-Entwicklung kann beispielsweise dann sehr aufwendig sein, wenn im Vorfeld Lizenzen erworben werden müssen oder wenige oder keine Richtlinien zur Entwicklung der Erweiterung vorgegeben sind. Ein solche Erweiterung muss also einen größeren Nutzen für uns bieten, als eine solche, die schnell und leicht zu programmieren ist. Überwiegt der Nutzen, kann die eigentliche Plugin-Entwicklung losgehen.

Wie lange es dauert, eine solche Erweiterung zu entwickeln, ist übrigens von Software zu Software stark unterschiedlich. Wie lang dieser Zeitraum ist, wird von verschiedenen Faktoren bestimmt, beispielsweise von der Dokumentation der Software, dem Umfang der Erweiterung und der Kommunikation der Verantwortlichen auf der Seite der Softwarehersteller. Eines unserer Plugins wurde zum Beispiel in einer knappen Stunde entwickelt. Andererseits kann es auch vorkommen, dass Module wegen der oben genannten Faktoren mehrere Wochen in der Entwicklung hängen oder nicht freigegeben werden können.

Der dritte Schritt: Die eigentliche Plugin-Entwicklung

Zum Ablauf der eigentlichen Entwicklung sagt unser Entwickler André Folgendes: „Ich schaue erst einmal nach, ob die Plattform bereits Software Development Kits anbietet, welche meine Arbeit erleichtern. Das erhöht zwar anfangs den Aufwand, zahlt sich auf lange Sicht aber immer aus. Ich schaue außerdem, wie ich duplizierten Code vermeiden kann. Neulich erst brauchte ich unsere geteilten Inbound-Nummern in mehreren Projekten. Statt diese fest in den Codestamm zu verankern, veröffentliche ich es lieber als zentrales Paket. Verändern sich unsere Nummern, muss ich nur das Mutterpaket ändern und die Versionen in den Kinderpaketen nachziehen. Man könnte sagen, dass sich daraus ein einzelner ‚single point of truth‘ ergibt.“

Damit alles gut funktioniert, wird die Erweiterung natürlich auch schon während der Entwicklung getestet. Ist André zufrieden, folgen noch einige letzte Tests. „Für viele Plugins werden automatische Software-Tests erstellt. Diese sind zwar aufwendig, machen spätere Veränderungen aber sicherer. Manchmal werden auch Browser-Tests durchgeführt. Hier wird eine Browserinstanz mit Vorgängen gefüttert, die die Bedienung eines Benutzers simuliert.“

Das Software-Testing kann aufwändig und repetitiv sein, gehört aber zu Andrés Lieblingsaufgaben. „Es gibt mir die Sicherheit, bei zukünftigen Aktualisierungen keine Nebeneffekte auszulösen. Ich stelle sicher, dass eine neu gewonnene Funktion nicht bereits vorhandene Funktionen beeinträchtigt“, sagt er.

Plugin development requires a lot of flexible and well structured work

Die Entwicklung von Erweiterungen erfordert gute Planung, aber auch Flexibilität

Am beliebtesten sind unsere Erweiterungen für:

eCommerce-Lösungen

Automatisierungs-Software

Kollaborations- und Helpdesk-Software

Der vierte Schritt: Die Veröffentlichung und der Gebrauch durch unsere Kunden

Wenn alle Test bestanden wurden, ist unser Plugin bereit für die Veröffentlichung. Unsere Entwickler schauen dann nach Möglichkeiten zur Distribution. In manchen Fällen wird das Modul beispielsweise direkt in der App-Bibliothek der Software angeboten. Im Idealfall richten wir außerdem eine Demo ein, die Interessierte ansehen können. Demos stehen aber auch unserem Support zur Verfügung, um unseren Kunden bei Fragen so effektiv wie möglich helfen zu können.

Während der Entwicklungszeit schaut übrigens das Content Management nach, was in der Entwicklung ist und fängt an, eine Seite für das jeweilige Plugin zusammenzustellen. Diese wird dann nach Veröffentlichung auf unserer Integrationsseite hochgeladen, damit Kunden einen Überblick darüber erhalten, in welche Software sie unseren Service bereits unkompliziert integrieren können.

Dann ist es endlich soweit: Unser Plugin steht Ihnen zur Verfügung. In den ersten Tagen nach der Veröffentlichung geht häufig das meiste Feedback ein, das wir, je nach Dringlichkeit, so zeitnah wie möglich umsetzen.

Der fünfte, sechste, siebte Schritt: Die Wartungsarbeiten

Wenn das Plugin veröffentlicht und in Gebrauch ist, ist die Arbeit unserer Entwickler aber noch nicht beendet. Die meisten Erweiterungen müssen regelmäßig gewartet werden, um ihre Sicherheit und Funktionalitäten zu gewährleisten. Updates in der Software können unter Umständen zu Fehlfunktionen führen. Daher müssen unsere Entwickler immer auf dem neusten Stand bleiben und werden über Mailing-Listen der Softwarehersteller über anstehende Updates benachrichtigt und informieren sich auf GitHub oder Reddit über Updates. Wird ein Update angekündigt, passen sie die Erweiterungen auf die neuste Version der Software an. So ist die Arbeit an einem Plugin eigentlich niemals mit der Veröffentlichung abgeschlossen.

Die Herausforderungen und die positiven Beispiele

Wie in der Einleitung versprochen: Wir haben André gefragt, was ihm in der Plugin-Entwicklung besonders gut gefällt und was ihn am meisten stört.

Frustrierend ist es, wie in den vorherigen Punkten sicher schon deutlich wurde, wenn die Dokumentation der Plattform, für die wir ein Plugin entwicklen, veraltet oder unvollständig ist oder es erst gar keine Dokumentation gibt. Der letzte Punkt kommt glücklicherweise nur sehr selten vor. Durch lückenhafte Dokumentationen verlängert sich die Arbeitszeit unnötig und die Suche nach Fehlern wird deutlich erschwert. Ein richtiger Flow kommt hier in der Entwicklung nicht auf.

Besonders viel Spaß macht die Plugin-Entwicklung hingegen, wenn die Voraussetzungen anders herum sind. André sagte auf die Frage nach seinem Lieblingsmodul: „Das Shopify-Plugin* ist schon ziemlich gut zu integrieren, da es hervorragende Bibliotheken für JavaScript hat und diese auch astrein dokumentiert sind. Die Entwicklung hat mir wahrscheinlich bisher am meisten Spaß gemacht. Aus der Architektur von Shopify ergibt sich aber gleichzeitig auch der größte Nachteil: Die Serverseite läuft auf unserer Infrastruktur. Dadurch habe ich deutlich mehr Wartungsaufwand als bei konventionellen Plugins.“

*Unser Shopify-Plugin befindet sich zurzeit in Überarbeitung (Stand Februar 2023). Sobald es wieder verfügbar ist, werden wir es hier erneut verlinken.

Viele beeinflussende Faktoren

Es sind also einige Arbeitsschritte, die von der Idee bis zum fertigen Plugin absolviert werden müssen. Der Erfolg der Plugin-Entwicklung wird außerdem von vielen verschiedenen Faktoren beeinflusst. 

Finden wir eine Erweiterung, dessen Nutzen den Aufwand übersteigt, wird seine Entwicklung geplant. Dabei ist besonders wichtig, wie gut die Dokumentation der Hersteller ist. Je nachdem wie aufwendig die Entwicklung ist, können von der Idee bis zum fertigen Modul nur wenige Stunden vergehen. Gestaltet sich die Entwicklung schwierig, kann es selten auch einmal mehrere Wochen dauern, bis alles klappt. Wir freuen uns aber immer, wenn ein neues Plugin einsatzbereit ist. Sie können sich sicher sein: Wir arbeiten immer weiter daran, unsere Integrationsmöglichkeiten für Sie auszubauen.

Haben Sie noch Fragen zu unseren Integrationen, Plugins oder Clients? Wir freuen uns über Ihre Nachricht. 

Mit besten Grüßen
Ihr seven Team

Headerbild von kreatikar auf pixabay.com, Farben verändert.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Fill out this field
Fill out this field
Bitte gib eine gültige E-Mail-Adresse ein.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.