In den vorherigen Beiträgen sind wir auf die Grundlagen und ideale Vorbereitung für die Shop-Entwicklung eingegangen (Anforderungsanalyse, Konzeption, Design). In diesem Blogpost geht es um die eigentliche technische Realisierung einer Magento E-Commerce-Lösung.

Die Entwicklung eines Shops verläuft standardmäßig in folgenden Schritten, wobei der Ablauf nicht streng linear ist. Etliche Prozesse überschneiden sich oder laufen parallel:

 

  1. Aufsetzen des Basisshops in einer Testumgebung: Mit der Installation der Shopsoftware ist lediglich die Grundlage für die weitere Entwicklungsarbeit geschaffen.

 

  1. Strukturierung des Shops und der Produktdaten: Dies betrifft etwa den Multistore-Aufbau, die konkrete Umsetzung der Navigation, die Auswahl der Produkttypen und den passenden Aufbau der Attributsets der Produkte.

 

  1. Modul-Entwicklung: Hängt von den funktionalen Anforderungen ab, die der Onlineshop erfüllen muss.

 

  1. Schnittstellen-Entwicklung: Hierzu wird ein Datenflussdiagramm erstellt,  das präzise aufzeigt, wo welche Daten benötigt und von welchen Prozessen und Systemen sie bereitgestellt werden.

 

  1. Anbindung von externen Services: Beispielsweise Payment- und Fulfillment-Prozesse, Webanalyse und Suchtechnologien

 

  1. Konfiguration des Basisshops: Erst an dieser Stelle sinnvoll, da erst jetzt die konkrete Ausprägung des Shops vollständig bekannt ist.

 

  1. Template-Entwicklung: Nun sind auch alle Details und funktionalen Elemente des späteren Shops bekannt. Erst jetzt lässt sich die letztendliche Frontendgestaltung final umsetzen.

 

  1. Deployment: Erstellung des Setup-Scripts, um alle Konfigurationen und Einstellungsmöglichkeiten automatisiert ablaufen zu lassen.

 

  1. Qualitätssicherung: Die Sicherung der Entwicklungsqualität ist in jeder Iteration im jeweiligen Gewerk und mit den entsprechenden Quality Gates (zuvor definierte, messbare Qualitätskriterien) notwendig.

 

Entwicklungsanforderungen

Bei der Softwareentwicklung im E-Commerce sind Sicherheit, Stabilität und Flexibilität zentrale Anforderungen. Um dies zu garantieren, muss nach höchsten Qualitätsansprüchen entwickelt werden. Über eigene Continuous Integration Server sorgen wir etwa für eine hohe Testabdeckung (Unit Tests, Funktionstests, Integrationstests …) und können die Codequalität sowie die Einhaltung von Metriken permanent überprüfen. Als weiteren Schritt um Fehlerquoten zu minimieren und den Entwicklungsprozess zu beschleunigen, haben wir uns zudem für den Continuous Delivery Ansatz als weiteres leistungsfähiges Prinzip moderner Softwareentwicklung entschieden.

 

Datenmigration von anderen Shopsystemen

Abhängig von den konkreten Anforderungen der Migration können Kundendaten, historische Bestellungen, Produktdaten und Katalogdaten aus anderen Shopsystemen extrahiert und durch den flexiblen Aufbau von Magento – und entsprechende Tools – recht schnell in die neue E-Commerce-Lösung importiert werden.

Eine gute Planung stellt den reibungslosen Ablauf sicher und spart Kosten: Wir stimmen die Ausprägungen und den Umfang der Datenübernahme jeweils ganz individuell mit unseren Kunden ab. So ist sichergestellt, dass kein unnötiger Aufwand entsteht oder später doch wieder Ballast abgeworfen werden muss. Etwas nachpflegen kann man immer. Generell sollte auch erst nach der Migration der benötigten Daten die E-Commerce-Lösung um Module erweitert werden. Auch hier gilt es, alle Schritte zu dokumentieren.

 

Resultate unsauberer Entwicklung

Was geschieht, wenn die Magento Coding Standards, die gewährleisten, dass der Code klar strukturiert, einfach zu lesen und zu pflegen ist, nicht eingehalten werden? Wenn das Prinzip sauberer Trennung von Core und Modulen sowie Modulen untereinander nicht beachtet wird? Wenn im Vertrauen auf Glück oder eigene Fähigkeiten auf eine umfassende Testabdeckung  verzichtet wurde?

 

netz98_blog_eCommerce-Projekte4_guterCode-schlechterCode

Dann kommt es im späteren Betrieb bei Stabilität, Performance und Updatefähigkeit mit absoluter Sicherheit zu gravierenden Problemen:

  • Der Webshop ist nicht updatefähig und verursacht in der Wartung massive Kosten.
  • Das Business ist durch mangelnde Skalierungsmöglichkeiten äußerst eingeschränkt.
  • Ständige Fehler sorgen für einen instabilen Webshop und häufige Ausfälle.
  • Fehler in den Schnittstellen verzögern oder blockieren Workflows, und Zeit kostet Geld.

 

Call your PM in case of emergency

Aufgrund der Komplexität von E-Commerce-Projekten und der impliziten Gefahr von Entwicklungsmängeln bei schlechtem Zeitmanagement ist eine professionelle Projektsteuerung extrem wichtig. Die Analyse und Planung von Ressourcen, Budgets und Abläufen braucht natürlich leistungsstarke Tools aber ebenso wichtig sind Erfahrung und das richtige Vorgehen. Vom Moment der Übergabe des Projekts vom Sales-Team an Konzeption und Entwicklung bis zur Umsetzung des Magento-Projekts und dem darüber hinausgehenden Support müssen die Projekte mit klarem Fokus auf Budget, Zeit aber auch Qualität gesteuert werden. Wir kombinieren daher bei netz98 agile und klassische Projektmanagementmethoden. Unserer Erfahrung nach ist die richtige Mischung aus Flexibilität und Planungssicherheit für den Erfolg eines Projektes ebenfalls entscheidend.