Prototyping: Fluch oder Segen?

Ist ein Prototyp in der Softwareentwicklung wirklich so wichtig? Worauf kommt es beim Prototyping an? Wie geht man vor, wo lauern Fallstricke? Der bekannte amerikanische Autor Alan Cooper sinniert in seinem Beitrag über den Sinn und Unsinn von Prototypen.

Prototyping: Fluch oder Segen?

Ist ein Prototyp in der Softwareentwicklung wirklich so wichtig? Worauf kommt es beim Prototyping an? Wie geht man vor, wo lauern Fallstricke? Der bekannte amerikanische Autor Alan Cooper sinniert in seinem Beitrag über den Sinn und Unsinn von Prototypen.

Code oder Beton?

Was ist schwieriger: Ein Programm mit 1000 Codezeilen oder eine einen Quadratmeter große Betonplatte? Die Betonplatte ist 30 Zentimeter dick und innen mit einem Stahlgitter verstärkt. Schon dreißig Kubikzentimeter davon wiegen fast 100 Pfund. Die Software dagegen existiert physikalisch fast gar nicht. Sie wiegt nichts, sie braucht keinen Platz. Ein paar Mikroampere und Bits flitzen von Null auf Eins, ohne dass man sie irgendwie greifen könnte. Die Antwort auf meine Frage ist einfach, oder?

Was ist das beste Hilfsmittel für Software-Design: Visual Basic oder ein gespitzter Bleistift und ein paar Bögen Papier? Visual Basic ist eine mächtige, flexible integrierte Entwicklungsumgebung. Sie hat einige Produktpreise eingeheimst. Papier ist nicht interaktiv. Es bietet keine Auswahl vorgefertigter Bedienungselemente. Es liegt nur da, und Sie müssen die ganze Arbeit machen. Die Antwort auf meine Frage ist einfach, oder?

Was die erste Frage angeht: Wenn Sie geantwortet haben, Code sei einfacher zu ändern, liegen Sie leider falsch. Um eine Betonplatte kleinzukriegen brauchen Sie Hans und Dieter und einen Vorschlaghammer. Hans und Dieter werden niemals fragen "Warum?". Sie müssen Änderungen, die sie machen sollen, nicht vor ihnen rechtfertigen, um sie zum Arbeiten zu bringen. Die beiden schnappen sich einfach ihren Vorschlaghammer und zertrümmern die Betonplatte. Und sie hören erst auf damit, wenn sie mit ihrer Arbeit fertig sind.

Eigensinnige Programmierer

Wollen Sie aber Code ändern, haben Sie sich mit einem Programmierer herumzuschlagen. Sie müssen diesen Programmierer davon überzeugen, das Modul nochmals zu überarbeiten. Denn der Programmierer wird sich weigern, in einen funktionierenden Code einzugreifen. Er will einen guten Grund für die Änderung hören. Und er hat sicherlich eine andere Meinung als Sie. Natürlich erweist er sich als überaus streitlustig. Er nennt Ihnen mehrere Gründe, warum Sie falsch liegen. Und zwar Gründe, über die es sich schwer diskutieren läßt. Und sogar dann, wenn Sie ihm eine Einigung abgerungen haben, ändert er vielleicht seine Meinung, ohne Sie zu fragen, und liefert Ihnen etwas ganz anderes, als sie eigentlich wollten.

Glauben Sie mir, es ist leichter, eine Betonplatte zu zertrümmern, als Programmcode zu modifizieren. Es ist wie bei einem dieser Rätsel: Wie viele Kalifornier braucht man, um eine Glühbirne zu wechseln? Nur einen, aber die Glühbirne muss damit einverstanden sein, ausgewechselt zu werden. Wir haben es hier mit mehr als nur der physischen Welt zu tun. Wir müssen uns mit dem Gemüt des Programmierers auseinandersetzen - ein Stoff, der widerspenstiger ist als reiner, stahlverstärkter Beton.

Was die Frage "Prototyping versus Papier" als Designwerkzeug angeht: Wenn Sie Visual Basic gewählt haben, liegen Sie wieder falsch. Jeder weiß, dass Visual Basic ein großartiges Tool zum Entwickeln von Prototypen ist. Viele Visual Basic-Programmierer designen deshalb Benutzeroberflächen über das Prototyping. Täglich unterhalte ich mich mit Leuten, die völlig fasziniert sind von den tollen Prototypen, die sie produzieren. Doch während sie begeistert erzählen, schüttelt es mich. Denn diese Prototypen bringen den Designprozess völlig durcheinander.

Programmierung und Design sind zwei Paar Schuhe

Diese Leute halten Programmierung für Design. Doch das ist ein Trugschluss: Prototyping ist Programmierung.

Die meisten Softwaredesigner und Entwickler lieben das Prototyping. Doch die Freude, die sie empfinden, ist die Freude am Konstruieren, am Bauen, und nicht am Designen. Ich habe selbst Hunderttausende Zeilen Code geschrieben, viele von ihnen für Prototypen, und auch ich mache das gerne. Es ist eine sehr kreative und intellektuell befriedigende Tätigkeit. Doch das ist nicht Software-Design! Software-Design passiert dann, wenn Sie den Computer ausschalten. Software-Design ist ein dynamischer Prozess, der laufend Flexibilität, Anpassungsfähigkeit und Offenheit gegenüber Änderungen erfordert. Es ist ein komplexer Prozess, bei dem der Anwender im Mittelpunkt steht, und der andauerndes "trial and error" beinhaltet.

Programmierung dagegen ist ein komplexer Prozess, der den Computer in den Mittelpunkt stellt. Dies beinhaltet zwar auch andauerndes "trial and error", hat aber mit Design nichts zu tun. Der Code ändert sich dauernd, aber er sträubt sich ziemlich hartnäckig gegen Veränderungen durch "gewaltsame" äußere Einwirkungen. Und in diesem Zusammenhang sind die Bedürfnisse der Anwender "gewaltsame" äußere Einwirkungen.

Schmerzhafter Weg zur Erkenntnis

Okay, ich gebe zu: dass ist Schwarz-Weiß-Malerei und die Realität ist um einiges vielschichtiger. Aber warum den Trip zur besseren Erkenntnis beginnen, in dem man seinen Fuss am Boden festnagelt? Sicher ist es so auch möglich, zu einer Einsicht zu gelangen. Aber nur sehr langsam und schmerzvoll. Und Sie werden hinkend ankommen.

Bewertungen und Kommentare

(nur angemeldete Benutzer)

Diese Funktion steht nur eingeloggten Nutzern zur Verfügung. Jetzt einloggen
Gesamt
Bewertungen 0
Alle anzeigen