Bringen wir ein wenig Licht ins Dunkel
Wir versuchen ein paar Fragen zu beantworten, die wir uns selbst gestellt hatten, bevor wir mit Shopify durchgestartet sind.
Kann als Team gearbeitet und auf gewohnte Prozesse wie lokale Entwicklung, Pull Requests und Pipelines zurückgegriffen werden?
Nutzt man die gesamte Shopify Suite (ohne Headless-Setup), ist man im Entwicklungsprozess stark von den Möglichkeiten der Plattform abhängig. Shopify Themes leben in Shopify und das Framework ist stark an die Plattform gebunden. Dank einer CLI, die seinesgleichen sucht und praktischen Features wie der GitHub-Integration ist es möglich einen Entwicklungsprozess abzubilden, der Qualitätssicherung und effektive Teamarbeit erlaubt. Developer:innen können Themes lokal auf deren Rechnern entwickeln und mittels CLI-Befehl in beliebigen Shopify-Shops im Preview einsehen. Die GitHub-Integration eröffnet alle Möglichkeiten, um Pipelines aufzusetzen, die sicherstellen, dass Produktiv- oder Staging-Themes wie in der Softwareentwicklung üblich automatisiert und kontrolliert bereitgestellt werden können. Heißt, man kann individuelle (produktive) Shopify Themes weiterentwickeln, ohne auf die so wichtigen Prozesse verzichten zu müssen.
Wie ist die Developer-Experience im Allgemeinen? Kündigen meine Mitarbeiter, wenn sie das den ganzen Tag machen müssen?
In einem hart umkämpften Markt um die größten Talente konzentrieren sich diese automatisch dort, wo die besten Voraussetzungen geboten werden. Logisch, wenn man es sich aussuchen kann. Für Developer:innen spielt die Technologie, mit welcher sie alltäglich konfrontiert sind eine wichtige Rolle. Natürlich ist es subjektiv zu beurteilen, wie sich Shopify da einordnet. Jedoch ist es offensichtlich, dass Shopify einen spürbaren, überdurchschnittlichen Wert auf Developer-Experience legt. Shopify weiß, dass die Developer:innen, die täglich mit Shopify arbeiten einen wesentlichen Beitrag zum Erfolg von Shopify und deren Kunden leisten. Die Tatsache, dass der CEO von Shopify, Tobias Lütke, selbst ein Developer ist, spielt dabei sicherlich auch eine Rolle.
Wie ist die Dokumentation?
Die Shopify Development Dokumentation zählt zweifellos zu den umfangreichsten und benutzerfreundlichsten Ressourcen auf dem Markt. Sie ist sehr umfangreich und kann anfangs überwältigend sein. Nach ein wenig Einarbeitung wird deren Stärke aber schnell sichtbar. Der Aufbau der Dokumentation in Verbindung mit einer starken Suche führen dazu, dass man gar nicht mehr in Erwägung zieht ein Problem zu googeln. Wer sie nicht kennt, kann sich hier auch selbst ein Bild machen. Allein das UI zeugt schon von einem großen Apparat bei Shopify, der hinter der Dokumentation steht.
Wie einfach/schwer ist das Onboarding neuer Teammitglieder:innen?
Lange Einarbeitungszeiten und hohe Komplexität kosten Motivation, Produktivität und Geld. Wie effizient sich das Onboarding gestaltet hängt natürlich von vielen Faktoren ab, wobei die Technologie auch eine Rolle spielt. Die angesprochene Dokumentation und ausgereifte CLI erleichtern den technischen Einstieg immens. Nichts desto trotz ist die Shopify-Plattform mittlerweile derart umfangreich, dass es seine Zeit braucht, bis jemand das größere Bild sehen kann. Ein funktionierendes Team kann neue Zugänge jedoch sehr effizient eingliedern.
Wie schnell oder langsam ist der Prozess zum neuen Feature?
Die Shopify Plattform bietet eine Vielzahl an Möglichkeiten. Gelingt es mit den vorhandenen Mitteln oder Apps aus dem Shopify-App-Store Anforderungen abzubilden, dann ist die durchschnittliche Entwicklungszeit oft überraschend schnell. Das heißt im Umkehrschluss, dass die Weiterentwicklung oder auch die initiale Entwicklung eines Shopify-Shops auch aus der Kostenperspektive attraktiv sein kann. Der wohl wichtigste Faktor ist einen gesunden Pragmatismus in der Entwicklung mitzubringen. Gelingt es den Shop im Einklang mit Shopify-Best-Practices zu formen und vermeidbare Komplexität aussen vor zu lassen, dann ist die Effizienz in der Entwicklung im Vergleich mit anderen Shop-Systemen unschlagbar.
Wie einfach/schwer können Apps und Erweiterungen individuell umgesetzt werden?
Mitunter jeder Shop ab einer gewissen Größe erreicht funktionale Grenzen von Shopify und dem Shopify App Store. Das heißt, gewisse Anforderungen lassen sich nicht mit eingebauten Features oder Dritt-Anbieter-Apps lösen. An dieser Stelle können individuelle Apps entwickelt werden, die diese Lücke füllen. Im Grunde ist eine App eine eigenständige, selbst gehostete Software, welche über die Shopify-API die Daten eines Shopify-Stores abgreifen oder auch beeinflussen kann. Die Entwicklung einer App ist also im Grunde die Entwicklung einer eigenständigen Software, was maximalen Gestaltungsspielraum lässt aber auch die entsprechende Kompetenz voraussetzt, wobei hier wiederum die Shopify CLI und die ausführliche Dokumentation eine bedeutende Erleichterung bringen.
Der Vollständigkeit halber ist zu erwähnen, dass mit Checkout Extensions und Shopify Functions auch Serverless-Erweiterungen möglich sind, welche in Shopify gehostet sind. Die technischen Rahmenbedingungen sind hier vergleichbar mit gängigen Cloud-Services (z.B. AWS Lambda Functions).
Fazit
Shopify macht Spaß. Selten ein System gesehen, das so gut dokumentiert und generell so Development-Friendly ist, obwohl eigentlich der volle Fokus auf dem Merchant liegt. Selbst beim Arbeiten mit der gesamten Shopify Suite (kein Headless-Setup) muss nicht auf Versionskontrolle, Pipelines, etc. verzichtet werden. Das ist für eine SaaS-Lösung nicht selbstverständlich. Die API und die Dokumentation sind krass. Man spürt die unfassbaren 1,5 Milliarden, die Shopify jährlich in F&E investiert, an allen Ecken.