Softwareentwicklung muss, um mit den Anforderungen des Marktes Schritt zu halten, mit zunehmender Geschwindigkeit erfolgen. Der Funktionsumfang selbst einfacher Anwendungen wird immer größer, die Anwendungsentwicklung somit komplexer. Zusätzlich ändern sich auch Kundenanforderungen schneller. Methoden der agilen Softwareentwicklung sind ein viel versprechender Ansatz diesen Herausforderungen zu begegnen.
Bedienbarkeit und Benutzerfreundlichkeit ist ein Qualitätsmerkmal guter Software. In Zeiten des Internets, in der die Konkurrenz nur einen Klick entfernt ist, wird Usability immer mehr zu einem entscheidenden Faktor für den Markterfolg. Agile Methoden betrachten Usability nicht in dem Maße, wie es klassische Usability zentrierte Verfahren tun.
Inhalt dieser Studienarbeit ist das Skizzieren eines Vorgehensmodells das anwenderzentrierte Softwareentwicklung mit Methoden der agilen Softwareentwicklung verknüpft. Als Vorbilder für die anwenderzentrierten Methoden sollen unter anderem IBMs Easy und das User Centered Design der Usability Professionals Association (UPA) dienen, welche mit agilen Methoden wie Behaviour Driven Development und Extreme Programming sinnvoll verknüpft werden sollen.
Die Arbeit teilt sich in zwei Teile. Im ersten Teil soll das Vorgehensmodell Usability Driven Development entwickelt und beschrieben werden. Im zweiten Teil wird dieses in der Praxis erprobt. Als Beispielanwendung dient dazu die Webanwendung Journizer.com. Journizer.com ist eine Webapplikation, die Dienstleistungen für Reisende bietet. Dazu gehören Blogs, Fotoalben und virtuelle Landkarten.
Inhaltsverzeichnis
1 Motivation
2 Begriffserklärungen
2.1 Usability
2.2 Usability Test
2.3 Anwenderzentrierte Methoden
2.3.1 User Centered Design
2.3.2 Easy of Use
2.3.3 Human-Centered Software Engineering
2.4 Agile Methoden
2.4.1 Agile Werte
2.4.2 Das DRY-Prinzip
2.4.3 Das KISS-Prinzip
2.4.4 Refactoring
2.4.5 Extreme Programming
2.4.6 Test Driven Development
2.4.7 Behaviour Driven Development
3 Usability Driven Development
3.1 Was ist Usability Driven Development?
3.2 Usability als Entwicklungsziel
3.3 Vorraussetzungen für UDD
3.3.1 Organisatorische Vorraussetzungen
3.3.2 Technische Vorraussetzungen
3.4 Eine UDD Iteration
3.4.1 Das Planungsspiel
3.4.2 Interface Design
3.4.3 Modellierung
3.4.4 Testdesign
3.4.5 Programmierung
3.4.6 Integration
3.4.7 Deployment
3.4.8 Usability Test
3.5 Bei jeder Iteration
3.5.1 Messen
3.5.2 Dokumentation
3.6 Bei jedem Planungsspiel
3.6.1 Usability Tests
3.6.2 Der große Plan
4 UDD in der Praxis
4.1 Journizer – Organize your journey!
4.2 Usability Test auf dem World Usability Day
4.3 Kleinigkeiten mit großer Wirkung
4.3.1 Aufwandsabschätzung
4.3.2 Programmierung
4.3.3 Integration und Deployment
4.3.4 Usability Test
4.4 Schlagworte
4.4.1 Aufwandsabschätzung
4.4.2 Interface Design
4.4.3 Modellierung
4.4.4 Testdesign
4.4.5 Programmierung
4.4.6 Integration und Deployment
4.4.7 Usability Test
5 Zusammenfassung und Ausblick
Zielsetzung & Themen
Diese Studienarbeit zielt darauf ab, ein Vorgehensmodell namens "Usability Driven Development" (UDD) zu entwickeln, das anwenderzentrierte Softwareentwicklung mit agilen Methoden verknüpft, um Usability als entscheidenden Qualitätsfaktor direkt in den Entwicklungsprozess zu integrieren.
- Integration von Usability in agile Softwareentwicklungsprozesse.
- Erprobung des UDD-Modells anhand der Webapplikation Journizer.com.
- Verknüpfung von Methoden wie User Centered Design mit agilen Praktiken wie XP und BDD.
- Optimierung von Usability durch regelmäßige Testzyklen und schnelles Kundenfeedback.
- Automatisierung von Entwicklungsschritten zur Steigerung der Prozesseffizienz.
Auszug aus dem Buch
3.1 Was ist Usability Driven Development?
Usability Driven Development (UDD) ist ein Vorgehensmodell der Softwaretechnik das Usability in einen agilen Prozess einbindet. Es soll Entwicklern ein Werkzeug an die Hand geben um Anwendungen in einem iterativen Entwicklungsprozess, auf die Anforderungen von Kunden maßzuschneidern. Dabei soll das System so schnell wie möglich in Produktion gehen und in kurzen Releasezyklen weiterentwickelt werden. Das Vorbild hierfür ist Extreme Programming (vgl. Extreme Programming Kapitel 2.4.5 auf Seite 8) das um Elemente des User Centered Design (vgl. User Centered Design Kapitel 2.3.1 auf Seite 4) erweitert wurde. Die Grundprinzipien des Vorgehensmodel sind das DRY und das KISS-Prinzip, die in jeder Phase konsequent verfolgt werden. UDD wendet diese Prinzipien auf alle Aspekte eines Softwareprojektes an, von grafischen Oberflächen, über Quellcodes und Dokumentation bis zu Verträgen mit Kunden.
Zusammenfassung der Kapitel
1 Motivation: Einführung in die Bedeutung von Usability für den Markterfolg von Software und Darstellung des Ziels, UDD als Vorgehensmodell zu skizzieren.
2 Begriffserklärungen: Definition zentraler Begriffe wie Usability, Usability-Tests, anwenderzentrierte Methoden und agile Softwareentwicklungspraktiken.
3 Usability Driven Development: Vorstellung des UDD-Modells, seiner Voraussetzungen, des iterativen Ablaufs sowie der Integration von Messungen und Dokumentation.
4 UDD in der Praxis: Anwendung des UDD-Modells auf die Webapplikation Journizer.com, demonstriert an der Optimierung von Fehlermeldungen und der Implementierung einer Schlagwortfunktion.
5 Zusammenfassung und Ausblick: Evaluierung der Erreichung der Ziele des Vorgehensmodells und Diskussion potenzieller zukünftiger Entwicklungsrichtungen für das Modell.
Schlüsselwörter
Usability, Softwareentwicklung, Agile Methoden, Usability Driven Development, UDD, User Centered Design, Extreme Programming, Journizer, Test Driven Development, Behaviour Driven Development, Iteration, Storycards, Usability Test, Webapplikation, Interface Design
Häufig gestellte Fragen
Worum geht es in dieser Arbeit grundsätzlich?
Die Arbeit beschäftigt sich mit der Entwicklung eines Vorgehensmodells für die Softwaretechnik namens Usability Driven Development (UDD), das Usability als zentrales Element in agile Entwicklungsprozesse integriert.
Was sind die zentralen Themenfelder?
Die zentralen Themen umfassen agile Softwareentwicklung, anwenderzentrierte Gestaltung (User Centered Design), Usability-Tests und deren praktische Umsetzung in iterativen Projekten.
Was ist das primäre Ziel oder die Forschungsfrage?
Das Ziel ist es, ein Modell zu skizzieren, das die Flexibilität agiler Methoden mit den spezifischen Anforderungen an die Benutzerfreundlichkeit (Usability) von Software verbindet.
Welche wissenschaftliche Methode wird verwendet?
Die Arbeit basiert auf einer Literaturanalyse zu agilen und anwenderzentrierten Methoden sowie einer praktischen Erprobung des entwickelten UDD-Modells anhand der Webanwendung Journizer.com.
Was wird im Hauptteil behandelt?
Der Hauptteil gliedert sich in die theoretische Fundierung der Begriffe und Methoden sowie die detaillierte Darstellung des UDD-Prozesses und dessen praktische Anwendung im Projekt Journizer.com.
Welche Schlüsselwörter charakterisieren die Arbeit?
Die Arbeit wird durch Begriffe wie Usability Driven Development, Agilität, Benutzerfreundlichkeit, iterative Softwareentwicklung und Test Driven Development charakterisiert.
Wie trägt die Anwendung Journizer.com zur Untersuchung bei?
Journizer.com dient als konkretes Beispielanwendungsobjekt, um die theoretischen Aspekte des UDD-Modells in einer realen Entwicklungsumgebung zu validieren und zu veranschaulichen.
Welche Rolle spielen Usability-Tests innerhalb von UDD?
Usability-Tests sind ein fester Bestandteil der UDD-Iteration und werden zudem vor jedem Planungsspiel empfohlen, um die Qualität der Funktionen zu prüfen und neue Anforderungen zu identifizieren.
Was ist das wesentliche Ergebnis bezüglich der UDD-Praxis?
Das Modell erfüllt die Erwartungen, Usability erfolgreich in agile Prozesse zu integrieren, wobei besonders die Flexibilität und das schnelle Feedback durch den Kunden hervorzuheben sind.
- Quote paper
- Jens Jäger (Author), 2008, Usabilty Driven Development, Munich, GRIN Verlag, https://www.grin.com/document/91199