Seminarvortrag - Beiträge zum Software Engineering SoSe 11 Prototyping Björn Kahlert Institut für Informatik Freie Universität Berlin 09.06.2011
Gliederung 1. Definition & Motivation 2. Klassifikation von Prototyping 3. Formen von Prototypen 4. Anwendungen - Wo wird Prototyping verwendet? 5. Werkzeuge - Wie erstellt man Prototypen? 6. Empirische Untersuchungen 7. Fazit Björn Kahlert, Prototyping, Freie Universität Berlin 2
Definition Methode in der Softwareentwicklung Design-Hypothese Was gebasteltes, Dummies Lauffähiges Programm mit Funktionen Parallelen zur Agilen Softwareentwicklung Björn Kahlert, Prototyping, Freie Universität Berlin 3
Motivation I Es ist schwierig, beim Entwurf alles zugleich richtig zu bedenken (Prechelt, 2006) Enge Einbindung des Kunden / Nutzers Anforderungen Spezifizieren Klarifizieren Verifizieren Ein Programm zu verstehen ist schwierig (Prechelt, 2006) Herumprobieren Testen Nachdenken Machbarkeit / Umsetzung / Kostenschätzung Björn Kahlert, Prototyping, Freie Universität Berlin 4
Motivation II 5
Klassifikation 6
Klassen Geometrie (Nielsen, 1993) Genauigkeit (Benyon et al., 2005) Vorgehen Baumer et al. (1996) Björn Kahlert, Prototyping, Freie Universität Berlin 7
Klassen Geometrie (Nielsen, 1993) Genauigkeit (Benyon et al., 2005) Vorgehen Baumer et al. (1996) Björn Kahlert, Prototyping, Freie Universität Berlin 8
Geometrie Horizontal Vertikal Vollständig (Full) Szenario F 1 F 2 F 3 F 4 Björn Kahlert, Prototyping, Freie Universität Berlin 9
Klassen Geometrie (Nielsen, 1993) Genauigkeit (Benyon et al., 2005) Vorgehen Baumer et al. (1996) Björn Kahlert, Prototyping, Freie Universität Berlin 10
Geringe Genauigkeit low fidelity lo-fi Björn Kahlert, Prototyping, Freie Universität Berlin 11
Hohe Genauigkeit high fidelity hi-fi Björn Kahlert, Prototyping, Freie Universität Berlin 12
Klassen Geometrie (Nielsen, 1993) Genauigkeit (Benyon et al., 2005) Vorgehen Baumer et al. (1996) Björn Kahlert, Prototyping, Freie Universität Berlin 13
Vorgehen I Die 3 E s Explorativ Anforderungen Vielfalt Experimentell Machbarkeit Aufwand Evolutionär Iteratives Vorgehen Agilität Björn Kahlert, Verbesserung des Einladungsprozesses in Saros, Freie Universität Berlin 14
Vorgehen II Extreme Prototyping Rapid Prototyping throw-away Björn Kahlert, Verbesserung des Einladungsprozesses in Saros, Freie Universität Berlin 15
Formen 16
Formen I Pappmodelle Site / Navigation Maps Mood Boards Björn Kahlert, Verbesserung des Einladungsprozesses in Saros, Freie Universität Berlin 17
Formen II - Storyboards 18
Formen III - Paper-Prototypes 19
20
21
Formen IV - Paper-Prototypes Frühe Evaluation des UI 1 Teilnehmer 1 Durchführer 1 Computer 22
Formen V - Mock-Ups / Klick-Dummies 23
Anwendungen 24
Anwendungen I Extreme Programming Spiralmodell Risikoanalyse Evolutionäres Prototyping Scrum Produktauslieferung nach jedem Spring Evolutionäres Prototyping Björn Kahlert, Verbesserung des Einladungsprozesses in Saros, Freie Universität Berlin 25
Anwendungen II Discount Usability Engineering Anforderungen User-Tests Contextual Design Dynamic systems development method Evolutionary systems development Evolutionary rapid development Björn Kahlert, Verbesserung des Einladungsprozesses in Saros, Freie Universität Berlin 26
Werkzeuge 27
Werkzeuge Bastelbedarf Microsoft PowerPoint Corel Draw Adobe Fireworks, Dreamweaver, Flash, Catalyst Eclipse Microsoft Visual Studio... Björn Kahlert, Verbesserung des Einladungsprozesses in Saros, Freie Universität Berlin 28
29
30
Demo #1 Demo #2 Björn Kahlert, Prototyping, Freie Universität Berlin 31
Empirie 32
Empirische Untersuchungen I Naumann and Jenkins (1982) analytisch Betrieb und Wartung Kosten späteren Nutzens Betrieb und Wartung Softwareentwicklung Softwareentwicklung Kosten für Einführung Björn Kahlert, Verbesserung des Einladungsprozesses in Saros, Freie Universität Berlin 33
Empirische Untersuchungen II Gordon and Bieman (1995) 33 von 39 Studien erfolgreich 34
Empirische Untersuchungen III 35
Fazit 36
Fazit I 0:30min - mehrere Wochen User Interface Agil im Sinne des Agilen Manifests (Highsmith and Fowler, 2001) Individuen und Interaktionen mehr als Prozesse und Werkzeuge Funktionierende Software mehr als umfassende Dokumentation Zusammenarbeit mit dem Kunden mehr als Vertragsverhandlung Reagieren auf Veränderung mehr als das Befolgen eines Plans Björn Kahlert, Prototyping, Freie Universität Berlin 37
Fazit II Vorteile Frühe Design- / System-Evaluation Kundenkontakt Relevante Anforderungen Entwickler Anwender Kreativität Kosten- und Zeitersparnis Machbarkeitsstudie Nachteile Kein fixer Fertigstellungstermin Keine klassischen Meilensteine Neue Formen der Vertragsgestaltung Kosten Viel mehr Änderungen Verzerrte Aufwandsschätzung Produktive Throw-Away-Prototypen Unnötig aufwendige Prototypen Björn Kahlert, Verbesserung des Einladungsprozesses in Saros, Freie Universität Berlin 38
Wichtigste Quellen Justus D. Naumann and A Milton Jenkins. Prototyping: The New Paradigm for Systems Development. MIS Quarterly, 6(3):pp. 29 44, 1982. V. Scott Gordon and James M. Bieman. Rapid Prototyping: Lessons Learned. IEEE Softw., 12:85 95, jan 1995. Dirk Baumer, Walter R. Bischofberger, Horst Lichter, and Heinz Zullighoven. User interface prototyping-concepts, tools, and experience. In Proceedings of the 18th international conference on Software engineering, pages 532 541, Washington, DC, USA, 1996. IEEE Computer Society. David Benyon, Phil Turner, and Susan Turner. Designing interactive systems: people, activities, contexts, technologies. Addison-Wesley, Harlow, England; New York, 2005. 2004046228 David Benyon, Phil Turner, and Susan Turner. Jakob Nielsen. Paper Prototyping: Getting User Data Before You Code, apr 2003. P. J. Mayhew and P. A. Dearnley. An alternative prototyping classification. Comput. J., 30:481 484, dec 1987. Fragen? Björn Kahlert, Prototyping, Freie Universität Berlin 39