Home » Das steckt hinter Component Driven Development

Das steckt hinter Component Driven Development

Nahezu alle Bereiche in der Projektentwicklung durchlaufen stetig einen Weiterentwicklungsprozess – alles wird agiler, spezifischer und vor allem priorisierter. Das gilt natürlich in großen Teilen für die Entwicklung, aber auch immer mehr im Design bzw. Frontend werden neue Arbeitsmethoden präsenter. Ein Beispiel dafür ist das Component Driven Development. Was hinter diesem Begriff steckt, beschreiben wir hier.

 

Niemals alles der Reihe nach

Bevor wir genauer auf die Eigenschaften von Component Driven Development (CDD) eingehen, macht es Sinn, sich die Beweggründe für eine Anpassung der Arbeitsweise anzuschauen. Jede Weiterentwicklung ist die Konsequenz aus gesammelten Erfahrungen und dem natürlichen Drang, Arbeitsprozesse zu optimieren. In der Projektentwicklung ist dies vor allem die Agilität, die ständig neue Ansätze etabliert. So wurde zum Beispiel die einst beliebte Wasserfallmethode nahezu vollständig von agilen Methoden abgelöst, die es den Entwicklungsteams leichter macht, auf Änderungen und neue Anforderungen zu reagieren.

Dieses Beispiel lässt sich auch sehr gut auf das Design und die Frontend-Entwicklung projizieren: In der Vergangenheit (bei einigen Unternehmen auch noch aktuell) wurde zuerst das Konzept entwickelt, danach das Design, das darauf basieren soll und ganz Schluss erfolgte erst die Umsetzung. Dieses Vorgehen klingt zunächst sehr plausibel, schließlich wird die Arbeit immer mit einem genauen Plan im Hinterkopf angegangen. Aber wie bei der Wasserfallmethode hatte das Ganze ein paar Haken und führt im Regelfall zu folgenden Problemen:

  • Lange Umsetzungsdauer: Dadurch, dass alles Stück für Stück und der Reihe nach entwickelt wird, kann es zu Verzögerungen kommen und Teile, die weniger komplex und deshalb schneller umzusetzen sind, bleiben liegen, weil sie noch nicht „an der Reihe sind“.
  • Verzögerung bei Testing und Feedback: Aufbauend auf dem vorangegangenen Problem kommt es logischerweise auch zu Verzögerungen beim Testing, weil immer die komplette Entwicklung abgewartet werden muss, bevor sich das Qualitätsmanagement an die Arbeit machen kann. Darüber hinaus kann ein gefundener Bug, der ganz am Anfang bei der Entwicklung entstanden ist, eine komplette Neuentwicklung verursachen. Dies wäre für Kunde und Dienstleister ohne Zweifel die schlimmste anzunehmende Situation.
  • Handlungsmöglichkeiten erst zum Schluss: Wie bereits erwähnt, tauchen durch diese Arbeitsmethode Probleme oder Herausforderungen mit dem Konzept oder dem Design nur in der letzten Phase auf. So fällt zum Beispiel erst bei der Umsetzung auf, dass eine Idee technisch gar nicht umsetzbar ist, Designs inkonsequent sind oder gar das ganze Konzept unklar ist.

Bei dieser Übersicht wird schnell klar, dass der „althergebrachte Weg“ Probleme mit sich bringt, die alle zusammenhängen und sich gegenseitig verstärken – es entsteht sozusagen ein ganzer Rattenschwanz an Schwierigkeiten. So startete im Design ein Umdenken, auf welche Weise sich diese Problemkette verhindern lässt. Eine Antwort darauf ist eben Component Driven Development, quasi das Frontend-Äquivalent der agilen Entwicklung.

 

Component Driven Development ist die Verbindung mehrerer Ansätze

Nicht nur die Herangehensweise der Frontend-Entwicklung hat sich weiterentwickelt, sondern natürlich auch die Frontend-Architektur selbst. Wie im gesamten Spektrum des E-Commerce gilt auch hier: Neue Technologien erfordern neue Wege. Ein großer Umbruch für das Frontend war zum Beispiel das Aufkommen der Headless-Technologie. Mehrere Einzelteile ergeben ein schnelleres, flexibleres und agiles großes Ganzes. Und so ähnlich lässt sich auch der Ansatz des Component Driven Developments beschreiben. Wie der Name schon verrät, wird die Entwicklung auf einzelne Komponenten aufgeteilt und priorisiert.

Demnach werden Designs nicht mehr seitenbasiert gestaltet, sondern fußen eben auf den jeweiligen Komponenten. Mehrere Komponenten zusammengesetzt und kombiniert ergeben schließlich eine fertige Seite, die einem konsequenten Design-Konzept folgt. Man kann sich diese Art der Entwicklung also ungefähr wie einen Website-Baukasten vorstellen, in dem es vorgefertigte Elemente wie Slides, Infoboxen, Textbereiche gibt.

Da die einzelnen Komponenten unabhängig voneinander entwickelt werden, lassen sie sich auch einzeln testen und zu Demonstrationszwecken anwenden. Allein diese Tatsache kann sämtliche oben genannte Probleme von vornerein verhindern.

Außerdem: Im Gegensatz zu dem seitenbasierten Design, lassen sich die Komponenten durch ihre Unabhängigkeit zum einen parallel entwickeln und können zum anderen jederzeit weiterentwickelt werden, ohne dass das ganze Konzept dann nicht mehr passt.

 

Iterative Zusammenarbeit ist auch im Design die beste Wahl

Eigentlich ist Component Driven Development vom Ansatz her streng betrachtet gar nichts sonderlich Neues – schließlich basiert es auf der UNIX-Philosophie. Und natürlich klingt das Ganze auch nicht ganz unbeabsichtigt wie ein auf das Design getrimmter Klon der agilen Projektmethode.

 

[otw_shortcode_info_box border_type=“bordered“ border_color_class=“otw-black-border“ border_style=“bordered“ rounded_corners=“rounded-10″ background_color_class=“otw-silver“]UNIX-Methode

Die UNIX-Methode ist eine Entwicklungsphilosophie von Douglas McIlroy, der als Pionier der Komponenten-basierten Entwicklung gilt, auf der auch das gleichnamige UNIX-Betriebssystem basiert. Im Wesentlichen lässt sich die Philosophie in drei Haupteigenschaften, die eine Software haben sollte, aufteilen:

Die Komponenten sollten…

  • nur eine Aufgabe erledigen und diese auch gut machen
  • so programmiert sein, dass sie mit den anderen Komponenten kompatibel sind
  • eine universelle Schnittstelle verstehen und zwar die der Verarbeitung von Textströmen.

Vor allem die ersten beiden Eigenschaften finden sich zum Beispiel im Component Driven Development sehr stark wieder.[/otw_shortcode_info_box]

 

Agile Methoden passen in ihrem Ansatz sehr gut mit Component Driven Development zusammen und lösen wie bereits erwähnt viele der genannten Probleme. Außerdem ist die Ähnlichkeit von CDD mit agilen Projektmethoden nur logisch, denn so fügt sich das Design nahtlos in die restlichen Projektabläufe ein.

Zusammengefasst: Wenn die Bereiche UX (Design und Konzept) und IT (Entwicklung und Systemadministration) in diesem Arbeitsmodus zusammenarbeiten, entstehen folgende Vorteile:

  • schneller Feedbackzyklus
  • Aufgaben können leichter aufgeteilt, parallel entwickelt und priorisiert werden
  • Transparenz – jeder Schritt ist für alle Projektbeteiligten und Stakeholders ersichtlich
  • Komponenten sind abgekapselt („sandboxed“) und sind leichter zu testen, weil sie sich überall gleich verhalten.

Auch wenn Component Driven Development – genau wie bisweilen viele Weiterentwicklungen im E-Commerce und in der Projektentwicklung – wie ein weiteres Buzzword rüberkommt, hat diese Methode doch absolut ihre Daseinsberechtigung. Und ist deshalb nicht umsonst mittlerweile eine weit verbreitete Herangehensweise beim Design und der Frontend-Entwicklung.

 

Bild: freepik

 

Ihr Kontakt

Hartwig Göttlicher
Hartwig Göttlicher
Head of Business Development
Customer Journey & Click Flow – Achtung Verwechslungsgefahr!
Zwei Mädchen mit einem Apfel und einer Birne auf dem Kopf

Selbst die erfahrensten Online-Marketing-Profis vergessen, das Customer Journey und Click Flow zwei unterschiedliche Ansätze sind. Die Unterschiede erklärt.

Modernes Qualitätsmanagement: Methoden und Werkzeuge
Modernes Qualitätsmanagement: Methoden und Werkzeuge

Die Werkzeugkiste eines Qualitätsmanagers ist so facettenreich wie das moderne Qualitätsmanagement selbst. Wir zeigen und erklären die wichtigsten Methoden.

AI Experience Shop von valantic: Die intelligente Zukunft des E-Commerce
Mittig im Bild steht der Schriftzug: Willkommen in der Zukunft. Darunter in einer kleineren Schriftgröße: Unser AI Experience Shop. Links der Schrift ist ein kleiner Roboter platziert. Rechts der Schrift sieht man einen aufgeklappten Laptop sowie darüber ein rotes, welliges Design-Element.

Entdecken Sie unseren valantic AI Experience Shop: KI-Lösungen für ein optimales Kundenerlebnis im E-Commerce!

Datenintegration mit Adobe: Vereinheitlichte Daten als Fundament einer nahtlosen, personalisierten Customer Journey

Optimieren Sie die Customer Journey durch Datenintegration. Erfahren Sie hier welche Lösung Adobe bietet und welche Rolle Datenschutz spielt!

Adobe Analytics: Tipps zur Implementierung und Optimierung im E-Commerce
Frau schaut und zeigt auf einen Bildschirm mit statistischen Grafiken

Erfahren Sie, wie wie eine durchdachte Implementierung von Adobe Analytics im E-Commerce zum Erfolg führt und wie die Nutzung optimal Read more

Shop-Design: Welche E-Commerce Trends den Erfolg boosten
Ein Tablet liegt auf einem Tisch. Auf der Bildschirmoberfläche ist ein steigender Kurvenverlauf zu sehen und die Hand eines Mannes folgt der Kurve.

Entdecken Sie, wie innovatives Shop-Design die Conversion Rate steigert. Tipps & Trends für effiziente Optimierung!

Cyberkriminalität mit KI bekämpfen: Tipps für E-Commerce Unternehmen
Roboterhand auf einer Laptop-Tastatur mit Schlosssymbol auf dem Bildschirm

Lesen Sie im Gastbeitrag von Maxcluster, wie KI im E-Commerce bei der Betrugsprävention hilft und vor Cyberkriminalität schützt.

KI im E-Commerce: 8 effiziente Einsatzmöglichkeiten
KI im E-Commerce

Entdecken Sie 8 effiziente Einsatzmöglichkeiten von Künstlicher Intelligenz (KI) im E-Commerce und optimieren Sie Ihren Onlineshop!

Über den Autor