Prototypen in der Softwareentwicklung: wann und wieso soll man sie erstellen?
Veröffentlicht am: in der Kategorie: Internet
Es spart Ressourcen wie Reputation, Zeit und Geld wenn in der Softwareentwicklung Prototypen erstellt werden, bevor ein Produkt von Entwicklern programmiert wird. Zudem können Fehler in der Konzeption und der Funktionalität schnell entdeckt werden, da ein Prototyp umfangreichem Testing mit Usern unterzogen werden kann.
Warum sollte man mit Prototypen in der Softwareentwicklung arbeiten? Die Antwort auf diese Frage ist nicht wirklich eindeutig, denn nicht immer ist es sinnvoll einen Prototypen einer Web Applikation, einer iPhone App oder einer Android App zu erstellen. Man müsste erstmal fragen:
1. Wann lohnt es sich nicht einen Prototypen erstellen?
Vor allem bei Applikationen, die wenig komplex sind. Wenn ich eine App wie "Yo" programmieren will - Yo ist ein gutes Beispiel. Denn bei Yo handelt es sich um eine Applikation, die auf einem Smartphone gestartet wird und man nur eine einzige Funktion zur Verfügung hat: nämlich einen Gruß "YO!" an alle aus der Kontaktliste zu schicken. Bis auf dieses Beispiel bin ich mir ziemlich sicher, dass sich ein Prototyp immer lohnt. Denn durch konzeptionelles Arbeiten lassen sich eine Menge Zeit und Geld sparen. Obwohl das Konzipieren von Prototypen Zeit kostet, ist es am Ende lohnenswert diese zu erstellen.
2. Wann lohnt es sich einen Prototypen zu erstellen?
Immer dann, wenn die Applikation nicht supertrivial ist. Ein Prototyp hat den großen Vorteil, dass er bis zu einem gewissen Grad an Funktionalität, komplett funktionsfähig erstellt werden kann. Das heißt, das mein Prototyp alles macht, was die fertige Applikation am Ende tun soll. Dadurch kann man User-Tests durchführen und die ersten Schwachstellen ermitteln, ohne das man die ganze Programmierung und Entwicklung abgeschlossen hat. Ein Prototyp kann einen Aufschluss darüber geben, ob eine Applikation überhaupt entwickelt werden soll. Denn erst wenn die User die App überhaupt ausprobieren konnten, ist man in der Lage zuverlässige Aussagen zu treffen, ob, was und wie entwickelt, sprich programmiert werden soll.
Man kann kein perfektes Produkt (auch Softwareprodukt) erstellen, ohne unterschiedliche Sachen ausprobiert zu haben und ein wenig rumgespielt zu haben. Das liegt nicht daran, dass die Entwickler oder Designer wenig begabt sind und nicht in der Lage sind, funktionsfähige Software beim ersten Versuch zu erstellen. Softwareentwicklung heißt deshalb Entwicklung, weil es eine Weile dauert, bis das Fertige Produkt am Ende fertigentwickelt wurde. Eine Initialidee kann man immer verbessern, ändern und anpassen. Und genau das ist das Ziel der Entwicklung. Manchmal beginnt man mit einem Produkt, am Ende kommt etwas ganz anderes heraus. Ohne die Initialidee wäre man auf das Produkt am Ende nicht gekommen.
Der Größte Vorteil von Prototypen und konzeptioneller Arbeit.
Der größte Vorteil beim Arbeiten mit Prototypen und Konzepten liegt darin, dass man auch die UX (User Experience) simulieren kann. Sie dienen dem Kommunikationsprozess zwischen den Programmierern und den Nutzern, bzw. anderen Stakeholder. Dadurch schützt ein Prototyp vor immensen Kosten die auffallen können, falls man Fehler bei der Entwicklung macht. Die Entwicklung ist viel teurer und dauert länger als konzeptionelle Arbeiten. Die Fehler, die man auf diesem Gebiet begehen kann, drücken sich nicht immer nur in Geldeinheiten aus. Sie können auch die Reputation eines Unternehmens oder eines Entwicklers schädigen.
Ein Prototyp ist für mich eine Art Legitimation zum Scheitern. Er öffnet eine Spielwiese auf der man sich austoben kann, Ideen ausprobieren kann und sinnvolle Entscheidungen in das Endprodukt einfließen lassen kann. Ich kenne keinen Entwickler der in seiner Arbeit absichtlich scheitern will. Deshalb eignen sich Prototypen hervorragend um Schwachstellen in dem zukünftigen Produkten zu ermitteln und diese zu beseitigen, noch bevor das Produkt auf den Markt kommt.
Konzepte und Prototypen erstellen ist keine Neuerfindung der Internetära. In Wirklichkeit schufen Menschen schon vor mehreren hundert Jahren konzeptionelle Entwürfe von Dingen, die sie verwirklichen wollten. Architekten arbeiten mit Papier oder Holz Prototypen, Automobilhersteller arbeiten mit Ton und Aluminium Prototypen. Die Skizzen von Leonardo da Vinci sind nichts anderes als Prototypen von Erfindungen die er verwirklichen wollte.
Ein Prototyp ermöglicht es also eine initiale Erfahrung mit dem noch nicht existierenden Endprodukt zu machen. Und das betrifft jeden erdenklichen Design-Bereich oder Domäne.
Prototyping hilft Usability zu verbessern
Einer der größten Vorteile die Prototypen bieten ist die Möglichkeit Tests durchzuführen. Einen Prototypen ist es einfacher komplett umzuwerfen, umzugestalten, zu verändern also ein fertiges Produkt.
Vor allem bei der Entwicklung von Applikationen für Smartphones und von Webseiten erweist sich Prototyping als ein immens wichtiges und effizientes Werkzeug, den sich die Entwickler zunutze machen. Ich persönlich arbeite mit dem Programm AXURE RP 7. Mit diesem Programm ist es möglich vollständige Quasi-Apps und Quasi-Seiten zu entwerfen, diese zu testen, Fehler zu finden und erst dann zu Programmieren. Dadurch wird es möglich mehrere Interationen von User-Tests durchzuführen und eine Applikation oder eine Website auf Herz und Nieren zu prüfen. Damit ist jeder Entwickler oder Designer in der Lage nutzerzentrierte, nutzerorientierte Applikationen zu erstellen.