Loading

Prototyping der Schlüssel zu Projekterfolg

Wenn es darum geht, erfolgreich eine neue App zu entwickeln, alle Requirements zu erfüllen, Entwicklungszeit und -Kosten einzuhalten und ein Lachen auf das Gesicht des Kunden zu zaubern, ist kein Werkzeug wertvoller als ein detaillierter und flexibler Prototyp.

Effektives Prototyping hilft, Probleme bereits am Anfang eines Projektes zu eliminieren und sorgt dafür, dass Entwickler zielorientiert arbeiten können. In diesem Artikel möchte ich darauf eingehen, warum detailliertes Prototyping heute eines der wichtigsten Werkzeuge in erfolgreichen Software Projekten ist.

Projekterfolg mit Prototyping

Ein Prototyp ist ein nicht-funktionierendes Modell der fertigen Anwendung. Die Hauptaufgabe des Prototyps ist es, dem Benutzer sehr früh ein Bild der fertigen App zu liefern, so dass sich Fehler und Probleme im Entwicklungsprozess möglichst schnell aufdecken und beheben lassen. Dies verhindert unnötige Entwicklungszyklen und spart dadurch wertvolle Entwicklungszeit.

Stellen Sie sich vor sie Entwickeln für Ihr Unternehmen eine neue Business Anwendung oder für Ihr junges Startup ein MVP (Minimum Viable Product). Bereits bevor Sie mit der Entwicklung beginnen, haben Sie als Kunde schon eine relativ klare Vorstellung davon, was die neue Anwendung alles können muss. Beim Projekt-Kickoff ist die Informationsasymmetrie zwischen Auftraggeber und Entwickler am grössten. Denn der Entwickler kennt weder das zu lösende Problem, noch Ihre Lösungsidee. Um zielführend und effizient entwickeln zu können, muss diese Wissenslücke so schnell wie möglich ausgeglichen werden.

Im klassischen Softwareprojektmanagement wurde zu diesem Zweck ein grosses Pflichtenheft geschrieben. Ich selber habe während meiner Lehrzeit in den 90er Jahren Pflichtenhefte mit mehreren tausend Seiten gesehen und mitgeholfen diese umzusetzen. Kunde und Projektleitung waren damals der Meinung, dass ein detailliertes und vollständiges Pflichtenheft, die Grundlage für ein gutes Programm sei. Daher hat man im Projektvorfeld Wochen und Monate wertvoller Entwicklungszeit ins Schreiben und Validieren des Pflichtenheftes investiert.

Leider hat sich gezeigt, dass dieser Prozess sehr oft nicht zielführend ist. Denn nur bei den einfachsten Programmen ist es möglich, alle Anwendungsfälle im Vorfeld genau festzulegen. Insbesondere wenn darum geht, einen hohen Grad an Automation und Usability zu erreichen ist es schwierig aus dem Nichts das fertige, noch unbekannte Produkt zu beschreiben. Während der Umsetzung gewinnen Auftraggeber und Entwickler ein vertieftes Verständnis der zu lösenden Probleme und entdecken einfachere und bessere Wege das ursprüngliche Problem zu lösen.

Die agile Software Entwicklung setzt genau bei diesem Punkt an. In kurzen Abständen werden funktions- und testfähige Versionen einer Anwendung realisiert. Diese Alphaversionen werden dem Auftraggeber zur Verfügung gestellt, damit er sie ausprobieren und ausgiebig testen kann. Hält er eine laufende App in den Händen, sieht er schnell, ob seine Bedürfnisse erfüllt werden und welche Änderungen notwendig sind. So kann er Änderungen und Verbesserungen direkt in den Entwicklungsprozess einbringen. Diese Entwicklungsiterationen, auch Sprints genannt, werden so lange wiederholt, bis das Programm alle Anforderungen und Wünsche des Kunden erfüllt.

Dieser Prozess ist äusserts zielführend. Damit die Kosten aber nicht aus dem Ruder laufen, muss die Anzahl notwendiger Sprints möglichst klein gehalten werden. Genau an diesem Punkt setzt Prototyping an. Gutes Prototyping sorgt dafür, dass ein Software Projekt mit der minimal nötigen Anzahl an Sprints realisiert werden kann.

Abhängig von der Art der zu entwickelnden Applikation gibt es verschiedene Prototypen. Die einfachste Form eines Prototypen ist ein Wireframe. Das Wireframe ist eine oft von Hand gefertigte Zeichung des Applikationslayouts, welche häufig in der ersten Projektphase eingesetzt wird. Wireframes werden meistens direkt mit dem Kunden erarbeitet und liefern die Grundlage für die folgenden Prototypen.

App Wireframe Beispiel

Wireframe Beispiel einer mobile App

Auf das Wireframe folgt das Mockup. Das Mockup besitzt bereits das «Look and Feel» der fertigen Anwendung. Bei reinen Design Anwendungen, werden Mockups häufig nur mit einem Grafikprogramm angefertigt. In der Applikationsentwicklung, insbesondere bei webbasierten Anwendungen werden Mockups normalerweise bereits vollständig mit HTML, CSS und JavaScript realisiert. Daher fühlt sich ein gutes Mockup bereits wie eine vollwertige Applikation an. Wenn man im Mockup bereits navigieren kann, spricht man auch von online Prototypen.

Es lohnt sich in jedem Fall, Zeit in die Entwicklung eines Prototypen zu investieren. Die Prototyp-Entwicklung ist einfach und schnell. Aus diesem Grund sind die Sprints am Prototypen häufig sehr kurz. Mit effizientem Prototyping lassen sich innert weniger Entwicklungstage bereits die wichtigsten Probleme und Unklarheiten aus dem Weg räumen. Iterationen über das gleiche Problem können mit einem guten Prototypen verhindert werden.

Ist der Prototyp fertig, fehlt nur noch Frontend-Logik und das Backend. Mit Hilfe des fertigen Prototypen ist die Entwicklung des Backends viel einfacher. Die Entwickler haben ein klares Bild vor Augen, was entwickelt werden muss und der Code Prototypen kann meistens mit kleinen Anpassungen ins fertige Programm übernommen werden.

Starkes Prototyping für Ihre Softwareprojekte

Für uns ist Prototyping ein sehr wichtiges Werkzeug bei der erfolgreichen Umsetzung von anspruchsvollen Apps und Webapplikationen. Bei kleinen Programmen liefern wir den ersten Prototypen direkt bei der Offertstellung. Anschlissend wird der Prototyp solange verbessert, bis Sie zu 100% zufrieden sind. Dadurch verkürzen wir die Entwicklungszeit und stellen sicher, dass das Programm Ihren Bedürfnisse und Anforderungen gerecht wird.