2. Mai 2016

Seit Ende 2015 läuft unser Entwicklungsprozess unter einer neuen Philosophie: «Frontend First». Dieser Blogpost soll zeigen, was «Frontend First» heisst und was das für unsere Kunden bedeutet.

Was bedeutet «Frontend First»?

Die klassische Herangehensweise an eine neue Software (Backend First) bestand daraus, einen Anforderungskatalog einer bestimmten Grösse zu analysieren, daraus ein Modell zu erstellen, um dann die beste Architektur der Lösung zu entwickeln. Das Frontend resp. das User Interface entstand dabei meistens als Folge dieser Architektur und wurde oft erst als letztes Glied der Entwicklung gesehen, als «Feinschliff».

Unserer Meinung nach könnte dieses Vorgehen heute verkehrter nicht mehr sein. Ein Benutzer kommt als Erstes mit dem Frontend in Berührung, weshalb sollte dieses erst im letzten Arbeitsschritt behandelt werden?

Heutzutage bestehen Webapplikationen im Prinzip aus zwei kommunizierenden Applikationen, dem Frontend und dem Backend. Dabei ist vor allem die gemeinsame Schnittstelle zwischen Front- und Backend entscheidend, die restliche Architektur ist bei beiden somit frei wählbar. Dies ermöglicht uns viel grössere Freiheiten in unserer Herangehensweise an die Konzeption und Entwicklung einer Webapplikation.

Neues Vorgehen

Nach dem Frontend First Ansatz veranstalten wir zuerst einen Kreativ-Workshop und im besten Fall ein «Fast Prototyping» beim Kunden. Dabei wird der Kreativität des Kunden freien Lauf gelassen, um Ideen zur gegebenen Problemstellung zu generieren. So entstehen bereits potentiell mehrere Prototypen, mit denen wir die erdachten Ideen an Usern testen und von diesen wertvolles Feedback einholen können. Die Technologie für so einen Prototyp wählen wir je nach Anforderung an den Prototypen; Es kann ein klickbares Frontend sein, eine Sammlung an Screenshots, eine Collage, ein Papierprototyp. Hauptsache ist, das Konzept wird aufgezeigt und kann getestet werden.

Auch beim anschliessenden Projekt arbeiten wir in jedem Sprint jeweils nach dem selben Verfahren:

Wir arbeiten den UX-Teil sowie die Umsetzung des Frontend als Erstes aus, um damit möglichst bald die Bedürfnisse und das Verständnis des Kunden im Projektteam prüfen zu können. Dabei entdecken wir auch schnell versteckte Bedürfnisse, die noch nicht explizit genannt wurden und können diese in das Projekt aufnehmen. Zudem können wir hier einen Aspekt der Software prüfen, der sich nur schwer in einer Spezifikation umschreiben lässt: Wie fühlt sich das Produkt an, welche Emotionen löst es aus?

Sobald unser Konzept dann vom Benutzer sowie vom Product Owner bestätigt wurde, besteht der nächste Schritt aus der Umsetzung des (meist aufwändigeren) Backend. Allenfalls kann aber vor diesem Schritt auch einmal eine Idee verworfen werden, ohne dass dies zu fest schmerzt («fail early, fail often»).

Die Frontend First Philosophie reiht sich daher sehr gut in die agile Denkweise ein.

Fazit

Frontend First bietet sowohl unseren Kunden als auch unseren Teams viele Vorteile:

  • Unsere Kunden können näher am Entwicklungsprozess teilnehmen, falls sie das wünschen.
  • Der Fortschritt der Software ist transparenter, sichtbare Ergebnisse werden schneller erreicht.
  • Der Kunde und das Team sprechen die gleiche Sprache; Konzepte, Pläne und Ideen werden visuell kommuniziert anstelle eines technischen Diagramms.
  • Ideen und Konzepte können mit einem relativ kleinen Aufwand geprüft und deshalb «schmerzloser» verbessert, geändert oder gar verworfen werden.
  • Software, die mit diesem Ansatz entwickelt wird, kann durch die Benutzer viel früher getestet werden. Dadurch ist es möglich, die emotionale Reaktion der Benutzer zu erleben.

Wir setzen auf den Frontend First-Ansatz, weil wir glauben, mit diesem die beste den Kundenbedürfnissen entsprechende Software bauen können.

zum Blog

Marc Thomann 13. Sep 2017 Software entwickeln – das kann ja jeder

Vom Studenten zum empathischen Software Developer

Markus Gallagher 24. Aug 2017 Code Review mit Pull Requests

Tech Breakfast August 2017

7. Feb 2017 So you want a chatbot?

In Soviet Russia, InquiziBot isn’t that much fun

User Experience Design

Damits funktioniert

Unsere Experten sorgen dafür, dass die Software die Bedürfnisse abdeckt und einfach zu bedienen ist.

Software Engineering

Individuelle Software aus der Cloud

Individuelle Software für Mobile- und Web-Lösungen vereinfachen Prozesse und erleichtern Ihnen die Arbeit. Damit Sie sich aufs Wesentliche konzentrieren können.

Kontakt aufnehmen