Basisinformation Hamburg, Juni 2013 Thema: Softwareentwicklung bei OTTO Hinter den Kulissen von otto.de Wie OTTO-Mitarbeiter im Projekt Lhotse einen neuen Onlineshop bauen Von Scrum über Continuous Delivery bis hin zu DevOps was sich wie Buzzwordbingo anhört, ist für OTTOs Mitarbeiter im Projekt Lhotse Arbeitsalltag. Um bei der Entwicklung der neuen Shoppingsoftware dynamisch vorgehen zu können, bedient sich das Unternehmen eines besonderen Methodenmixes. Hier bringen OTTO- Mitarbeiter Licht ins Dunkel des Entwickler-Jargons und berichten über Inhalte und Aufgaben des Projekts. Um bei Lhotse dynamisch vorgehen zu können, wurde der Onlineshop zunächst in unterschiedliche Bereiche aufgeteilt. Neben übergeordneten Aufgaben, wie zum Beispiel dem Anforderungsmanagement im Projekt (Requirement Management) oder dem Betrieb der Plattform sowie dem Thema User Experience Design, die für alle Bereiche agieren, spiegelt das Schnittmuster vor allem einen idealisierten Kaufprozess von Kunden auf otto.de wider. Dieser lässt sich grob in fünf größeren Einzelaktionen erfassen. Dazu gehört die Inspiration des Kunden, die für das Themenfeld Entdecken relevant ist. Die konkrete Produktsuche lässt sich als weiteres Themenfeld Suchen erfassen. Andere Kundenaktionen wie das Bewerten der Produkte oder das Bestellen ausgewählter Artikel im so genannten Check- Out-Prozess gehören ebenfalls zu den markanten Punkten im Schnittmuster. Letztlich zählt ebenso das Thema Prüfen dazu, um beispielsweise Sendungen nachzuverfolgen oder andere Services in Anspruch zu nehmen. Der Vorteil dieses Zuschnittes: Die einzelnen Teile und Themen können von unterschiedlichen Teams ganzheitlich und unabhängig voneinander entwickelt werden. Seite 1 von 7
Innovation durch Methodenmix OTTOs Innovationsanspruch bei Lhotse basiert auf einem hohen Maß an Integration von Methoden- und Technologie- sowie Produktkompetenz. Für jeden Bestandteil der Plattform wurden dazu aus verschiedenen Kompetenzfeldern heraus autonome Teams mit fachlichen und technischen Produktverantwortlichen, Projektleitern, Entwicklern, Experten für Qualitätssicherung sowie Usability- und Designexperten gebildet. Diese Teams arbeiten nach einem Continuos-Delivery-Konzept i. Das sind Techniken, Prozesse und Werkzeuge in der agilen Softwareentwicklung, die dazu dienen, den Entwicklungsprozess und die Softwareauslieferung eng zu verzahnen und fertige Software so schnell wie möglich live zu stellen. Die Scrum-Methodik ii spielt eine weitere zentrale Rolle beim Aufbau von Lhotse. Diese Methode beruht auf der Erkenntniss, dass die meisten modernen Entwicklungsprojekte komplex sind und die Realität daher nicht immer dem Plan folgt. Scrum versucht deshalb, die Komplexität kontinuierlich durch die drei Prinzipien Transparenz, Überprüfung und Anpassung zu reduzieren. Scrum, Continuous Delivery und ein integrierter Betrieb schaffen bei Lhotse die Voraussetzung, dass Software-Veränderungen jederzeit live gehen können. Im Folgenden berichten verschiedene OTTO-Mitarbeiter aus unterschiedlichen Teams über einige wesentliche Aufgaben im Projekt Lhotse. Klaus Adelmann (Projektleiter) Team Entdecken Das Team Entdecken legt bei Lhotse die Grundsteine für das Thema Personalisierung. Wir wollen unseren Kunden in einem noch viel größeren Umfang als schon zuvor für sie relevante und individuell passende Inhalte und Angebote auf otto.de ausspielen. Für die Verbraucher äußert sich das zum Beispiel darin, dass bereits gekaufte Artikel nicht mehr in Promotions angezeigt oder passende Empfehlungen zu bereits gekauften Artikeln für den Kunden in den Vordergrund gebracht werden. Diese Automatisierung über konfigurierbare Regeln bildet neben der Nutzung von relevanten Daten die Basis, um auch künftig neue Konzepte, die den Kunden beim Thema Entdecken unterstützen, mit Lhotse umsetzen zu können. Für die Personalisierung verwenden wir ausschließlich Besucherstamm- und Bewegungsdaten, die mit dem Bundesdatenschutzgesetz konform gehen. Seite 2 von 7
Torsten Wolff (Project Lead) Team Suchen & Bewerten In unserem Team sind wir für die Konzeption und Entwicklung aller Funktionalitäten zu den Themen Suchen und Bewerten verantwortlich. Der Bereich Suche schließt dabei auch die Navigation mit ein. Das Themenfeld Bewerten umfasst grundsätzlich alle Themen rund um die Artikeldetailseite inklusive der Kundenbewertungen. Zudem ist das Team verantwortlich für die Produktdaten in Lhotse. Dazu gehört unter anderem der Import der Produktdaten aus so genannten Quellsystemen und die Bereitstellung dieser Daten für abnehmende Systeme. Meine Rolle als Project Lead vereint dabei die Aufgaben des klassischen Projektleiters mit denen eines Scrum Masters aus der agilen Vorgehensweise. Neben der Release- und Budgetplanung sowie der Kommunikation des Projektstatus kümmere ich mich unter anderem um die Beachtung des Scrumprozesses und moderiere die dazugehörigen Meetings. Ich räume Hindernisse für mein Team schnellstmöglich aus dem Weg und unterstütze es dabei, seine Arbeit noch effektiver und effizienter zu gestalten. Zusammen mit dem Business Designer und dem Technical Designer trage ich die Gesamtverantwortung für das Team Suchen und Bewerten. Carina Schneider (Project Lead) Team Bestellen Unser Team ist im Rahmen von Lhotse für die Entwicklung der Bestellstrecke ab Warenkorb bis zum Abschicken der Bestellung zuständig. Damit bilden wir auch die Schnittstelle zu bereits bestehenden Backendsystemen. Zu den enthaltenen Features gehören beispielsweise Zahlungsarten auswählen oder die Lieferung an Paketshops. Auch der Merkzettel ist Teil unseres Aufgabenbereichs. Unser Fokus liegt auf der Produktentwicklung. Für Standardaufgaben wie beispielsweise der Anpassung von Versandkosten versuchen wir daher Funktionen bereitzustellen, die andere Fachbereiche im Unternehmen selbstständig nutzen können. Zu meinen persönlichen Aufgaben zählen klassische Projektmanagement-Aufgaben wie zum Beispiel Verantwortung für Time & Budget, Meilensteinplanung, Eskalationsmanagement, Risikomanagement, Moderation, Konfliktmanagement oder Status-Reporting. Außerdem übernehme ich Verantwortung für Prozesse und Methoden hierzu gehört beispielsweise auch, das Team dahingehend zu coachen, sich selbst zu organisieren. Seite 3 von 7
Knut Hamscher (Business Designer) Team Prüfen Im Team Prüfen dreht es sich zentral um Kundenwünsche, die sich nach Abschluss des Kaufprozesses auf otto.de ergeben. Dazu zählt beispielsweise die Sendungsverfolgung, die dem Kunden jederzeit zeigt, wo sich die bestellte Ware befindet. Wir entwickeln daher Funktionen, um unseren Kunden im Anschluss an getätigte Bestellungen mehr Sicherheit und Informationen wie beispielsweise Auskunft über Status der Bestellung oder die nächsten zu zahlenden Raten zu geben. Wie in anderen Lhotse-Teams bedienen auch wir uns dabei der Scrum-Methodik. Das bedeutet das Abenteuer in der Entwicklung beginnt für uns in der frühen Erforschung der Kundenbedürfnisse. Dazu arbeiten wir eng mit mit den Experten für das Thema User Experience, Interaction-Designern und weiteren Fachkollegen zusammen. Vereinfacht gesagt, sammeln wir alle Themen in einem so genannten Backlog und priorisieren anschließend nach Dringlichkeit und Wichtigkeit. Danach beginnt die eigentliche Konzeption: Die fachlichen Themen müssen in Vorbereitung für unsere Entwicklungszyklen, die so genannten Sprints, zunächst für das Team rechtzeitig aufbereitet werden. Große Themenblöcke, die wir Epics nennen, werden dabei in kleine Aufgaben als Story zerlegt, wobei wir uns immer um die erfolgversprechendste Maßnahme zuerst kümmern. Das gibt uns Produktmanagern die Möglichkeit, den Erfolg zeitnah zu überprüfen, zu optimieren und neu zu planen, sollten sich die Rahmenbedingungen ändern. Für die fachlichen Belange gilt es auch, Schnittstelle zwischen dem Entwicklerteam und dem Unternehmen zu sein: Es müssen Zweckmäßigkeiten abgewogen, Fragen vorausschauend geklärt und relevante Entscheidungen erkannt werden, die Planungen im Backlog beeinflussen können. Im Team selbst ist man durch den Sprint ganz nah am Geschehen und kann sich alle vierzehn Tage auf Ergebnisse freuen, die der Kunde sofort sieht. Das oberste Ziel des Scrum-Teams ist: Wir liefern. Katja Steinborn (Business Designer) Team Tracking Im Team Tracking kümmern wir uns in erster Linie um den Umgang mit großen Datenmengen und deren Echtzeit-Bereitstellung. Im Detail steckt dahinter die technologische Herausforderung Tracking-Daten wie zum Beispiel Benutzer-Verhalten auf otto.de verlässlich zu erfassen und diese für die Steuerung eines modernen Online-Shops aufzubereiten. Dadurch wollen wir einen datengetriebenen Optimierungsprozess des gesamten Shops ermöglichen. Wir nehmen dazu Anforderungen aus den übrigen Lhotse-Teams und weiteren Seite 4 von 7
Abteilungen im Unternehmen auf und erarbeiten Tracking-Lösungen, damit jeder seine spezifischen Shopbereiche bestmöglich auswerten und optimieren kann. Zusätzlich kümmern wir uns noch um die Bereitstellung einer Infrastruktur für die Auswertung von Informationen für das Performance Marketing, damit auch der durch das Marketing generierte Traffic auf otto.de optimal gesteuert werden kann. Karolin Wisch (Teamleitung) Team User Experience Design (UXD) Das UXD-Team besteht aus den drei Disziplinen User Experience Management, Interaction Design und Visual Design. Gemeinsam sorgen die zuständigen Mitarbeiter dafür, das Nutzererlebnis für unsere Kunden, sowohl ganzheitlich im gesamten Shop als auch spezifisch in den verschiedenen agilen Teams von Lhotse, zu formen und kontinuierlich zu optimieren. Die User Experience Manager erheben Erkenntnisse über das Verhalten und die Besuchsmotivation der Nutzer von otto.de. Hierfür laden wir unter anderem auch Testpersonen ein, denen wir bei der Nutzung von Lhotse über die Schulter schauen. Dadurch entsteht eine belastbare Erkenntnisgrundlage, um die neue Plattform benutzerfreundlich, ganz im Sinne der Kunden, weiter zu entwickeln. Anschließend übernehmen die Interaction Designer. Sie entwickeln auf Grundlage der zuvor gesammelten Erkenntnisse Interaktionskonzepte, Informationsarchitekturen, Wireframes und interaktive Prototypen. Im Rahmen der agilen Produktentwicklung geschieht dies eng mit den Verantwortlichen der übrigen Teams von Lhotse. Mit Hilfe von qualitativen Tests arbeiten wir an der Verbesserung unserer Prototypen, zum Beispiel in unserem hauseigenen OTTO User Experience-Lab (UX-Lab). Die finale Optik der verschiedenen Funktionalitäten für den Kunden erarbeiten bei uns schließlich die Visual Designer, die für den OTTO-typischen Look & Feel von Lhotse sorgen. Jens Kappe (Gesamtprojektleiter) Requirement Board Im Requirement Board kümmern wir uns um die Gesamtkoordination sowie das Anforderungsmanagement (Requirement Management) für das Projekt Lhotse und steuern es nach den Kennzahlen Time, Quality und Budget. Beim Anforderungsmanagement dreht es sich beispielsweise um die Priorisierung von Anforderungen für die Umsetzung. Bei einem so großen Projekt wie Lhotse ist ein umfassendes Requirement Management unabdingbar. Seite 5 von 7
Es gilt diejenigen Anforderungen zu identifizieren, die geeignet sind, die Zielerreichung von Lhotse sicherzustellen. Alleine die Formulierung von Anforderungen an eine neue Shoppingplattform reicht nicht aus. Wir stellen deshalb die fachliche und technische Strategie in den Teams sicher, definieren den formalen Projektrahmen für Lhotse und stellen ein übergreifendes Steuerungsreporting sicher. Weitere Aufgaben im Requirement Board sind zum Beispiel die Schnittstellenkoordination im Projekt, das Sicherstellen der Releaseplanung so wie die Steuerung und Weiterentwicklung von Methoden und Prozessen der Produktentwicklung und schließlich die Migration der ursprünglichen Plattform von otto.de auf Lhotse. Marco Hutzsch (Technical Designer) Team Operations Im Team Operations dreht sich alles um den Betrieb von Lhotse, den wir ebenfalls neu und modern aufbauen. Der Fokus liegt dabei auf den Themen Automatisierung, Nachvollziehbarkeit, Virtualisierung und DevOps iii als Kultur in der Softwareentwicklung. Bei der Automatisierung dreht es sich darum, alle Infrastrukturkomponenten des Shops automatisch bereit zu stellen unsere Stichworte hierfür sind Continuous Delivery und Infrastructure as Code. Testumgebungen und sogar ein komplettes Cluster für den Live Shop können dadurch innerhalb kürzester Zeit komplett neu erstellt werden. Durch automatische Tests ist dabei sichergestellt, dass trotz ständiger Änderungen am Shop ein stabiler Betrieb gewährleistet ist. Das Thema Nachvollziehbarkeit ist uns äußerst wichtig. Alle Lhotse-Konfigurationen von Komponenten wie beispielsweise Cache-Servern oder Datenbanken sind bei uns in einem zentralen Archiv, dem Repository, und werden automatisch ausgerollt. Virtualisierung bedeutet, dass unser neuer Shop cloud-ready ist. Das heißt konkret: Alle Systeme laufen auf virtuellen Servern, wodurch fast jeder Hardwareausfall abgefedert ist. Wir setzen auf eine Kultur in der Softwareentwicklung nach DevOps. Dabei entwickeln wir als Betriebs-Team gemeinsam mit den Softwareentwicklern betriebsstabile Lösungen, um jederzeit neue Shopversionen für unsere Kunden bereit stellen zu können. Mario Nöcker (Technical Designer) Team Shopoffice/Shopcontent Bei uns im Team kümmern wir uns hauptsächlich um die Architektur des Shopoffice von Lhotse. Dieses funktioniert vergleichbar mit einem Content Management System und einem Seite 6 von 7
Backoffice aus dem heraus auch ohne Programmierkenntnisse der Shop verändert und gesteuert werden kann. Im Shopoffice werden zum größten Teil die statischen Inhalte unseres Onlineshops gepflegt. Zentral beschäftigen wir uns damit, wie wir Teile des Lhotse- Shops wie beispielsweise Contentseiten, Navigation oder Produktbewertungen von otto.de pflegen, so dass Änderungen sicher und schnell live für die Kunden sichtbar sind. Außerdem ist es unsere Aufgabe, für eine optimale Kommunikation zwischen der Pflegekomponente Shopoffice und dem Lhotse-Shop sowie einen stabilen und fehlerfreien Betrieb zu sorgen. Ich kümmere mich unter anderem um die Architektur des Shopoffice und stelle in Zusammenarbeit mit den anderen Technical Designern auch die übergreifende Architektur von Lhotse sicher. Es ist außerdem meine Aufgabe, einen effektiven Entwicklungsprozess innerhalb des Scrum-Teams zu gewährleisten. Ich kümmere mich daher insbesondere um die technische Vorbereitung aller User-Stories, mit denen neue Funktionen im Shopoffice umgesetzt werden sollen. Nähere Informationen finden Sie im Internet unter www.otto.com Pressekontakt: Ulrike Abratis, Telefon: +49 (40) 64 61-8630, Fax: -4490, E-Mail: ulrike.abratis@otto.de Timo Beyer, Telefon: +49 (40) 64 61-4336 E-Mail: timo.beyer@otto.de i http://de.wikipedia.org/wiki/continuous_delivery ii http://de.wikipedia.org/wiki/scrum iii http://itrevolution.com/devops-culture-part-1/ Seite 7 von 7