Vom Kundenwunsch zum Quellcode. 10 Fragen an unseren Plugin-Entwickler Andre Peiffer.

broken

Wie übersetzt man Kundenanforderungen in Quellcode? Was sind die Herausforderungen dabei? Und gibt es etwas, das einen WordPress-Entwickler aus der Fassung bringen kann? Wir fragten Andre Peiffer, bei MarketPress unter anderem verantwortlich für das Plugin WooCommerce German Market (WGM).

Bei großen Änderungen – etwa bei der Umsetzung des neuen Verbraucherrechts in WGM – müssen unsere Kunden ab und an viel Geduld mitbringen. Warum ist es so schwierig und auch langwierig, „Business“-Fälle in Programmierung zu übertragen?

Das liegt vor allem an der Komplexität, die WooCommerce mittlerweile erreicht hat. Alleine die Auswirkungen einzelner Änderungen auf WooCommerce zu überprüfen und Lösungswege zu finden, die sich gleichzeitig nicht negativ auf andere Funktionalitäten auswirken, das dauert. Danach folgen die erste Umsetzung, Testphasen, ein oder mehrere Release Candidates, erneute Tests und schließlich das endgültige Release. Anders könnten wir dies weder von den Ressourcen noch von der Vielschichtigkeit her stemmen, um einen möglichst reibungsfreien Betrieb für alle Nutzer und Anwendungsfälle zu gewährleisten.

Vor der Version 2.0 von WooCommerce und WGM war der Aufwand noch niedriger, da es weniger inkompatible Prozesse gab, die aufeinander abgestimmt werden mussten. Bei anderen Anpassungen handelt es nicht selten um Problemfälle einzelner Kunden, etwa aufgrund spezieller Plugin-Konstellationen. Als Entwickler muss ich jedoch stets das Gesamtbild vor Augen haben: Die Anpassung darf dann nicht dazu führen, dass an anderer Stelle im Code ungewollte Nebeneffekte auftreten. Ich muss alle Eventualitäten ausschließen, was ebenfalls großen Aufwand mit sich bringt.

Nicht zuletzt führen unklare oder sehr allgemein gehaltene Problembeschreibungen zu Verzögerungen. Der Kunde sieht einen Fehler, weiß jedoch nicht, was dessen Behebung für die beteiligten Plugins oder für WooCommerce bedeutet. Bei einigen wenigen sehr speziellen Wechselwirkungen – vor allem mit Dritt-Plugins – ist eine technische Lösung vom Aufwand her aber auch schlicht nicht tragbar, weil komplette Prozesse umgeschrieben werden müssten, was wiederum die Stabilität oder Zukunftssicherheit der Gesamtlösung gefährdet. Dann muss man versuchen, einen Workaround zu finden.
 
Kannst du ein Beispiel benennen, das aus Anwendersicht einfach umzusetzen scheint, aber große Auswirkungen auf die Programmierung und mögliche Wechselwirkungen hat?

Einige Nutzer von WooCommerce bzw. WGM wünschen sich schon seit längerem die Funktion „Preis pro Einheit“ für variable Produkte. Das sieht vermeintlich nach einem kleinen Feature aus, würde jedoch technisch gesehen fast einem neuen Produkt bzw. Plugin entsprechen, zu sehr muss man bei der Lösung in die Kernprozesse von WooCommerce eingreifen. Und dies vor dem Hintergrund der Gefahr, dass bei einer neuen Version von WooCommerce alles nicht mehr funktionieren würde. Kurz: Eine Implementierung ist nicht nur technisch extrem aufwendig, sie ist auch risikoreich. Zudem ist nicht ganz klar, was dies für die bisherigen Funktionen von WGM bedeuten würden. Wir arbeiten aber nach wie vor an einer „verträglicheren“ Variante, um das Problem einiger Kunden zu lösen.
 
WGM setzt auf WooCommerce auf. In wie weit verkompliziert dies die fortlaufende Wartung des Plugins? Mit welchen Herausforderungen hast du zu kämpfen, wenn WooThemes eine neue Version seiner eCommmerce-Erweiterung herausbringt?

WooCommerce wird ständig weiterentwickelt. Dem fallen manchmal selbst seit längerem bestehende interne Strukturen und Systeme zum Opfer, und das kurzfristig. Das hat auch mit der grundsätzlichen Template-Architektur von WooCommerce zu tun. Darauf zu reagieren wird schnell zu einem sehr komplexen Projekt, selbst wenn die Änderungen für den Nutzer marginal erscheinen. Dann muss man sich immer wieder von neuem in die Untiefen des Plugins einarbeiten, da WGM tief in die Struktur eingreift. All das geht nicht rein über eine API (Programmierschnittstelle) und ist damit zeitintensiv.
 
Ganz ehrlich: Fluchst du nicht manchmal innerlich, wenn es einem Kunden nicht schnell genug geht, obwohl du Tag und Nacht am Bugfixing sitzt? Wie gehst du persönlich mit solcher Kritik um?

Ich habe ja zum Glück den Support als Puffer zwischen mir und dem Kunden. Die machen einen tollen Job. Ansonsten: Solange die Kritik nicht persönlich wird, was leider auch vorkommt, kann ich gut damit umgehen. Persönliche Kritik demotiviert, da wir alle täglich unser Bestes geben. Ich verstehe den Kunden ja auch, wenn ihm ein Problem unter den Nägeln brennt oder wenn sein Shop nicht funktioniert, ganz unabhängig davon, ob die Ursache bei unserem Plugin liegt oder nicht. Die Nutzer kennen die Hintergründe nicht und sind deswegen ungeduldig oder verärgert.

Fehler lassen sich durch den Druck jedoch auch nicht schneller beheben. Wie erläutert, müssen wir einen bestimmten Prozess einhalten, um den Betrieb für andere Kunden gewährleisten zu können. Wo es geht, veröffentlichen wir Zwischen-Releases, in dringenden Fällen auch einmal „persönliche“ Hotfixes für besonders drängende Probleme. Das ist – ebenfalls aufgrund der Abhängigkeit von WooCommerce und Drittanbietern – jedoch technisch leider nicht immer möglich.
 
Wie läuft die Abstimmung mit den Entwicklern von WooCommerce ab? Sind diese überhaupt interessiert daran, ein „kleines“ Tool aus Deutschland zügig und umfassend zu unterstützen?

Es gibt keinen offiziellen direkten Abstimmungsweg bei WooThemes. Der Kontakt läuft hauptsächlich über Pull Requests auf GitHub, also über ganz normale Tickets. Das funktioniert meist auch sehr zügig, ist effizient, und hilft auch anderen Entwicklern weiter. Bei besonderen Problemen nutze ich ab und an auch den direkten Kontakt mit Woo-Entwicklern, via E-Mail.

Wir bekommen nicht zu spüren, dass wir ein kleinerer Anbieter sind, oder dass unser Plugin nicht in der Extensions-Bibliothek von WooThemes gelistet ist. Das Verhältnis ist freundschaftlich, auch wenn es früher – als WooCommerce noch nicht so umfangreich war – einen intensiveren Austausch gab. Wir bringen ja auch allgemeine Hinweise mit in das Projekt ein, oder geben Feedback bezogen auf Features, die für die Anwendungsfälle unserer Kunden relevant sind.
 
Wie gestaltest du generell den Blick über den Tellerrand, tauschst du dich mit anderen Entwicklern aus, etwa was mögliche Lösungswege bei WGM und anderen Plugins anbelangt?

Das ist schwierig, da es nicht viele Entwickler außerhalb von WooCommerce gibt, die sich mit dem ja doch speziellen Lösungsspektrum von WGM beschäftigen. Ich lese viel Quellcode, um am Ball zu bleiben. Außerdem tausche ich mich natürlich regelmäßig mit den anderen Entwicklern im MarketPress- und Inpsyde-Team aus.
 
Beobachtest du in diesem Zusammenhang ein zunehmendes Konkurrenzdenken in der Open-Source-Entwicklergemeinde? Jeder muss und möchte ja auch sehen, wo er geschäftlich bleibt…

Das würde ich so nicht sagen. Die Open-Source-Entwicklergemeinde war schon immer sehr offen, man unterstützt sich gegenseitig. Lediglich wenn es mehrere Plugins gibt, welche dieselben Features bzw. dieselben Zielgruppen haben, dann spürt man ab und zu ein leichtes „sich Behaken“. Aber das kommt nur sehr selten vor.

Es gibt auch wenig absolute Einzelkämpfer in der Szene. Und wenn, dann hat dies meist inhaltliche Gründe, etwa bei sehr speziellen Nischen-Lösungen, mit denen sich sonst niemand befasst. Wir ziehen alle an einem Strang. Jeder steuert in irgendeiner Form Code dazu, und jedem ist klar, dass man irgendwie sein Geld verdienen muss.
 
eCommerce erlebt hierzulande gerade einen deutlichen Aufschwung, vor allem im WordPress-Umfeld. Immer mehr kleine Shops gehen an den Start. Wie siehst du als Entwickler diesen „Hype“? Welche Chancen aber auch Herausforderungen bringt er mit sich?

Im Bezug auf WooCommerce sind mehr Anwender positiv zu sehen. Es bedeutet, dass mehr getestet wird, aber auch dass neue Ideen eingebracht werden. Der Nachteil: Nicht jeder dieser neuen Shop-Betreiber sieht sich als Teil der Community. Die Gewichtung zwischen Unterstützern und reinen Anwendern verschiebt sich, aber das ist bei jedem erfolgreichen Open-Source-Projekt so. Von Nebeneffekten – wie dem verstärkten Bug-Reporting – profitieren zudem alle.
 
Wie siehst du die Zukunft von WordPress, gerade im Zusammenspiel mit WooCommerce und WooCommerce German Market? Worauf hoffst du, auf welche Entwicklungen freust du dich, was fehlt hingegen noch?

Andre Pfeiffer
Andre Pfeiffer
WordPress ist längst aus den Kinderschuhen herausgewachsen und zu einem vollwertigen CMS geworden. Es könnte meiner Meinung nach jedoch nicht schaden, den „alten“ Code an manchen Stelle zu bereinigen, selbst wenn dabei die eine oder andere Extension verloren geht. Auch WooCommerce hat eine erstaunliche Entwicklung hinter sich. Um ehrlich zu sein, zu Beginn dachte ich noch: „Es gibt bessere Systeme um einen Onlineshop zu betreiben, als WordPress“. Aber die WooCommerce-Nutzer und deren Projekte haben das Gegenteil bewiesen.

Zudem hat ein Shop auf WordPress-Basis natürlich einige Vorteile: Sehr vielen Anwendern ist die Bedienung von WordPress vertraut, dann finden sie sich auch schnell in WooCommerce zurecht. In Zukunft wird es wahrscheinlich mehr Shop-Alternativen auf WordPress-Basis geben. Der Erfolg von WooCommerce dürfte dazu führen, dass sich auch andere Anbieter auf dem Markt versuchen. Das sehe ich durchaus positiv, ein Monopol ist für den Verbraucher nie gut.

WooCommerce German Market in der Version 3.0 wird eine komplett neue Architektur mit sich bringen. Davon erhoffen wir uns eine bessere Modularisierung, so dass wir flexibler auf Änderungen bei WooCommerce oder bei den Anforderungen unserer Kunden reagieren können. Es wird zudem besser zu warten sein und neue Zusatz-Features ermöglichen.
 
Wodurch gelingt es dir, nach Feierabend abzuschalten, und nicht in Strings und Queries zu denken?

Ich habe aufgehört, in der Freizeit zu programmieren, nachdem ich einst mein Hobby zum Beruf gemacht habe. Sonst würde ich möglicherweise die Lust daran verlieren. Nur noch ab und an setze ich kleine private Projekte um. Und ich mache Musik, ich spiele (E-) Gitarre. Das hilft mir, den Kopf freizubekommen.

Vielen Dank an Andre für seinen Blick hinter die Entwickler-Kulissen. Ihr habt Fragen zu seiner Arbeit an WordPress-Plugins? Stellt diese gerne in den Kommentaren.

Beitrag teilen

Author Avatar

Redakteur bei MarketPress. Blogger aus Leidenschaft, Corporate Blog & Content Marketing Trainer, Buchautor (u.a. "Blog Boosting"). Mit-Organisator des WP Camp Berlin.

Auch interessant:

Neue Produktfilter WordPress

Plugins angetestet: WooCommerce Products Filter - Erweiterte Produktfilter

von Michael Firnkes

WooCommerce enthält bereits die wichtigsten Funktionen, damit deine Kunden Produkte nach Preis, Kategorie etc. filtern können. Wem diese Möglichkeiten n ...

Weiterlesen
youtube

Neu: Video-Tutorials für German Market

von Michael Firnkes

Du willst wissen, wie sich die einzelnen Module in unserer Rechtssicherheits-Suite German Market für WooCommerce bedienen lassen? Dann helfen wir dir jetz ...

Weiterlesen
woonews20

WooCommerce Wochenrückblick #20: Conversion, Produktkonfigurator und Woo-Argumente

von Michael Firnkes

Wir sammeln Argumente für das führende Onlineshop-System und für Open Source. Und: Einen Produktkonfigurator kannst du auch mit WooCommerce umsetzen. Di ...

Weiterlesen
cyberblog

Cyber Monday Wochenende: 50 % Rabatt auf German Market und unsere Themes

von Michael Firnkes

Rechnungserstellung, Anbindung an deine Buchhaltung, neue Benutzeroberfläche und vieles mehr: Unsere Rechtssicherheits-Suite German Market für WooCommerc ...

Weiterlesen

Kommentare

Schreibe einen Kommentar

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

Du kannst folgende HTML Tags verwenden: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">