3rd-Party Interface Testing mit Cucumber – Teil I

cucumber_logo

Das altbekannte Problem In einer Software muss ein 3rd Party Service über eine definierte Schnittstelle eingebunden werden. Das Verhalten der Schnittstelle muss vorab getestet und verifiziert werden. Solche Tests sind Behaviour Driven, sprich das Verhalten der Schnittstelle wird vor der Integration in das … Weiterlesen

Celebrity Commerce- Der neue Stern am Shopping-Himmel?

Nachdem es in den vergangenen Monaten einigermaßen ruhig war, was neue Shopping-Konzepte anging, starten in den kommenden Wochen gleich drei Portale mit einem “Celebrity Commerce”- Ansatz.

Warum Celebrity Commerce (CC) neu und doch alt ist.

Shopping auf Basis von Empfehlungen ist uralt, sowohl offline (Tupperware-Parties) als auch online bekannt (Social Shopping, Facebook Commerce etc.) und in nahezu allen Kanälen etabliert. Durch die Informationsvielfalt steigen (Kauf-)Entscheidungsaufwände an, welche Nutzer mittels dreier Hebel teilweise einsparen:

  • Käufer entscheiden sich für das Produkt der stärksten Marke beziehungsweise eines ihnen bekannten/bereits gekauften Produkts.
  • Käufer entscheiden sich für das erstebeste Produkt, welches die Kaufkriterien weitgehend matched (aus der Aktion der Unsicherheit und bei Vorliegen nicht-vollständiger Information).
  • Käufer entscheiden sich für ein empfohlenes Produkt.

Freunden und Bekannten wird beim letzten Punkt in besonderer Intensität vertraut- Seiteneffekten wie das “Variety Seeking” zum Trotz. Gerne “verbrüdern” sich Konsumenten mit Prominenten, was die Basis für Celebrity Commerce stellt- hierzu später mehr.

Die beiden Formen des Empfehlungsmarketings.

Beim Empfehlungsmarketing kann man grundsätzlich zwischen

  • Word-of-Mouth-Marketing und
  • Referenzen unterscheiden (Sabrina Helm, “Kundenempfehlungen als Marketinginstrument).

Ersteres bedeutet die meist von Konsumentenseite angestoßene Kaufempfehlung während eines Gesprächs unter Bekannten. “Referenzen” hingegen sind Aussagen von bestehenden Kunden, auf welche der Anbieter des jeweiligen Produktes aktiv hinweist. Ähnlich, wie wir es bei Namics mit unseren “Taten” tun.

Was an Celebrity Commerce neu ist.

Celebrity Commerce kombiniert die beiden Formen des Empfehlungsmarketings in gewisser Weise miteinander, indem einerseits (meist fingierte) Kundenstimmen von Prominenten gesammelt werden (“Produkt ABC setze ich besonders gerne ein.”) und andererseits die Formen des persönlichen Gesprächs mit dem “Bekannten”- in diesem Falle ein Promi-kombiniert werden. Man wird sehen, wie tief dieser Dialog mit Prominenten gehen kann. Erste Ansätze hiervon sieht man in den Markenwelten der Teleshopping-Kanäle, welche aus ihren Moderatoren Marken machen, diese für die Vertriebsstrategie zum “Trusted Advisor” aufbauen und anschließend Dialoge mit Kunden inszenieren. Hier ist jedoch noch großes Potential vorhanden- denken Sie an Live-Chats mit Promis, Produkt-Reviews und vieles mehr.

Das Dreigestirn im Celebrity Shopping.

Wenn man mal die bereits bekannten Kanäle ausblendet, gehen in Deutschland recht zeitgleich drei Anbieter an den Start. Blissany, Wanilla und miacosa wollen sich alle ein großes Stück vom Promi-Empfehlungskuchen abschneiden. Je nach finanzieller Vorausstattung durch deren Kapitalgeber haben sich die drei Start-ups bereits Prominente gesichert: von Ursula Carven (im Portal miacosa als Yoga-Expertin ausgewiesen), Michael Gliss (“Genussbotschafter”), Sternekoch Harald Wohlfahrt (“Kochlegende”) ist für jeden Geschmack etwas dabei. Spannend ist, dass alle drei Konzepte ähnliche Layouts haben (große Bilder mit Promis im Hintergrund, die via Slideshow durchwechseln) und jedes Portal auf eine eher feminine Zielgruppe fokussiert (schnell erkennbar an den Themenwelten). Kein Portal kann auf einen Koch- oder Yoga-Experten/in verzichten.

Fazit

Celebrity Commerce ist ein wenig neuartiges Konzept, nutzt jedoch vielfach erprobte Strategien, so dass ein Erfolg nicht auszuschließen ist. Der Erfolg der Portale wird nicht zuletzt von der Auswahl der Promis abhängen; zudem werden Promis immer stärker als eigene Marken etabliert, so dass Gefahren in der Wirksamkeit nicht auszuschließen sind (Stichworte: Authentizität, Promis pinnen selbst auf eigenen Profilen wie bei Pinterest).

Aufwandsschätzungen – Die Ausgangslage für erfolgreiche Projekte (Teil 2 / 2)

Im ersten Teil ging es um das Grundverständnis bei Aufwandsschätzungen. Der zweite Teil bezieht sich jetzt auf die Vorgehensweise zur Erstellung einer Aufwandsschätzung und welche alltagstauglichen Verfahren eingesetzt werden.

Vorgehensweise zur Aufwandsschätzung

Einer der ersten Schritte für die Aufwandsschätzung besteht darin, das Projekt in “handliche” Arbeitspakete zu strukturieren. Die Aufteilung in Arbeitspakete kennt man auch unter dem Begriff Work Breakdown Structure (WBS).

Die gewählte Grösse der Arbeitspakete ist dabei noch relevant. Zu grosse Arbeitspakete lassen die Schätzungenauigkeit und das Risiko, dass etwas vergessen geht, steigen. Arbeitspakete welche grösser als 20 PT (Personentage) sind deuten darauf hin, dass diese zu gross gewählt wurden und eventuell weiter unterteilt werden sollten.

Im Gegenzug sind zu fein gewählte Arbeitspakete ebenfalls nicht das “Gelbe vom Ei”. Schnell entsteht bei zu granularen Arbeitspaketen ein hoher Aufwand zur Bearbeitung der Schätzung und es entstehen versteckte Puffer welche die Projektplanung verfälschen können. Man sollte also die Arbeitspaketgrösse bewusst wählen.

Ein weiterer wichtiger Punkt, welcher leider häufig ausser Acht gelassen wird, ist die Projektphase in welcher die Schätzung stattfindet. Dabei muss man wissen, dass die Schätzunsicherheit im Laufe des Projektfortschrittes naturgemäss abnimmt. Ist einem grob die Schätzunsicherheit bekannt, kann man in der Projektplanung dementsprechend mit klar kommunizierten Pufferzeiten reagieren.

Diese Schätzunsicherheit (oder der Verlauf der Schätzunsicherheiten im Projekt) wird auch als Cone of Uncertainty bezeichnet und stellt die Schätzunsicherheit bezogen auf den Projektverlauf grafisch dar.

Cone of Uncertainty

Cone of Uncertainty (Quelle: McConnell, Software Estimination, Seite 28)

Auf dieser Darstellung sieht man sehr schön, dass die Schätzunsicherheit nach der Phase Designerstellung sich stark verkleinert hat, es existieren zu diesem Zeitpunkt also bereits sehr viele detaillierte Informationen zum Projekt welche eine Überprüfung der durchgeführten Schätzungen für die Folgephasen durchaus Aussagekräftiger erscheinen lassen wird.

Eine kontinuierliche Überprüfung und ein Abgleich mit der Planung ist dadurch eine wichtige Projektmanagement Aufgabe.

(more…)

Die Organisation eines Contentmigrations-Offices im Rückblick – TEIL III

Der dritte und letzte Teil rückt die Hürden und Risiken bei der Organisation eines Contentmigrations-Offices in den Mittelpunkt und bildet den Abschluss der Blogpost-Serie.

Parallelbewirtschaftung als Hürde
Da man in der Praxis im Normalfall keinen „Content Freeze“ für mehrere Monate machen kann, muss im Normallfall auch der sich aktuell ändernde Content vom Live-System auf das Migrationssystem nachgezogen werden. Diese Parallelbewirtschaftung ist je nach Häufigkeit der Content-Änderungen auf der Live-Seite mit erheblichen Mehraufwänden verbunden.

Technische Probleme und Bugfixes
Die Parallelisierung der technischen CMS-Entwicklung sowie der Content Migration bot nicht nur Vorteile. Denn erst bei der Content-Pflege kann abschliessend beurteilt werden, ob das CMS resp. die Seitentemplates für das Frontend die Anforderungen vollständig erfüllen können. Einige Bugs wurden so erst im Zuge der Migration sichtbar und mussten anschliessend über einen Code Release im Migrationssystem behoben werden. Das Abschätzen dieser Bugs im Vorfeld birgt ein gewisses Risiko. Um dieses zu minimieren, wird empfohlen im Vorfeld des Migrationsstarts einige Dummy Content Pages (Versuch-Inhaltsseiten) anzulegen und das Frontend- und CMS-Testing vollständig abzuschliessen, bevor man mit der Migration loslegt.

(more…)

Aufwandsschätzungen – Die Ausgangslage für erfolgreiche Projekte (Teil 1 / 2)

Aufwandsschätzungen gehören zu unserem täglichen Brot und dienen als Start für potentielle Projektaufträge. In diesem Blogpost wird aufgezeigt, warum das Thema Aufwandsschätzung elementar wichtig ist und dies eine der Grundlagen für erfolgreiche Projekte bildet.

Eine sorgfältig durchgeführte Aufwandsschätzung bildet die Basis für eine seriöse Projektplanung. Eine gute, und damit ist eine möglichst realitätsnahe Aufwandsschätzung gemeint, kann den Projektpartnern unangenehme Budgetdiskussionen während der Projektlaufzeit ersparen. Zusätzlich wird die Qualität des Projektmanagements (Erstellung einer möglichst zuverlässigen Projektplanung) deutlich verbessert.

Zu hohe und unrealistische Schätzungen können dazu führen, dass ein Projekt nicht durchgeführt wird. Hingegen führen zu niedrige Schätzungen ziemlich sicher dazu, dass die Qualität leidet, der Termin nicht eingehalten werden kann und das Budget überzogen wird, Zustände die keiner der Projektpartner sich wünscht.

Warum werden überhaupt Schätzungen benötigt?

Diese Frage hört sich im ersten Moment relativ einleuchtend an. Geht es doch im Wesentlichen darum, herauszufinden wie viel Geld eine gewünschte Anforderung kostet.

Es geht aber noch um mehr:

  • Erst auf Basis einer Aufwandsschätzung kann eine Beurteilung zur Durchführbarkeit eines Projektes stattfinden. Dies betrifft den Kostenumfang, die benötigte Zeit, Terminplanung und Mitarbeiterplanung. Kurz gesagt bilden diese Informationen die Entscheidungsgrundlage ob ein Projekt durchgeführt wird oder nicht
  • Die Aufwandsschätzung dient der Preiskalkulation und Offert- / Angebotserstellung
  • Für die Projektplanung ist die Aufwandsschätzung das wichtigste Fundament. Beinhaltet eine Schätzung zu hohe Abweichungen von der Realität, kann die Projektplanung (Zeit, Kosten, Leistungen) nicht stimmen
  • Die Schätzung dient der Ressourcenplanung und ermöglicht dadurch die Erstellung einer Umsetzungsplanung
  • Zu guter Letzt bilden Aufwandsschätzungen die Grundlage um Priorisieren zu können. Also Entscheidungen treffen zu können, welches Projekt vorrangig umgesetzt werden soll

Die Organisation eines Contentmigrations-Offices im Rückblick – TEIL II

Nach dem Startschuss

Einführung
Während den ersten 1.5 Arbeitstagen wurden die Content Migratoren schrittweise an ihre Aufgaben herangeführt inklusive dem Migrieren erster Testseiten. Während der ersten Wochen wurde das Team jeweils kurz zusammengezogen und gebrieft, wenn es neue Content-Elemente oder spezielle Änderungen gab, die in der weiteren Migration berücksichtigt werden mussten.

„Tagesgeschäft“
Supervisor Lukas Honold teilte jeweils die Arbeitspakete, die aus der Seitenstruktur (IA oder Informationsarchitektur) hervorgingen den einzelnen Teammitgliedern zu, welche die Bearbeitung dann selbständig in Angriff nahmen, jedoch auch oft den Austausch suchten und so voneinander profitieren konnten. Mit Claudine Joss war eine kundenseitige Vertreterin mehrere Halbtage die Woche im Migrationsoffice anwesend. Dies ermöglichte das Klären vieler kleinen Fragen und Details, welche nur unser Kunde abschliessend beantworten konnte. Damit konnte die Effizienz sehr hoch gehalten werden und Fragen zeitnah geklärt werden. Die migrierten Seiten wurden abschliessend durch unseren Supervisor und die Kundenvertreterin einem Review unterzogen. Nicht zu vergessen sind die diversen Tools, welche eingesetzt wurden. Google Mail wurde zum Aufwandtracking inklusive Vergabe von Labels eingesetzt. Mithilfe von Google Docs wurde die Arbeitsverteilung und Fortschrittskontrolle auf Seitenebene erledigt und im Migrationshandbuch wurden die wichtigsten Migrationsanleitungen zentral abgelegt.

(more…)

Komplexe Deployments mit Drupal

Ein Stichwort das man immer wieder hört wenn es um Drupal geht ist «Community». Das liegt einerseits am zugrundeliegenden Kern, welcher mit Rechte- und Nutzerverwaltung, Tagging sowie Kommentarintegration von Haus aus viel mitbringt, was man für Auftritte mit Community-Fokus benötigt. Es liegt auch an den zahlreichen Modulen der Drupal-Community, welche die jeweiligen interaktiven Individualfunktionen bereitstellen. Spannend wird es nun, wenn neue Funktionen im laufenden Betrieb dazukommen.

Ausgangslage

Drupal pflegt sehr viel seiner Konfiguration in der Datenbank. Dies bedeutet prinzipiell, dass man entweder Dateien und Datenbank bei grösseren Funktionsänderungen komplett ersetzt oder die Datenbank erhält und alle Änderungen im Backend händisch auf der Live-Instanz nachträgt. Das händische Nachtragen ist bei grösseren Änderungen keine realistische Lösung, selbst wenn die Fenster für Downtime gross genug sind, allein schon aufgrund der Fehleranfälligkeit. Bei einer Seite mit viel User Generated Content scheidet das Ersetzen der Datenbank fast immer aus, wenn man nicht SQL-Tabellen per Hand zusammenführen möchte.

Features

Das Modul Features hat sich dabei in unserer Projekterfahrung als unverzichtbar erwiesen, um solche Deployments mit Drupal zu lösen. Ganz allgemein nimmt es Datenstrukturen wie Inhaltstypen, Felder, Menüs aber auch allgemeine Konfigurationen wie Berechtigungen aus der Datenbank und gibt diese in Form eines Moduls aus. Somit sind diese portabel und können durch das Aktivieren des erstellten Moduls deployed werden  (siehe auch Bundling site settings using Features). Die Versionierung hilft zudem dabei Veränderungen des Features einzustufen (z.B. direkte Übersteuerung gegenüber einer Überprüfung). Features zeigt dabei auch den jeweiligen Unterschied der Datenbank zur Codebasis in einem einfach zu bedienenden Frontend, was das Sichten von Abweichungen erleichtert.

Kurzum, es schafft Vertrauen, dass Einstellungen und Datenstrukturen so sind wie definiert, ohne dass man auf jedem System jede Administrationsseite individuell kontrollieren muss. Änderungen werden sofort sichtbar und können entweder durch erneuten Export in den Code integriert werden oder bei einem Anwenderfehler auch problemlos wieder rückgängig gemacht werden.

Es unterstützt aber auch bei der Entwicklung, da es die unabhängige Entwicklung von Funktionen ermöglicht, ohne dass auf dem gleichen Entwicklungssystem gearbeitet werden muss oder eine Datenbank geteilt werden muss. In Verknüpfung mit Gits intelligentem Fast-Forward-Merging lässt sich so ein sauberes und nachvollziehbares Commit- und Merge-Protokoll erreichen, welches funktionalen Code inklusive der benötigten Konfigurationsparameter enthält.

Content?

Wo die Drupalwelt hinter gewissen Enterprise-Systemen weiterhin zurückbleibt ist die Portabilität von Inhalten. Mit den oben beschriebenen Möglichkeiten lässt sich die Struktur von Inhalten ideal transferieren, der jeweilige Inhalt ist aber nicht ohne grössere Umstände von einer Instanz auf die andere gebracht, ohne dass die Datenbank ersetzt wird. Es verbleiben einem hierbei folgende stabile Möglichkeiten (mit denen wir gute Erfahrungen gemacht haben):

  • Export und Import von einzelnen Nodes: Besonders hilfreich bei komplexen Inhalten, wie einem Webform-Formular, das nicht mehrfach erfasst werden soll. Die Ausgabe des Exporters lässt sich wiederum auch in das VCS überführen und sichert somit die Transparenz der aktuellen Fassung.
  • Export und Import von Taxonomien: Der Transfer von Taxonomien mit Hilfe von Taxonomy CSV sollte für die meisten Szenarien ausreichen. Übersetzungen in Verbindung mit Hierarchie können etwas Handarbeit benötigen.
  • Einlesen von strukturieren Inhalten: Mit Feeds lassen sich Quellen wie CVS und XML mit moderaten Aufwand einmalig oder automatisch in Drupal als Inhalte einlesen, welche danach wie andere Inhalte weiterverwendet werden können. Wenn Inhalte in solchen Formaten zur Verfügung gestellt werden können, ist dies eine ideale Alternative zur Beschäftigung eines Content-Migration-Teams.

 

TYPO3 Updates – Versicherung oder überschätztes Sicherheitsbedürfnis?

Ein wenig provozierend der Titel dieses Blogposts – natürlich mit Absicht so gewählt. Die Antwort auf die obige Frage muss lauten: Abwägen!

Pauschal kann man nicht sagen, dass jedes erschienene Update auch zwingend die eigene TYPO3 Website betrifft und eingespielt werden sollte.  Leider ist es in der Praxis häufig so, dass die Kosten und Mühen für ein Update „gespart“ oder verdrängt werden und lieber abgewartet wird. Aber warten auf was?

Das ist dann in etwa so, wie wenn man mit seinem Internetauftritt „Russisch Roulette“ spielt. Gerade bei einer Firmenwebsite ist eine solche Entscheidung aus Sicherheitsüberlegungen nicht zu empfehlen.

Bezieht man sich auf die Sicherheit eines Systems, dann lassen sich Updates in die folgenden priorisierten Kategorien einteilen:

  • Prio 1: Security Issues -> Sicherheitslücken welche entdeckt wurden
  • Prio 2: Bugfixes -> Behebung von Fehlern in der Software
  • Prio 3: Improvements -> Funktionserweiterungen

Dabei kann natürlich ein Update auch Verbesserungen in allen 3 Bereichen beinhalten. Weiterhin gilt es zu unterscheiden, ob ein Update das TYPO3 Basissystem betrifft (den sogenannten CORE) oder sich auf Erweiterungen bezieht.  Genau hier kommt der Effekt zu tragen, dass nicht jedes Security Issue die eigene Website betreffen muss, da ja auch nicht überall dieselben Erweiterungen und Versionen eingesetzt werden.

Wie geht man also am besten als IT-Verantwortlicher mit dem Thema TYPO3-Updates um?

(more…)

Die Organisation eines Contentmigrations-Offices im Rückblick – TEIL I

Seit Anfang April bin ich nun schon bei Namics tätig, wobei ich bereits im letzten Sommer einen ersten Einsatz als Content Migrator bestreiten durfte. Gerne blicke ich deshalb mit einer dreiteiligen Blogpost-Serie auf mein „erstes“ Projekt bei Namics zurück.

Vor etwas mehr als einem Jahr fiel der Startschuss für die Content Migration des Raiffeisen.ch Redesigns. 5 Migratoren, 1 Supervisor und 1 kundenseitige Vertreterin nahmen sich der Herausforderung der ca. 2’500 zu migrierenden Seiten an. Die Organisation des Contentmigrations-Offices sollte dabei nicht unterschätzt werden, weshalb ich im Folgenden einen kurzen Einblick zu den wichtigsten Punkten gebe. Kurz zu den Personen: Verantwortlich auf Seiten Namics waren André Meier als Projektleiter für das Redesign und Lukas Honold als Teilprojektleiter für die Content Migration. Ich engagierte mich, wie bereits erwähnt, als einer der 5 Content Migratoren.

(more…)

Page 30 of 201« First...1020...2829303132...405060...Last »